summaryrefslogtreecommitdiffstats
path: root/import-layers/meta-openembedded
diff options
context:
space:
mode:
Diffstat (limited to 'import-layers/meta-openembedded')
-rw-r--r--import-layers/meta-openembedded/meta-efl/COPYING.MIT17
-rw-r--r--import-layers/meta-openembedded/meta-efl/README18
-rw-r--r--import-layers/meta-openembedded/meta-efl/classes/e-base.bbclass14
-rw-r--r--import-layers/meta-openembedded/meta-efl/classes/e.bbclass22
-rw-r--r--import-layers/meta-openembedded/meta-efl/classes/efl.bbclass66
-rw-r--r--import-layers/meta-openembedded/meta-efl/conf/distro/include/efl-from-svn-recipes.inc43
-rw-r--r--import-layers/meta-openembedded/meta-efl/conf/layer.conf35
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-core/meta/meta-toolchain-efl.bb6
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-devtools/python/python-edbus.inc46
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-devtools/python/python-edbus_1.7.0.bb8
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-devtools/python/python-efl.inc71
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-devtools/python/python-efl_1.15.0.bb6
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-devtools/python/python-efl_git.bb11
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/cpu/configure.patch13
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/cpu_svn.bb12
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/diskio_svn.bb10
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-module.inc19
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-tasks/0001-dbus-stuff-Convert-to-eldbus.patch204
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-tasks_git.bb34
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm-theme-b-and-w_svn.bb37
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm-theme-illume-efenniht/LICENSE25
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm-theme-illume-efenniht_svn.bb39
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm.inc200
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm/0001-Fix-incorrect-message-type.patch28
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm/0001-configure.ac-add-foreign.patch29
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm/applications.menu105
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm/enlightenment_start.oe9
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm_0.18.8.bb17
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm_0.19.10.bb21
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm_git.bb16
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/edje-viewer_svn.bb18
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/elbow_git.bb26
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/elfe_git.bb17
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/elmdentica/configure.patch13
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/elmdentica_svn.bb23
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/emprint_svn.bb14
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/enjoy/0001-always-use-position-as-percent-and-define-a-1-second.patch133
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/enjoy/configure.patch13
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/enjoy_git.bb50
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/ephoto/configure.patch13
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/ephoto_svn.bb21
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exalt-client/configure.patch28
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exalt-client_svn.bb26
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exalt_svn.bb36
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exquisite-theme-illume.bb41
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exquisite-theme-illume/LICENSE25
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exquisite/exquisite-init40
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exquisite/splashfuncs29
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exquisite_svn.bb43
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/flame/configure.patch13
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/flame_svn.bb17
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/forecasts/configure.patch13
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/forecasts_svn.bb12
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/illume-keyboards-shr/0001-Makefile-update-KEYBOARDS_DIR-for-new-illume2.patch23
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/illume-keyboards-shr/LICENSE25
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/illume-keyboards-shr_git.bb100
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/news_svn.bb14
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/places/configure.patch13
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/places_svn.bb18
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/rage_svn.bb15
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/rain/configure.patch13
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/rain_svn.bb18
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/screenshot/screenshot-fix-mkinstalldirs.patch23
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/screenshot_svn.bb16
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/terminology.inc22
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/terminology_0.9.1.bb10
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/uptime/configure.patch13
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/uptime_svn.bb12
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/azy_svn.bb37
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/e-wm-illume-dict-pl_git.bb18
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/ecore/fix-ecore-fb-initialization.patch41
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/edb_svn.bb16
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/edbus.inc29
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/edbus_1.7.9.bb16
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/edje-fpu.inc6
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/efl.inc290
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/efl/0001-configure.ac-Don-t-check-for-Xprint-extension.patch27
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/efl/0001-evas_3d-Add-Eet.h-includes.patch51
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/efl_1.15.1.bb29
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/elementary-theme-efenniht/LICENSE25
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/elementary-theme-efenniht_svn.bb44
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/elementary.inc89
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/elementary/0001-Makefile-Use-elementary_codegen-defined-in-configure.patch29
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/elementary_1.15.1.bb18
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/emotion-generic-players.inc14
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/emotion-generic-players_1.15.0.bb14
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/engrave_svn.bb15
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/entrance/0001-pam-use-common-auth-instead-of-system-auth.patch26
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/entrance/entrance.service8
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/entrance_svn.bb43
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/epdf/0001-remove-antialias-functions-poppler-has-dropped-them-.patch132
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/epdf/0002-epdf_poppler_postscript.cpp-fix-build-for-poppler-AP.patch45
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/epdf_svn.bb35
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/evas-generic-loaders.inc73
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/evas-generic-loaders_1.15.0.bb14
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/expedite.inc25
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/expedite_1.7.9.bb28
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/expedite_git.bb31
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/imlib2_git.bb45
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/libeflvala/disable.eina.test.patch44
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/libeflvala_svn.bb23
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/libeweather_svn.bb48
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.bb19
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.inc12
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/packagegroups/packagegroup-efl-standalone-sdk-target.bb19
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/packagegroups/packagegroup-x11-illume.bb30
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl.inc69
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0001-OptionsCommon.cmake-don-t-mix-CXX_FLAGS-into-C_FLAGS.patch46
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0002-WebKitHelpers.cmake-Add-Wno-error-deprecated-declara.patch45
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0003-FEBlendNEON.h-fix-missing-semicolon.patch35
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0004-Fix-the-build-with-EFL-1.12-https-bugs.webkit.org-sh.patch146
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0005-Fix-the-build-with-cmake-3.patch104
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0006-OptionsEfl.cmake-Fix-build-with-newer-CMake-3.4.patch30
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl_1.11.0.bb12
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-multimedia/lightmediascanner/files/0001-Define-comparison_fn_t-for-non-glibc-systems.patch33
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-multimedia/lightmediascanner/files/id3-plugin-support-out-of-tree-build.patch11
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-multimedia/lightmediascanner/lightmediascanner_0.5.1.bb63
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-navigation/mcnavi/mcnavi_0.3.4.bb19
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/README12
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/Using-PKG_CHECK_MODULES-to-found-headers-and-libraries.patch42
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch11
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb28
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-support-cross-compiling.patch32
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-unionfs-Define-IOCPARM_LEN-if-undefined.patch62
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_0.26.bb19
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.0.bb19
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.4.bb64
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.7.bb69
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/0001-libau-Define-STRIP-weakly.patch39
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs_type.h419
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb17
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/dmapi/dmapi_2.2.12.bb33
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/dmapi/files/dmapi_aarch64_configure_support.patch37
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/dmapi/files/remove-install-as-user.patch205
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch12
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/udevil/files/0002-etc-Makefile.am-Use-systemd_unitdir-instead-of-libdi.patch32
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb28
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0001-Include-fcntl.h-for-O_EXCL.patch28
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0001-xfsdump-Use-c99-defined-int64_t-instead-of-__int64_t.patch28
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0002-Replace-__uint32_t-with-uint32_t.patch122
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0003-replace-use-of-SIGCLD-with-SIGCHLD.patch40
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0004-include-limit.h-for-PATH_MAX.patch29
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0005-include-sys-types.h-for-u_int32_t-in-attr-attributes.patch27
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.4.bb38
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.7.bb44
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-xfs-remove-double-underscore-integer-types.patch2082
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-xfsprogs-remove-double-underscore-integer-types.patch3800
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/link_needed_libs.patch82
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/remove_flags_from_build_flags.patch13
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/xfsprogs-4.12.0-fix_musl.patch117
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.10.0.bb57
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.12.0.bb65
-rw-r--r--import-layers/meta-openembedded/meta-gnome/README10
-rw-r--r--import-layers/meta-openembedded/meta-gnome/conf/layer.conf2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-apps/cheese/cheese_2.30.1.bb26
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-apps/epdfview/epdfview/browser_command.patch17
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-apps/epdfview/epdfview/fix-format.patch19
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-apps/epdfview/epdfview/glib-single-include.patch17
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-apps/epdfview/epdfview/swap-colors.patch43
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-apps/epdfview/epdfview_0.1.8.bb25
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-apps/gnome-mplayer/gmtk_1.0.5.bb18
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-apps/gnome-mplayer/gnome-mplayer_1.0.5.bb32
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-apps/pinpoint/pinpoint_git.bb5
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.4.4.bb4
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.27.0.bb38
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.28.1.bb38
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-extended/gtk-theme-torturer/gtk-theme-torturer_git.bb25
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword/0002-Bug-13754-Fix-build-on-gcc-6-default-to-C-11.patch74
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword_3.0.1.bb142
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb141
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0001-imapx-Fix-signature-for-imapx_tokenise_struct.patch33
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_git.bb20
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.24.0.bb4
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gcalctool/gcalctool_5.32.0.bb20
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/0001-Remove-user-switch-applet.patch2281
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/0002-gdm-user-manager.c-avoid-displaying-system-users-in-.patch34
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/sysrooted-pkg-config.patch37
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_2.32.2.bb108
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_2.32.0.bb21
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_2.32.1.bb35
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_2.32.1.bb28
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/0001-Add-support-for-DeviceAutomountHint.patch74
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/0002-Require-libnotify-0.6.1.patch49
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/disable-scrollkeeper.patch27
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/fix-dbus-interfaces.patch34
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/sysrooted-pkg-config.patch37
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_2.32.0.bb45
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/musl.patch17
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_2.32.1.bb15
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus_2.30.5.bb30
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/0001-Add-gnome-doc-utils.make.patch730
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/0001-Fix-build-with-gcc-5.patch35
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/as-needed.patch36
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/idl-sysroot.patch22
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel3_3.0.2.bb51
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_2.32.1.bb48
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager-2.32.0/0001-Makefile.am-don-t-build-help-man.patch37
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager-2.32.0/sysrooted-pkg-config.patch35
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager_2.32.0.bb54
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session/use_G_GINT64_FORMAT.patch61
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_2.32.1.bb32
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/files/0001-Require-libnotify-0.6.0.patch81
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_2.32.1.bb46
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/files/0001-Fix-glib-includes.patch101
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/files/0002-src-procman.cpp-include-main-gtkmm.h.patch49
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/files/Remove-pkg-config-check-for-gnome-icon-theme.patch30
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_2.28.2.bb35
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/gnome-terminal/0001-Makefile.am-do-not-build-help.patch28
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/gnome-terminal_2.30.2.bb22
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomecups_0.2.3.bb25
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomeprint/0001-configure-use-pkgconfig-for-freetype.patch37
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomeprint/bison3-support.patch30
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomeprint/fix.includes.patch11
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomeprint/freetype.patch38
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomeprint_2.18.8.bb28
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnumeric/gnumeric/0001-configure.in-drop-introspection-macros-replace-them-.patch84
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnumeric/gnumeric/do-not-use-srcdir.patch15
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnumeric/gnumeric_1.12.0.bb49
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gthumb/files/0001-Drop-help-directory-from-build.patch25
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gthumb/files/parallel.patch158
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb_2.12.4.bb35
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.28.3.bb60
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.32.1.bb66
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gweather/libgweather3_3.0.2.bb28
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gweather/libgweather_2.30.3.bb24
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/Makefile.am.patch17
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/aarch64/art_config.h10
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/aarch64be/art_config.h10
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/aarch64be_32/art_config.h10
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/arm/art_config.h10
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/armeb/art_config.h10
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/i386/art_config.h10
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/i586/art_config.h10
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/i686/art_config.h10
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/mips/art_config.h10
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/mips64/art_config.h10
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/mips64el/art_config.h10
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/mipsel/art_config.h10
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/powerpc/art_config.h10
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/powerpc64/art_config.h10
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/x86_64/art_config.h10
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl_2.3.21.bb28
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_2.32.0.bb20
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.22.0.bb17
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libidl/libidl.inc1
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.5.bb22
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus/idl-sysroot.patch7
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus/no-G_DISABLE_DEPRECATED.patch44
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus3_3.2.1.bb54
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_2.32.2.bb43
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/orbit2/orbit2_2.14.19.bb1
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/contacts.inc28
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/contacts/contacts-conditionally-install-schema.patch37
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/contacts/make-382.patch16
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/contacts_0.9.bb20
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/contacts_git.bb19
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/tasks.inc10
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/tasks_0.19.bb16
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/tasks_git.bb12
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/system-tools/system-tools-backends-2.10.2/add-angstrom-distro.patch41
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/system-tools/system-tools-backends_2.10.2.bb54
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/zenity/files/0001-Makefile.am-don-t-build-help.patch39
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_2.32.1.bb21
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-support/florence/files/0001-Fix-glib-includes.patch33
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-support/florence/files/fix-no-atspi-compile.patch30
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-support/florence/florence_0.5.4.bb20
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-support/florence/florence_0.6.3.bb19
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-support/goffice/goffice/0001-configure.ac-fix-paths-to-introspection-tools.patch41
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-support/goffice/goffice_0.10.1.bb51
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-support/keybinder/keybinder_3.0.bb26
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch67
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-support/onboard/onboard_1.3.0.bb25
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-support/onboard/onboard_1.4.1.bb27
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/tracker-0.14.2/enable-sqlite-crosscompile.patch13
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/tracker-0.14.2/fix-removable-media-detection.patch30
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/tracker-0.14.2/giflib5-support.patch126
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/tracker_0.14.2.bb88
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-Makefile.am-Link-with-libm-for-powl-API.patch26
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-fix-compile-failure-against-musl-C-library.patch27
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-formatting-issues.patch34
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-support/usermode/usermode_1.111.bb29
-rw-r--r--import-layers/meta-openembedded/meta-gpe/README17
-rw-r--r--import-layers/meta-openembedded/meta-gpe/conf/layer.conf15
-rw-r--r--import-layers/meta-openembedded/meta-gpe/recipes-graphics/gpe-scap/gpe-scap/0001-Fix-the-ordering-of-LDADD-options-to-fix-a-compilati.patch28
-rw-r--r--import-layers/meta-openembedded/meta-gpe/recipes-graphics/gpe-scap/gpe-scap/use.libsoup-2.4.patch42
-rw-r--r--import-layers/meta-openembedded/meta-gpe/recipes-graphics/gpe-scap/gpe-scap_1.4.bb24
-rw-r--r--import-layers/meta-openembedded/meta-gpe/recipes-graphics/libgpewidget/libgpewidget/glib-2.32.patch11
-rw-r--r--import-layers/meta-openembedded/meta-gpe/recipes-graphics/libgpewidget/libgpewidget/pkgconfig.patch11
-rw-r--r--import-layers/meta-openembedded/meta-gpe/recipes-graphics/libgpewidget/libgpewidget_0.117.bb25
-rw-r--r--import-layers/meta-openembedded/meta-gpe/recipes-graphics/minilite/minilite/makefile-fix.patch11
-rw-r--r--import-layers/meta-openembedded/meta-gpe/recipes-graphics/minilite/minilite_0.50.bb18
-rw-r--r--import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader-0.12.10/Makefile.patch22
-rw-r--r--import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader-0.12.10/fix-cflags-fribidi.patch11
-rw-r--r--import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader-0.12.10/fix-return-code-gcc6.patch11
-rw-r--r--import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader-0.12.10/gcc45.patch20
-rw-r--r--import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader_0.12.10.bb46
-rw-r--r--import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader_git.bb45
-rw-r--r--import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/files/0001-Fix-installation-of-the-icons-when-RESOLUTION-is-set.patch40
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/README8
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/classes/klibc.bbclass15
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-image.bb2
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-bsp/initrdscripts/initramfs-debug_1.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/files/0001-kexecboot-fix-build-when-S-B.patch61
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/files/0002-kexecboot-fix-configure-warnings.patch33
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/files/0003-kexecboot-do-not-hardcode-MOUNTPOINT.patch97
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/files/0004-kexecboot.c-workaround-for-absolute-kernel-and-initr.patch135
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/files/0005-rgb.h-fix-build-with-gcc5.patch35
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/kexecboot-cfg_0.2.bb2
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/kexecboot_0.6.bb75
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/kexecboot_git.bb64
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut/0001-util.h-include-sys-reg.h-when-libc-glibc.patch33
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut_git.bb20
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby/0001-Add-another-variable-LIBS-to-provides-libraries-from.patch26
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby/0002-include-paths.h-for-_PATH_MOUNTED.patch25
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb9
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch30
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch30
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-arm-Do-not-set-a-fallback-march-and-mtune.patch33
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc10
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0001-Makefile-only-build-ubi-utils.patch25
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0005-common.h-klibc-fixes-2.patch22
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb51
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.2.bb48
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/README12
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/classes/juce.bbclass3
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/files/move_vapigen.patch102
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.14.8.bb9
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.0.2.bb9
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.10.bb7
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.6.bb8
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-dlna_0.10.5.bb19
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-dlna_0.9.4.bb17
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_0.2.2.bb16
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_0.2.4.bb14
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.8.10.bb14
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.8.13.bb11
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.20.14.bb8
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.0.2.bb8
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp/CVE-2016-8863.patch57
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp/avoid-redefining-strnlen-and-strndup.patch47
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp/sepbuildfix.patch60
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp1.6/sepbuildfix.patch34
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp1.6_1.6.21.bb20
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.6.19.bb20
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_git.bb20
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/miniupnpd/miniupnpd_2.0.bb38
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.28.2.bb59
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.34.0.bb67
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-dvb/dvb-apps/dvb-apps_1.1.1.bb136
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Fix-checks-for-sse2-mmx.patch40
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Makefile-Ignore-warning-about-wrong-includes.patch31
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-disable-varargs-warning-on-clang.patch32
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-dvr-Use-labs-instead-of-abs.patch37
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-hdhomerun-Override-forced-overrdiing-og-CC-STRIP-and.patch40
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb43
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-addon-pvr-hts/0001-Update-to-p8-platform.patch427
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-addon-pvr-hts_git.bb57
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-platform/0001-fix-cross-compile-badness.patch40
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-platform/kodi-platform-02_no-multi-lib.patch12
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-platform_git.bb39
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-startup.bb24
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb19
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb12
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mkv/mkvtoolnix/mkvtoolnix_git.bb57
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps_0.9.24.bb1
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/coriander/coriander/cross-compile.patch17
-rwxr-xr-ximport-layers/meta-openembedded/meta-multimedia/recipes-multimedia/coriander/coriander_2.0.2.bb17
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-server_0.6.0.bb4
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/media-service-upnp_0.5.0.bb24
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/renderer-service-upnp_0.3.0.bb29
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb26
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.29.bb27
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/files/0001-frontend-Fix-format-string-security-error.patch26
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/files/0001-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch (renamed from import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/files/0002-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/files/address-gcc-6-narrowing-errors.patch47
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/files/build-fix.patch332
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/files/gerbera.service13
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_git.bb32
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-aacdec-check-channel-count.patch34
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-alac-fix-nb_samples-order-case.patch30
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-alsdec-check-block-length.patch61
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-atrac3dec-Check-coding-mode-against-channels.patch37
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-dsputil-fix-signedness-in-sizeof-comparissio.patch40
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-msrle-use-av_image_get_linesize-to-calculate.patch50
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-parser-reset-indexes-on-realloc-failure.patch50
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-rpza-Perform-pointer-advance-and-checks-befo.patch81
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-smc-fix-off-by-1-error.patch32
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avformat-mpegtsenc-Check-data-array-size-in-mpegts_w.patch69
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-eamad-fix-out-of-array-accesses.patch29
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-error-concealment-initialize-block-index.patch29
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-error_concealment-Check-that-the-picture-is-not-in-a.patch37
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-ffserver-set-oformat.patch36
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-h264-correct-ref-count-check-and-limit-fix-out-of-ar.patch29
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-h264-set-parameters-from-SPS-whenever-it-changes.patch145
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-h264-skip-error-concealment-when-SPS-and-slices-are-.patch33
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-h264_sei-Fix-infinite-loop.patch39
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-huffyuvdec-Check-init_vlc-return-codes.patch87
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-huffyuvdec-Skip-len-0-cases.patch61
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-lavf-compute-probe-buffer-size-more-reliably.patch45
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-mjpegdec-check-SE.patch32
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-pgssubdec-check-RLE-size-before-copying.-Fix-out-of-.patch34
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-pngdec-filter-dont-access-out-of-array-elements-at-t.patch44
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-qdm2-check-array-index-before-use-fix-out-of-array-a.patch30
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-qdm2dec-fix-buffer-overflow.patch58
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-roqvideodec-check-dimensions-validity.patch36
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-smackerdec-Check-that-the-last-indexes-are-within-th.patch32
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-vp3-Copy-all-3-frames-for-thread-updates.patch32
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-vp3-fix-oob-read-for-negative-tokens-and-memleaks-on.patch183
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-vqavideo-check-chunk-sizes-before-reading-chunks.patch51
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0002-avcodec-mjpegdec-check-bits-per-pixel-for-changes-si.patch68
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/configure-fix.patch22
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-CVE-2013-0855.patch100
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-CVE-2013-3674.patch26
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2011-4352.patch64
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-7933.patch38
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8542.patch38
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8543.patch35
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8544.patch56
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8545.patch36
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8546.patch35
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8547.patch59
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-9318.patch37
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-9603.patch41
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/h264_qpel_mmx.patch57
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/libav-9.patch9304
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/libav_e500mc.patch21
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/libav_e5500.patch19
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg_0.10.13.bb103
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-meta-base_0.10.bb2
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl/rpi-egl-gles2-dep.patch22
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl_0.10.3.bb8
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer/files/display.patch60
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer/gst123_0.3.1.bb17
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer.inc12
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.21.bb5
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb3
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/streamripper/streamripper_1.64.6.bb3
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc.inc3
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0001-build-Protect-against-unsupported-CPU-types.patch29
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0002-build-Add-ARM-64bit-support.patch30
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0003-build-fix-architecture-detection.patch96
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0004-typedefs.h-add-support-for-64-bit-and-big-endian-MIP.patch41
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0005-typedefs.h-add-support-for-PowerPC.patch28
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0006-common_audio-implement-endianness-conversion-in-wav-.patch116
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb28
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-support/crossguid/crossguid.bb25
-rw-r--r--import-layers/meta-openembedded/meta-networking/MAINTAINERS6
-rw-r--r--import-layers/meta-openembedded/meta-networking/conf/distro/include/meta_networking_security_flags.inc10
-rw-r--r--import-layers/meta-openembedded/meta-networking/conf/layer.conf3
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/daq/daq_2.0.6.bb4
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-rlm_mschap-Use-includedir-instead-of-hardcoding-usr-.patch28
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius110
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-avoid-searching-host-dirs.patch197
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-add-option-for-libcap.patch70
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-allow-cross-compilation.patch31
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-enble-user-in-conf.patch28
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-error-for-expansion-of-macro.patch61
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-issues-related-to-m4-include-path.patch236
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-quoting-for-BUILT_WITH.patch55
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-libtool-detection.patch89
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-libtool-do-not-use-jlibtool.patch160
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-rlm_python-add-PY_INC_DIR.patch33
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/radiusd-volatiles.conf2
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/radiusd.service16
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/volatiles.58_radiusd3
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.15.bb222
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.12.bb1
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.0.bb37
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.8.bb (renamed from import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.8.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-adjust-net-headers-for-musl-compatibility.patch (renamed from import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0001-adjust-net-headers-for-musl-compatibility.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-check-for-strndupa-before-using-it.patch (renamed from import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0001-check-for-strndupa-before-using-it.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-dns-resolved-add-systemd-resolved-backend.patch621
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-dns-resolved-also-check-for-etc-resolv-conf.systemd.patch29
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-don-t-try-to-run-sbin-dhclient-to-get-the-version-nu.patch (renamed from import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0001-don-t-try-to-run-sbin-dhclient-to-get-the-version-nu.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-systemd-xlocale.h-is-dropped-by-newer-glibc.patch29
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Fix-nm-version-macro-includes.patch (renamed from import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-Fix-nm-version-macro-includes.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-socket-util.h-Include-linux-sockios.h-on-musl.patch (renamed from import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-socket-util.h-Include-linux-sockios.h-on-musl.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-user-format-string-in-g_dbus_message_new_method_erro.patch67
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-Define-ETH_ALEN.patch (renamed from import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0003-Define-ETH_ALEN.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0004-Define-missing-features-to-cater-for-musl.patch (renamed from import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0004-Define-missing-features-to-cater-for-musl.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0005-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch (renamed from import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0005-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.4.4.bb136
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_git.bb4
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/python-networkmanager/python-networkmanager_2.0.1.bb13
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdate/rdate/0001-rdate-define-logwtmp-on-libc-glibc.patch40
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdate/rdate/0001-src-rdate-Fix-printf-format-errors.patch33
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdate/rdate_1.5.bb21
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-bb-build.patch75
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-bison.patch147
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-cleanup.patch2087
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-fix-msgsndnotify-loop.patch37
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-hardlink.patch25
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-lfs.patch142
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-links.patch79
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-linux.patch28
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-makefile-add-ldflags.patch23
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-maxargs.patch16
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-mkstemp.patch28
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-oldpath.patch59
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-ssh.patch14
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-stat64.patch85
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-svr4.patch15
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-varargs.patch16
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist_6.1.5.bb37
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/relayd/relayd/0001-rtnl_flush-Error-on-failed-write.patch34
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/relayd/relayd_git.bb6
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/00-fix-typos-in-man-pages.patch108
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.6.2.bb254
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.6.7.bb256
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/fix-host-contamination-when-enable-static-daq.patch21
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.7.5.bb5
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/vlan/vlan_1.9.bb1
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0009-reduce-lifetime-value.patch42
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb1
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/files/0001-fix-no-rule-to-make-cyassl-options.h.patch27
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.12.0.bb27
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.9.0.bb23
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-modules-lookup_multi.c-Replace-__S_IEXEC-with-S_IEXE.patch29
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.2.bb3
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.26.bb1
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb41
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy/0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch25
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.1.bb5
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/0001-Respect-flags-from-env.patch56
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/0001-read-returns-ssize_t.patch31
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/0001-usl_timer-Check-for-return-value-of-write-API.patch28
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/0002-Mark-first-element-of-a-string-as-null.patch31
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/0002-link-with-libtirpc.patch30
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/0003-cli-Mark-return-of-strtol-as-long-int.patch58
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/0003-musl-fixes.patch283
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/always_syslog.patch22
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/ippool.service19
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/ippool_init.d.patch65
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/ippool_parallel_make_and_pic.patch89
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/ippool_usl_timer.patch49
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/makefile-add-ldflags.patch21
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/runtest.sh26
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool_1.3.bb113
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_1.3.5.bb49
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/lldpd/files/src-daemon-lldpd.service.in-Use-fixed-path-for-mkdir.patch32
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_0.9.6.bb65
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_0.9.8.bb65
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp/unistd.patch32
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp_3.2.5.bb27
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp_3.2.6.bb35
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/0001-Fix-build-failures-with-gcc7.patch49
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/0001-ipmidirect-Replace-__STRING.patch31
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/0001-plugins-Check-for-PTHREAD_RECURSIVE_MUTEX_INITIALIZE.patch47
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/c++11.patch12
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/clang-c++11.patch1288
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/fix-narrowing-warning.patch20
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/openhpi_3.6.1.bb20
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Remove-unused-variables.patch43
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-immpbe_dump.cc-Use-sys-wait.h-instead-of-wait.h.patch34
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-src-Add-missing-header-limits.h-for-_POSIX_HOST_NAME.patch122
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.17.07.bb67
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.2.0.bb66
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/files/0001-Check-for-glibc-before-setting-CANT_USE_SEND_RECV_MS.patch26
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/files/0001-makedefs-Use-native-compiler-to-build-makedefs.test.patch64
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/files/icu-config.patch21
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/files/postfix-install.patch26
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc8
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.1.1.bb4
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.2.2.bb18
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/proftpd/files/build_fixup.patch54
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.5b.bb137
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.6.bb138
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd_2.14.bb5
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd_2.17.bb5
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-configure-Check-for-Wno-error-format-truncation-comp.patch116
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-tools.cc-fixed-unused-result-warning.patch36
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/gcc7-fixes.patch17
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.25.bb106
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.26.bb114
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/files/0001-__progname-is-provided-by-libc.patch62
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/files/tftpd-hpa.service10
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/files/tftpd-hpa.socket8
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb14
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/vblade/files/vblade.conf2
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/vblade/files/vblade.init193
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/vblade/files/vblade.service11
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/vblade/files/volatiles.99_vblade1
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/vblade/vblade_20.bb22
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/vblade/vblade_22.bb51
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb3
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl/run-ptest (renamed from import-layers/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/run-ptest)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch (renamed from import-layers/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl_0.22.bb (renamed from import-layers/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl_0.22.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-devtools/python/python-ldap_2.4.41.bb29
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-extended/corosync/corosync/0001-Include-fcntl.h-for-F_-and-O_-defines.patch (renamed from import-layers/meta-openembedded/meta-oe/recipes-extended/corosync/corosync/0001-Include-fcntl.h-for-F_-and-O_-defines.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_2.4.2.bb80
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/respect-ldflags-also-from-bin_ldflags.patch (renamed from import-layers/meta-openembedded/meta-oe/recipes-extended/dlm/dlm/respect-ldflags-also-from-bin_ldflags.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-extended/dlm/dlm_4.0.2.bb (renamed from import-layers/meta-openembedded/meta-oe/recipes-extended/dlm/dlm_4.0.2.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/files/0001-kernel-event-netlink_ack-now-requires-4-arguments.patch40
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/iscsitarget_1.4.20.3+svn502.bb4
-rwxr-xr-ximport-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables-save43
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables_2.0.10-4.bb16
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/libmnl/libmnl_1.0.4.bb13
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/snprintf_shadow.patch224
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/files/0001-testmmap-fix-compile-issue-with-gcc-5.x.patch33
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/files/makefile_fixup.patch97
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap-modules_git.bb92
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap.inc17
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap_git.bb37
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170810.bb (renamed from import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170421.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170421.bb27
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170810.bb27
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc5
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb2
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb1
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/accel-ppp/accel-ppp_git.bb45
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/mdns/files/build.patch167
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/mdns/files/mdns.service15
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb89
-rwxr-xr-ximport-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/files/init6
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch45
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-fix-for-disable-des.patch32
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.3.bb5
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/0001-l2tp_api.c-include-rpc-clnt.h-for-resultproc_t.patch31
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tpd-initscript-fix-sysconfig.patch35
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tpd-initscript-fix-warning.patch32
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tpd-initscript-fix.patch49
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tpd.service17
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb41
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux/0001-include-missing-sys-types.h.patch28
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux/options.pptp (renamed from import-layers/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux-1.8.0/options.pptp)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.8.0.bb32
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.9.0.bb31
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga.inc24
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga_1.1.0.bb6
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga_1.2.1.bb4
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc5
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd/fix-inline-functions-errors-with-gcc-5.x.patch134
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_git.bb4
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables_git.bb3
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares/0001-configure.ac-don-t-override-passed-cflags.patch26
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares/cmake-install-libcares.pc.patch105
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares_1.12.0.bb15
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares_1.13.0.bb24
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_git.bb5
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/curlpp/curlpp/example21.cpp-remove-deprecated-code.patch47
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq.inc4
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq/lua.patch19
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.76.bb8
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.78.bb8
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot/0001-doveadm-Fix-parallel-build.patch38
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.29.bb5
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/drbd/drbd/check_existence_of_modules_before_installing.patch24
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/drbd/drbd_9.0.8-1.bb22
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.3.26.bb1
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate-2.4.0/GeoIP.conf (renamed from import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate-2.2.2/GeoIP.conf)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate-2.4.0/geoipupdate.cron (renamed from import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate-2.2.2/geoipupdate.cron)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate_2.2.2.bb30
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate_2.4.0.bb33
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ifenslave/ifenslave_2.7.bb26
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ifenslave/ifenslave_2.9.bb27
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2016-10396.patch207
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb1
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm_1.26.bb1
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/libesmtp/libesmtp/snprintf.patch19
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/libesmtp/libesmtp_1.0.6.bb4
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/tdb-Add-configure-options-for-packages.patch43
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.12.bb43
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.14.bb44
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/do-not-check-xsltproc-manpages.patch16
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.4.36.bb52
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.5.0.bb52
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6/0001-autogen-Do-not-symlink-gettext.h-from-build-host.patch34
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6/0001-replace-VLAIS-with-malloc-free-pair.patch124
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6/0002-Do-not-undef-_GNU_SOURCE.patch30
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6_1.0.2.bb58
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6_git.bb72
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/netcf/netcf_0.2.8.bb71
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/netcf/netcf_git.bb69
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/netperf/netperf_2.6.0.bb66
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/netperf/netperf_git.bb66
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools/0001-lib-yp_all_host.c-Fix-build-with-gcc-7.patch33
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools/0001-ypbind3_binding_dup.c-Include-string.h-for-strdup-de.patch28
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools/0002-yp_dump_bindings.c-Include-string.h-for-memset.patch30
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools/alignment-cheat.patch52
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools/yp-tools-ipv4-ipv6-Provide-an-in-place-version-of-mapv4v6addr.patch110
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools_3.3.bb48
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools_4.2.2.bb46
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt/0001-dns_hosts-Fix-build-with-musl.patch67
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_1.38.bb58
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.2.bb53
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.4.bb62
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop/0001-nDPI-Include-sys-types.h.patch26
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop/ntop.service15
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop/ntop_configure_in.patch164
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop/ntop_configure_in_net_snmp_config_exist.patch21
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop/ntop_init.patch228
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop/ntop_webInterface.patch19
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop/use-static-inline.patch32
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop_5.0.1.bb137
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/open-isns/open-isns/0001-util.h-endian.h-is-available-on-musl-on-linux.patch38
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/open-isns/open-isns_0.97.bb6
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/0001-lanserv-Rename-struct-parameter-printf-for-namespace.patch618
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/do-not-install-pyc-and-pyo.patch (renamed from import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/do-not-install-pyc-and-pyo.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/fix-symlink-install-error-in-cmdlang.patch (renamed from import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/fix-symlink-install-error-in-cmdlang.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/include_sys_types.patch (renamed from import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/include_sys_types.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi-init-fix-the-arguments.patch (renamed from import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/ipmi-init-fix-the-arguments.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi.service (renamed from import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/ipmi.service)0
-rwxr-xr-ximport-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-helper (renamed from import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/openipmi-helper)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-no-openipmigui-man.patch (renamed from import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/openipmi-no-openipmigui-man.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-remove-host-path-from-la_LDFLAGS.patch50
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.24.bb110
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.3.9.bb67
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.4.3.bb67
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/pimd/pimd/0001-configure-Dont-use-uname-to-determine-target-OS.patch28
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/pimd/pimd_2.1.8.bb19
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/pimd/pimd_2.3.2.bb20
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/files/0001-memory.h-Include-stdint.h-for-uintptr_t.patch26
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.5.1.bb130
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.5.3.bb131
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel/fix-openssl-no-des.patch54
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.35.bb5
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/tcpdump-configure-dlpi.patch31
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.2.bb1
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.1.2.bb19
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.2.6.bb19
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.2.10.bb71
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.2.9.bb71
-rw-r--r--import-layers/meta-openembedded/meta-oe/README8
-rw-r--r--import-layers/meta-openembedded/meta-oe/classes/dos2unix.bbclass14
-rw-r--r--import-layers/meta-openembedded/meta-oe/classes/meson.bbclass16
-rw-r--r--import-layers/meta-openembedded/meta-oe/conf/distro/include/meta_oe_security_flags.inc28
-rw-r--r--import-layers/meta-openembedded/meta-oe/conf/layer.conf8
-rw-r--r--import-layers/meta-openembedded/meta-oe/licenses/FLTK530
-rw-r--r--import-layers/meta-openembedded/meta-oe/licenses/Intel21
-rw-r--r--import-layers/meta-openembedded/meta-oe/licenses/UFL97
-rw-r--r--import-layers/meta-openembedded/meta-oe/licenses/X1123
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/dhrystone/dhrystone-2.1/dhrystone.patch81
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/dhrystone/dhrystone_2.1.bb26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0001-Fix-clang-warnings.patch31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0001-Fix-wl_surface-should-be-destoryed-after-the-wl_wind.patch34
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb23
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.2.bb34
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/fix-lib64-can-not-be-shiped-in-64bit-target.patch75
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb3
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_6.6.1.bb38
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_7.4.0.bb36
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/pmbw/pmbw_git.bb30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/tiobench/tiobench-0.3.3/0001-Specify-printf-formats.patch49
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/tiobench/tiobench_0.3.3.bb1
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez-hcidump-2.5/obsolete_automake_macros.patch14
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez-hcidump_2.5.bb24
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4-4.101/bluetooth.conf16
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4-4.101/fix-udev-paths.patch37
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4-4.101/fix_encrypt_collision.patch110
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4-4.101/install-test-script.patch26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4-4.101/network-fix-network-Connect-method-parameters.patch30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4-4.101/obsolete_automake_macros.patch14
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4-4.101/sbc_mmx.patch24
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4.inc47
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4_4.101.bb50
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/gst-plugin-bluetooth_4.101.bb41
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/ell/ell_git.bb17
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/gnokii/gnokii_0.6.31.bb36
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.0.1.bb12
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.0.4.bb18
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/CVE-2017-11462.patch419
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb1
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.5.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/libndp/libndp_1.6.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0003-include-missing-time.h-for-time_t.patch26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0004-Adjust-include-header-sequence-to-avoid-duplicate-de.patch36
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.6.bb21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.8.bb24
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosquitto/files/build.patch94
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosquitto/files/mosquitto.init89
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosquitto/files/mosquitto.service15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosquitto/mosquitto_1.4.14.bb80
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager_1.4.4.bb128
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb1
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/packagegroups/packagegroup-tools-bluetooth.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/files/makefile.patch25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.2.0.bb35
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/phonet-utils/phonet-utils/0001-Include-limits.h-for-PATH_MAX.patch25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/rtorrent/rtorrent_git.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_2.9.1.bb15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_3.4.bb15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/soft66/files/fix-ar.patch13
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/soft66/soft66_git.bb20
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/libtelepathy/doublefix.patch18
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/libtelepathy/prefer_python_2.5.patch15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/libtelepathy_0.3.3.bb26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control/tmc-Makefile-fix-race.patch76
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control_5.16.1.bb53
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.9.3.bb5
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/umip_1.0.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_3.0.8.bb75
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_3.0.9.bb75
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice-3.5.1/0002-Modify-Makefile-for-cross-compile.patch292
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice_3.5.1.bb87
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/dbus/dbus-daemon-proxy/0001-dbus-daemon-proxy-Return-DBUS_HANDLER_RESULT_NOT_YET.patch30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/dbus/dbus-daemon-proxy_git.bb15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/ell/ell_git.bb17
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/fakeroot/fakeroot-native_1.18.4.bb15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/fakeroot/fakeroot_1.18.4.bb30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.50.1.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/llvm/llvm-common.bb22
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/llvm/llvm-common/llvm-config11
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/llvm/llvm.inc162
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/llvm/llvm3.3/Remove-error-output-from-configure-if-CFLAGS-is-set-.patch52
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/llvm/llvm3.3/arm_fenv_uclibc.patch14
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/llvm/llvm3.3_3.3.bb22
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-cli-tools.bb49
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/proxy-libintl/proxy-libintl-20100902/soname.patch23
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.7.3.bb74
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox_git.bb75
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/.gitignore2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/0001-add-base64-implementation.patch351
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/0002-adb-Musl-fixes.patch134
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/adbd.mk1
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb20
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive.inc15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive/delete-some-m4-files.patch23
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive_2016.09.16.bb17
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Replace-use-of-struct-ucontext-with-ucontext_t.patch242
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Turn-off-sign-compare-for-musl-libc.patch41
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-lss-Match-syscalls-to-match-musl.patch45
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-Avoid-using-basename.patch29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch60
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-sys-signal.h-is-a-nonportable-alias-for-signal.h.patch26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0003-Dont-include-stab.h.patch88
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0003-Fix-conflict-between-musl-libc-dirent.h-and-lss.patch35
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0004-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch43
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0005-Import-necessary-definitions-from-stab.h.patch199
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0005-md2core-Replace-basename.patch38
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mcontext.patch77
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mips_asm_sgidefs.patch27
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.6.1.bb26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/0001-ide-use-node-as-interpreter-for-sketches-instead-of-.patch29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9_0.6.bb118
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.67.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/Stop-using-relative-path-for-scsilib.c-link.patch29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/Use-tcsh-shell.patch92
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/dt-default-source-define.patch18
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/dt-wformat-security.patch48
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt_18.32.bb49
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-correct-version-for-so-lib.patch26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-flatbuffers-Move-EndianSwap-template-to-flatbuffers-.patch113
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0002-use-__builtin_bswap16-when-building-with-clang.patch30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.7.1.bb37
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.30.bb263
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.31.bb268
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.30.1.bb16
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.31.bb16
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade/remove-yelp-help-rules-var.patch39
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade3/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch (renamed from import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/files/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade3/0002-fix-gcc-6-build.patch (renamed from import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/files/0002-fix-gcc-6-build.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.20.0.bb25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf-ng/0001-Fix-printd-formatting-strings.patch54
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf-ng/ncurses-config.patch81
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf-ng_1.1.4.bb42
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf/0001-src-Fix-error-in-cross-compile.patch138
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf/format_string.patch31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf/ldopts.patch35
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf_3.0.0.bb42
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/json-spirit/json-spirit/0001-Link-to-libatomic.patch64
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/json-spirit/json-spirit_4.08.bb3
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.8.0.bb21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.8.3.bb21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/files/0001-Makefile-ensure-frontends-exits-before-writing-into-.patch32
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/files/0001-Switch-utils-kconfig-diff-to-use-Python-3.patch26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/kconfig-frontends_4.11.0.1.bb41
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Add-CMake-build-files.patch2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Check-for-__powerpc__-define.patch28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-ClientStub.hpp-fix-a-clang-compiling-issue.patch35
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/aarch64-support.patch16
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/mips-support.patch19
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb13
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/libsombok3/libsombok3/0001-configure.ac-fix-cross-compiling-issue.patch31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/libsombok3/libsombok3_2.4.0.bb25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt/ltp-Do-not-link-against-libfl.patch31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_1.0.0.bb97
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-mips-plt.c-Delete-include-error.h.patch27
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb1
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.3.bb59
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.4.bb59
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit/clang.patch19
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb91
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb92
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson/native_bindir.patch41
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson_0.37.1.bb20
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson_0.40.1.bb20
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.2.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c/0001-Comment-intentional-fallthrough-in-case-statements.patch39
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_2.1.1.bb22
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_2.1.5.bb21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/ninja/ninja_1.7.2.bb30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_4.8.2.bb88
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_8.4.0.bb89
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Add-fallthrough-comments.patch155
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0002-Workaround-new-warnings-generated-by-GCC-7.patch53
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0003-armv7a-Add-missing-break-to-fix-fallthrough-warning.patch27
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0004-Fix-overflow-warning.patch30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0005-command-Move-the-fall-through-comment-to-right-scope.patch27
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb49
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/0001-Don-t-call-deprecated-glib-functions-and-use-the-new.patch166
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/configurefix.patch13
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/opkgfixes.patch422
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb65
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_0.94.bb1
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.31/0001-Add-lpthread-to-link.patch (renamed from import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.26/0001-Add-lpthread-to-link.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.31/change-AC_TRY_RUN-to-AC_TRY_LINK.patch (renamed from import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.26/change-AC_TRY_RUN-to-AC_TRY_LINK.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.9/0001-Specify-tag-with-libtool.patch (renamed from import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.7/0001-Specify-tag-with-libtool.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.9/CVE-2017-16642.patch5241
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.9/change-AC_TRY_RUN-to-AC_TRY_LINK.patch (renamed from import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.7/change-AC_TRY_RUN-to-AC_TRY_LINK.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php.inc1
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.26.bb10
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.31.bb10
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_7.1.7.bb16
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_7.1.9.bb17
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/pm-qa/pm-qa_git.bb5
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/pmtools/pmtools_git.bb5
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.2.1.bb28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.0.bb31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.1.0.bb33
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.4.1.bb34
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.0.5.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.22.0.bb1
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb1
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.8.bb31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc16
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool/0001-configure.ac-don-t-use-dash-in-m4-macro-names.patch34
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_0.4.0.bb6
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_git.bb20
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch52
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0002-fix-formatting-issues.patch34
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb24
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/byacc/byacc.inc23
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch161
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/byacc-open.patch25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20170201.bb12
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-configure-Check-for-Wno-error-format-truncation-comp.patch12
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.7.1.bb86
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.7.2.bb86
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/corosync/corosync_2.4.2.bb56
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20160828.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/efibootmgr/efibootmgr/0001-Remove-extra-const-keywords-gcc-7-gripes-about.patch49
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.12.bb28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.15.bb27
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0001-Remove-some-extra-const-that-gcc-complains-about.patch44
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0001-efivar-dp.h-Add-Wunknown-attributes-when-using-clang.patch32
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0001-makeguids-Do-not-use-__bswap_constant_-16-32-macros.patch37
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0002-New-gcc-version-new-way-symbol-versioning-breaks.patch66
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0002-disable-static-build.patch33
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0004-fix-unknow-option-for-gold-linker.patch15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/fix-compile-failure-with-host-gcc-4.6.patch13
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/musl-strndupa.patch17
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar_0.24.bb46
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar_0.31.bb50
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/enscript/enscript/enscript-autoconf.patch118
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/enscript/enscript_1.6.6.bb24
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0001-Fix-compilation-on-aarch64.patch62
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0001-Remove-undefined-behavior.patch82
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0001-ichspi.c-Fix-build-with-clang.patch29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0001-spi-Define-_XOPEN_SOURCE-to-enable-ffs-libc-API.patch28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0002-Disable-Wtautological-pointer-compare-when-using-cla.patch35
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0003-remove-duplicate-const-qualifiers.patch71
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/sst26.patch198
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom_0.9.6.1.bb22
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom_0.9.9.bb20
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-CMakeLists.txt-Add-AUTOCONF_HOST_OPT-to-help-cross-c.patch52
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-fluent-bit-shared-Link-with-lpthread.patch35
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0002-msgpack-Add-comment-for-intended-fallthrough.patch28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch18
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.3.bb24
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_0.12.1.bb26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/hiredis/files/0001-Makefile-remove-hardcoding-of-CC.patch32
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/hiredis/hiredis_0.13.1.bb22
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.5.bb29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/isomd5sum/files/0001-tweak-install-prefix.patch60
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/isomd5sum/files/0002-fix-parallel-error.patch33
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.1.bb35
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi-native_0.9.2.bb28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi/0001-drop-including-rpath-cmake-module.patch38
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi/konkretcmpi-0.9.2-fix-returning-instance-from-method.patch38
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi_0.9.2.bb10
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/leveldb/leveldb/0001-Explicitly-disable-tcmalloc.patch48
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/leveldb/leveldb/0001-Makefile-Fix-parallel-build.patch34
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/leveldb/leveldb/0001-build_detect_platform-Check-for-__SSE4_2__.patch37
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/leveldb/leveldb/0002-makefile-build-SHARED_MEMENVLIB.patch43
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/leveldb/leveldb_git.bb26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0001-fix-configure-and-compile-failures.patch79
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0002-remove-python2-support.patch30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0003-remove-dmraid-while-compiling-with-with-dm.patch470
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0004-fix-compile-failure-against-musl-C-library.patch50
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0005-fix-a-clang-compiling-issue.patch111
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.10.bb51
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/libexecinfo/libexecinfo_1.1.bb3
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile_1.09.bb1
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/libpwquality/files/add-missing-python-include-dir-for-cross.patch48
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.0.bb45
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.1.bb23
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.2.bb23
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/libreport/files/0001-Makefile.am-remove-doc-and-apidoc.patch28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/libreport/files/0002-configure.ac-remove-prog-test-of-xmlto-and-asciidoc.patch48
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/libreport/files/0003-without-build-plugins.patch26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/libreport/files/0004-configure.ac-remove-prog-test-of-augparse.patch36
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/libreport/files/0005-remove-python2-support.patch142
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.9.2.bb42
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/logcheck/logcheck_1.3.17.bb38
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0001-Don-t-reuse-weak-symbol-optopt-to-fix-FTBFS-on-mips.patch59
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0002-Patched-out-SSL2-support-since-it-is-no-longer-suppo.patch41
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0003-Fixed-Lintian-warning-warning-macro-N-not-defined.patch25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0011-outof-Introduce-expandaddr-flag.patch71
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0012-unpack-Disable-option-processing-for-email-addresses.patch79
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0013-fio.c-Unconditionally-require-wordexp-support.patch113
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0014-globname-Invoke-wordexp-with-WRDE_NOCMD.patch31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0015-usr-sbin-sendmail.patch38
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/explicitly.disable.krb5.support.patch46
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/mailx_12.5-5.bb53
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb51
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/nicstat/nicstat/0001-nicstat.c-Do-not-define-uint64_t-and-uint32_t.patch37
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-networking/0001-fix-lib64-can-not-be-shiped-in-64bit-target.patch31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-networking_0.3.1.bb32
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-providers/0001-fix-error.patch26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-providers/0001-fix-lib64-can-not-be-shiped-in-64bit-target.patch31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-providers_0.6.0.bb56
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-storage_0.8.1.bb34
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-tools_0.10.5.bb5
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0001-lock.c-Define-PTHREAD_MUTEX_RECURSIVE_NP-if-undefine.patch29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.2.bb65
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.3.bb67
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb48
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/perl/libfile-fnmatch-perl_0.02.bb22
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule-datetime.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule-network.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.113.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/rocksdb/rocksdb_git.bb31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.6.0.bb3
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.2.12.bb15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.2.14.bb15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.22.0.bb150
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.29.0.bb151
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/sblim-sfcc/sblim-sfcc/0001-cimxml-Include-sys-select.h-for-fd_set.patch37
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/sblim-sfcc/sblim-sfcc_2.2.8.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools/mdadm.patch13
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools/print-format.patch218
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.4.bb41
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb49
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/sgpio/sgpio_1.2.0.10.bb1
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/subsurface/subsurface_git.bb21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/upm/files/ads1x15-fixed-case-logic-in-getThresh-function.patch54
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb45
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/disable_vlockrc.patch37
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/vlock-no_tally.patch107
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/vlock_pam3
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/vlock_pam_tally2_reset.patch19
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock_2.2.3.bb59
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/volume_key/files/0001-explicitly-support-python3-by-pkg-config.patch56
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.9.bb34
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/zlog/zlog/0001-event.c-Cast-pthread_t-to-unsigned-long-instead-of-u.patch32
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_git.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/zram/zram_0.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/zsh/zsh_5.0.5.bb61
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/zsh/zsh_5.3.1.bb61
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb20
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-gnome/gtkextra/files/remove-tutorial.patch12
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-gnome/gtkextra/gtkextra_3.0.5.bb19
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-gnome/gtkhtml2/files/0001-tests-main.c-fix-build-with-glib-2.36.patch32
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-gnome/gtkhtml2/gtkhtml2_svn.bb41
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/assimp/assimp_3.1.1.bb16
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/babl/babl_0.1.16.bb13
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/babl/babl_0.1.28.bb13
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/clutter/clutter-box2d.inc15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/clutter/clutter-box2d_git.bb19
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/dietsplash/dietsplash/0001-configure.ac-Do-not-demand-linker-hash-style.patch28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb6
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/fim/files/cross_cc.patch29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/fim/fim_0.4-rc1.bb52
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20161012.bb60
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20170731.bb60
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl_0.3.18.bb32
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl_0.3.4.bb32
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/0003-Fix-use-of-gegl-API.patch34
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.20.bb50
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb49
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench/0001-build-Specify-std-c-11-on-cmdline.patch45
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench/0001-waf-Disable-errors-due-to-Wdeprecated.patch31
-rwxr-xr-ximport-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench/Fix-configure-for-sqrt-check.patch14
-rwxr-xr-ximport-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench/Fix_auto_ptr_deprecated.patch24
-rwxr-xr-ximport-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench/Fix_space_issues.patch22
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench/glbench-compile-fix.patch35
-rwxr-xr-ximport-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench_2012.08.bb22
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.8.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.73.bb18
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.74.4.bb18
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/libsexy/libsexy.inc15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/libsexy/libsexy/libsexy-pkgconfig-fixes.patch15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/libsexy/libsexy_0.1.11.bb8
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver/0001-remove-webclients-build.patch28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver/0002-common-add-sha1.patch524
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver/0002-format_string.patch21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.10.bb27
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.11.bb23
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/openjpeg/files/0001-bmp_read_info_header-reject-bmp-files-with-biBitCoun.patch31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.1.1.bb19
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.2.0.bb21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/0002-Fix-image-handling-integer-overflows.patch343
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/0003-Fix-build-failure-with-ld-as-needed.patch37
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/0004-Add-support-libpng15.patch50
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/0005-Remove-path-of-gcc-amd-g-and-version-of-g.patch30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/0006-Remove-localhost-from-Authenticator-of-pam.patch32
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/0007-Fix-tty-slowness.patch47
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/0008-restart-Xserver-if-killed.patch161
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim_1.3.2.bb82
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/terminus-font/terminus-font_4.38.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_git.bb9
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0001-tigervnc-remove-includedir.patch50
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0002-do-not-build-tests-sub-directory.patch29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch62
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0005-Remove-INITARGS-from-xserver119.patch.patch27
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.8.0.bb132
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.1.bb2
-rwxr-xr-ximport-layers/meta-openembedded/meta-oe/recipes-graphics/wayland/wayland-fits_git.bb35
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.0.bb3
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_325.bb30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_330.bb29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-mtev/fix-it.patch153
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-mtev_git.bb22
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_7.8.0.bb3
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode/0001-Add-config.h-include-to-src-lx_memory.c.patch41
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode_2.11.16.bb16
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0001-fix-build-with-KMS-disabled.patch29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0001-glamo-driver-remove-references-to-mibstore.patch48
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0001-glamo-kms-driver-drop-unused-xf86_config.patch35
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0003-glamo-driver-adapt-to-xserver-0.13-video-API.patch279
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0004-glamo.h-use-const-for-jbt6k74_state_path.patch29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga/checkfile.patch68
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_1.6.5.bb21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.12.bb19
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.15.bb20
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb10
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/agent-proxy/agent-proxy_git.bb25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/agent-proxy/files/0001-Makefile-Add-LDFLAGS-variable.patch43
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/cpupower/cpupower.bb36
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0001-Fix-for-a-compilation-error-if-glibc-2.25-or-later-h.patch112
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.1.8.bb118
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.1.9.bb116
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/ktap/ktap-module_git.bb22
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/ktap/ktap.inc26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/ktap/ktap_git.bb19
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-Add-proper-format-string-to-print-a-str.patch35
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.1.bb55
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.2.bb54
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/0001-fix-compile-error-on-arch-x32.patch32
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/0001-minicoredumper-Initialize-pointer-to-config-struct-t.patch29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.0.bb10
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile.inc65
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Add-rmb-definition-for-NIOS2-architecture.patch30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Fix-FTBFS-problem-with-GCC-6.patch51
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/acinclude.m4581
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/automake-foreign.patch12
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/musl.patch46
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/oprofile-cross-compile-tests.patch98
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/root-home-dir.patch44
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/run-ptest19
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.1.0.bb10
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/files/0001-define-__THROW-to-avoid-build-issue-with-musl.patch47
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/files/0002-Do-not-use-rcmd-on-build-with-musl.patch31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0001-audio_alsa09.c-alsa-drain-fix.patch26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0001-replace-missing-AM_PATH_AUDIOFILE-by-PKG_CHECK_MODUL.patch31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0002-Undefine-open64-and-fopen64.patch35
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0003-Use-I-path-in-configure.patch38
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/configure-fix.patch10
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/esound_0.2.36-1ubuntu5.diff.gzbin44925 -> 0 bytes
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound_0.2.36.bb38
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound_0.2.41.bb37
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/live555/live555.inc5
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/minidlna/minidlna.inc39
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/minidlna/minidlna_1.1.5.bb6
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mplayer2/0001-configure-don-t-disable-ASS-support-when-explicitly-.patch26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mplayer2/0001-demux_ogg-partially-port-libtheora-glue-code-to-Theo.patch136
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb159
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv/0001-Fix-build-with-HAVE_GL-0.patch39
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.24.0.bb70
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb72
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.12.3.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.5.0.bb49
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.6.1.bb49
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/foxtrotgps/foxtrotgps_1.1.1.bb26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/gdal/gdal_1.11.1.bb114
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0001-Check-for-__STDC_NO_ATOMICS__-before-using-stdatomic.patch25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0001-Include-stdatomic.h-only-in-C-mode.patch43
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0001-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch33
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0001-include-sys-ttydefaults.h.patch34
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0001-libgpsd-core-Fix-issue-with-ACTIVATE-hook-not-being-.patch35
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0002-Add-a-test-for-C11-and-check-we-have-C11-before-usin.patch57
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0002-SConstruct-remove-rpath.patch45
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0003-Whoops-check-for-C11-not-for-not-C11-in-stdatomic.h-.patch26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.16/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch (renamed from import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.16/0001-include-sys-ttydefaults.h.patch35
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.16/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch (renamed from import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.14.bb144
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.16.bb140
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/gypsy/files/0001-g_type_init-is-deprecated-for-glib-2.35.0.patch114
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/gypsy/files/fixups.patch21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/gypsy/gypsy.inc25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/gypsy/gypsy_0.9.bb15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/gypsy/gypsy_git.bb22
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit-fpu.inc6
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit.inc95
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit/configure.add.imlib2.option.patch16
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit/freetype-include-path.patch28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit/maps.xml24
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit/navit.xml45
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit/osd.xml15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit/plugins.xml6
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit/speech.xml8
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit_svn.bb11
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/proj/proj_4.8.0.bb14
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/proj/proj_4.9.3.bb14
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/claws-mail_3.9.0.bb56
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer/configure.patch52
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer_0.31.bb24
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/claws-plugin-mailmbox_1.15.bb20
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl/configure.patch53
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl_0.34.bb20
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/sylpheed/glib-2.32.patch11
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/sylpheed_2.7.1.bb33
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb42
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc/0001-configure.ac-add-check-for-NO_GETCONTEXT-definition.patch29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc/musl_header_fix.patch27
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc_7.6.0.bb42
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_1.13.bb20
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/daemontools/daemontools_0.76.bb1
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/debsums/debsums_2.2.2.bb54
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util-native_0.9.bb7
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util_0.9.bb1
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/dos2unix/dos2unix_7.3.4.bb34
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/emacs/emacs-23.4/nostdlib-unwind.patch16
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/emacs/emacs-23.4/use-qemu.patch104
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/emacs/emacs.inc147
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/emacs/emacs_23.4.bb12
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/espeak/espeak-data_1.37.bb27
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/espeak/espeak-data_1.48.04.bb24
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/espeak/espeak.inc7
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/espeak/espeak_1.37.bb44
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/espeak/espeak_1.48.04.bb41
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/espeak/files/fix-gcc6-errors.patch19
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/espeak/files/gcc-narrowing-warning-fix.patch56
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/eventlog/eventlog_0.2.13.bb1
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/farsight/farsight2_0.0.22.bb34
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/fbset/fbset-modes.bb1
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/fbset/fbset_2.1.bb1
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/fftw/benchfft_3.1.bb21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/flite/flite-alsa-1.3/flite-alsa-1.3-configure-with-audio.patch12
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/flite/flite-alsa_1.3.bb21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/flite/flite.inc33
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk-native.bb5
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gd/files/fix-gcc-unused-functions.patch43
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/.gitignore-the-new-test-case.patch24
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2016-10166.patch60
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2016-10167.patch48
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2016-10168.patch38
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2016-6906-1.patch167
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2016-6906-2.patch135
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/Fix-290-TGA-RLE-decoding-is-broken.patch359
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd_2.2.3.bb67
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd_2.2.4.bb48
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_2017-08-20.18.bb36
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_git.bb37
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-Fix-build-failure-for-ppc.patch28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch61
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-include-fcntl.h-for-loff_t-definition.patch28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/disable_libunwind_aarch64.patch23
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/sgidef.patch17
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.5.bb23
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.6.1.bb27
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm/0001-Use-sigemptyset-API-instead-of-__sigemptyset.patch34
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm_git.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap/0001-Fix-out-of-tree-builds.patch178
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap/0001-stdgsoap2-Fix-build-with-musl.patch63
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap_2.8.12.bb42
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap_2.8.51.bb44
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp/0001-backtrace-Replace-struct-ucontext-with-ucontext_t.patch37
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp_0.3-beta15.bb1
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/iksemel/iksemel_1.4.bb19
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.2.bb90
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.7.bb82
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools/inotify-nosys-fix-system-call-number.patch31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools_git.bb1
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/ipmiutil/ipmiutil/fix_systemd_path.patch241
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/ipmiutil/ipmiutil_2.9.6.bb62
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/ipmiutil/ipmiutil_3.0.5.bb46
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libbytesize/files/0001-remove-python2-support.patch30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_0.10.bb34
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libcyusbserial/libcyusbserial_git.bb18
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libdbi/libdbi-drivers.inc51
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libdbi/libdbi-drivers_0.8.3-1.bb8
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libetpan/libetpan-0.57/libetpan-autoreconf.patch12
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libetpan/libetpan-0.57/libetpan-ldflags.patch11
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libetpan/libetpan-0.57/sepbuild.patch16
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libetpan/libetpan_0.57.bb30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.3.bb31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.4.bb31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.bb23
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery_1.7.2.bb1
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libjs/libjs-sizzle_1.10.18.bb1
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd/Check-response-existence-on-upgrade.patch49
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.53.bb28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.55.bb25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libnih/libnih_1.0.3.bb1
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libol/libol_0.3.18.bb1
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.4.0.bb30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.4.7.bb26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.7.0.bb26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.8.0.bb26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libtar/files/0002-Do-not-strip-libtar.patch25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libtar/files/fix_libtool_sysroot.patch19
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libtar/libtar_1.2.20.bb21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libteam/libteam/0001-include-sys-select.h-for-fd_set-definition.patch28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libteam/libteam/0002-teamd-Re-adjust-include-header-order.patch40
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.27.bb36
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_4.0.1.bb15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_5.0.1.bb17
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch88
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors_3.4.0.bb6
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/logwarn/logwarn_1.0.14.bb52
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/0005-do-not-build-manual.patch58
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/0006-start-lvm2-monitor.service-after-tmp.mount.patch32
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/lvm.conf2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.02.166.bb31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.02.171.bb16
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-explicitly-do-not-install-libdm.patch36
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.02.166.bb81
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.02.171.bb54
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/lzip/lzip_1.16.bb41
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.46.bb25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.48.bb26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch36
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch50
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch67
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-Use-strerror_r-only-on-glibc-systems.patch26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-mongo-Add-using-std-string.patch72
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch35
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0002-d_state.cpp-Add-missing-dependenncy-on-local_shardin.patch28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0003-Conditionalize-glibc-specific-strerror_r.patch39
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0004-wiredtiger-Disable-strtouq-on-musl.patch26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/arm64-support.patch43
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/disable-hw-crc32-on-arm64-s390x.patch50
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb_git.bb34
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-kpartx-include-limits.h-for-PATH_MAX.patch29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-multipath-attempt-at-common-multipath.rules.patch107
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-multipathd.service-Error-fix.patch36
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0002-RH-fixup-udev-rules-for-redhat.patch110
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0003-RH-Remove-the-property-blacklist-exception-builtin.patch70
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0004-RH-don-t-start-without-a-config-file.patch108
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0005-RH-add-mpathconf.patch648
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0006-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch166
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0007-RH-trigger-change-uevent-on-new-device-creation.patch138
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0008-libmultipath-change-how-RADOS-checker-is-enabled.patch56
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0009-multipath-set-verbosity-to-default-during-config.patch40
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0010-mpath-skip-device-configs-without-vendor-product.patch37
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0011-multipathd-fix-show-maps-json-crash.patch38
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0012-multipath-tools-modify-Makefile.inc-for-cross-compil.patch58
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0013-Always-use-devmapper.patch53
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0014-Always-use-devmapper-for-kpartx.patch37
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper-kpartx.patch36
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper.patch57
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/checkers-disable-libcheckrbd.so.patch31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/makefile_inc.patch59
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/multipath.conf.example90
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/shared-libs-avoid-linking-.so-as-executable.patch55
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.7.1.bb113
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb71
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb-native_5.5.57.bb (renamed from import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb-native_5.5.55.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb.inc12
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/gcc7.patch13
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb_5.5.57.bb (renamed from import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb_5.5.55.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/nghttp2/nghttp2_1.26.0.bb16
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/nmon/nmon/0001-lmon16g.c-Adjust-system-headers.patch46
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/nmon/nmon_13g.bb29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/nmon/nmon_16g.bb31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/numactl/numactl_2.0.11.bb57
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/numactl/numactl_git.bb61
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/ode/ode/configure.patch13
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/ode/ode_0.13.bb31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/open-vcdiff/open-vcdiff_0.8.4.bb21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/files/tools.conf2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/files/vmtoolsd.service11
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Remove-assumptions-about-glibc-being-only-libc-imple.patch45
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch41
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch33
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-include-poll.h-instead-of-obsolete-sys-poll.h.patch24
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Rename-poll.h-to-vm_poll.h.patch756
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Add-Wno-incompatible-pointer-types-and-Wno-error-add.patch31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-struct-timespec.patch45
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch58
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch144
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-use-posix-strerror_r-unless-gnu.patch30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Add-support-for-building-with-system-libtirpc.patch342
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-gnu-ucontext.patch65
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-configure-test-for-sys-stat.h-include.patch25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb103
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/openct/openct_0.6.20.bb1
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv-samples_2.4.bb41
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch44
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Dont-use-isystem.patch26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Make-opencv-ts-create-share-library-intead-of-static.patch26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Revert-cuda-fix-fp16-compilation.patch27
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-To-fix-errors-as-following.patch53
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Use-__vector-instead-of-vector-as-suggests-Eigen.patch49
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-build-workaround-GCC-7.1.1-compilation-issue-with-sa.patch127
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-carotene-don-t-use-__asm__-with-aarch64.patch1250
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-tracking-make-opencv_dnn-dependancy-optional.patch243
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0002-Do-not-enable-asm-with-clang.patch993
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0002-Make-opencv-ts-create-share-library-intead-of-static.patch26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0002-Revert-check-FP16-build-condition-correctly.patch245
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0002-imgcodecs-refactoring-improve-code-quality.patch656
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0003-To-fix-errors-as-following.patch80
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0003-imgproc-test-add-checks-for-remove-call.patch186
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/CVE-2017-14136.patch288
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/uselocalxfeatures.patch26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/useoeprotobuf.patch13
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv_2.4.bb106
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.2.bb175
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.3.bb194
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/makefile-add-ldflags.patch19
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/openipmi-don-t-rm-.libs.patch32
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/openipmi-remove-host-path-from-la_LDFLAGS.patch85
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/openipmi_2.0.22.bb112
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.44.bb255
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.45.bb256
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/openmotif/openmotif/configure.patch15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/openmotif/openmotif_2.3.3.bb48
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/opensync/libsyncml_0.5.4.bb21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem_3.2.3.bb115
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/pam-passwdqc/files/1000patch-219201.patch156
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/pam-passwdqc/files/7000Makefile-fix-CC.patch11
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/pam-passwdqc/pam-passwdqc_1.0.5.bb38
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/passwdqc/passwdqc/makefile-add-ldflags.patch31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/passwdqc/passwdqc_1.3.1.bb63
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.13.bb49
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.22.bb49
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/libotr/fix_qa-issue_include.patch4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/libotr/sepbuild.patch4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/libotr_4.0.0.bb15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/libotr_4.1.1.bb15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-otr/ignore_extra-portability_warnings.patch19
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.2.bb15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.11.0.bb120
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.12.0.bb120
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/poco/poco_1.7.8.bb106
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/poco/poco_1.7.9.bb106
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.53.0.bb55
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.57.0.bb55
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/postgresql_9.4.11.bb11
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/postgresql_9.4.15.bb15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/pps-tools/pps-tools_git.bb1
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/psqlodbc/psqlodbc_09.05.0300.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/re2c/re2c/configure.patch18
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/re2c/re2c_0.13.5.bb15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/satyr/files/0001-do-not-support-python2.patch84
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/satyr/files/0002-fix-compile-failure-against-musl-C-library.patch28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.23.bb33
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/sdparm/sdparm_1.10.bb1
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/serial-utils/serial-forward/0001-serial_forward-Disable-default-static-linking.patch29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/serial-utils/serial-forward_git.bb6
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils_1.42.bb1
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-Use-pragma-once-unconditionally.patch872
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-ssieventmonitor-ordered-comparison-between-pointers-.patch39
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0002-Convert-macros-into-functions.patch123
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0003-Replace-canonicalize_file_name-with-realpath-API.patch33
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0004-engine-Fix-indentation-and-missing-semi-colon.patch54
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0005-engine-Define-SENTINEL.patch40
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0006-tools-Add-missing-includes-and-use-realpath-instead-.patch40
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/configure-cflags.patch21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi_1.0.1.bb35
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.17.25.bb6
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/synergy/synergy_git.bb12
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng.inc1
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/system-setup-keyboard/system-setup-keyboard_0.8.8.bb33
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/tbb/tbb.bb18
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-mallinfo-is-glibc-specific-API-mark-it-so.patch37
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.1.7.bb39
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.1.8.bb39
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks_1.0.5.bb5
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.6.bb57
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.4.bb39
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.5.bb39
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb20
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_4.3.36.bb72
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.1.18.bb69
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.1.26.bb69
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim-tiny_8.0.0983.bb (renamed from import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim-tiny_8.0.0427.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim_8.0.0427.bb112
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim_8.0.0983.bb112
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/xchat/xchat-2.8.8/automake-foreign.patch11
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/xchat/xchat-2.8.8/fix-includes-for-separate-build.patch78
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/xchat/xchat-2.8.8/glib-2.32.patch44
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/xchat/xchat_2.8.8.bb39
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.5.0.bb33
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.6.1.bb26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-Add-correct-printf-qualifier-for-off_t.patch37
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-Include-poll.h-instead-of-deprecated-sys-poll.h.patch48
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0002-Add-C99-defined-format-for-printing-uint64_t.patch53
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0002-Define-__SWORD_TYPE-if-not-defined-by-libc.patch33
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0003-Undefine-PAGE_SIZE.patch30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0003-use-intptr_t-to-fix-pointer-to-int-cast-issues.patch76
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts_git.bb12
-rw-r--r--import-layers/meta-openembedded/meta-perl/README8
-rw-r--r--import-layers/meta-openembedded/meta-perl/conf/layer.conf2
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-extended/logcheck/files/99_logcheck2
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-extended/logcheck/logcheck_1.3.18.bb79
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/adduser/adduser_3.115.bb54
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/adduser/adduser_3.116.bb54
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.36.bb37
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.46.bb37
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.35.bb20
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.36.bb20
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libcurses/libcurses-perl_1.34.bb26
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libcurses/libcurses-perl_1.36.bb26
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.50.bb39
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.54.bb39
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libdevel/libdevel-globaldestruction-perl_0.13.bb23
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libdevel/libdevel-globaldestruction-perl_0.14.bb23
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-helpers-perl_0.022.bb29
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-helpers-perl_0.026.bb29
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-parsexs-perl_3.24.bb47
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-parsexs-perl_3.35.bb47
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libfile/libfile-slurp-perl_9999.19.bb19
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-parser-perl_3.72.bb2
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/liblocale/liblocale-gettext-perl_1.07.bb21
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libmime/libmime-charset-perl_1.012.2.bb19
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-perl_0.31.bb27
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-perl_0.4224.bb34
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.036.bb54
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.039.bb54
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libmoo/libmoo-perl_2.000002.bb44
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libmoo/libmoo-perl_2.003002.bb44
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.06.bb25
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.10.bb25
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.80.bb44
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.81.bb44
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/librole/librole-tiny-perl_2.000001.bb29
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/librole/librole-tiny-perl_2.000005.bb29
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libstrictures/libstrictures-perl_2.000002.bb45
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libstrictures/libstrictures-perl_2.000003.bb45
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libsub/libsub-exporter-progressive-perl_0.001011.bb30
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libsub/libsub-exporter-progressive-perl_0.001013.bb30
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.37.bb36
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libtext/libtext-charwidth-perl_0.04.bb27
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libtext/libtext-wrapi18n-perl_0.06.bb32
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libunicode/libunicode-linebreak-perl_2017.004.bb26
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0121.bb44
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0129.bb44
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-sax-writer-perl_0.56.bb25
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-sax-writer-perl_0.57.bb25
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/po4a/po4a_0.49.bb33
-rw-r--r--import-layers/meta-openembedded/meta-python/README16
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/files/0001-fix_setup_py.patch35
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/python-gsocketpool.inc12
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/python-gsocketpool_0.1.5.bb16
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/python-gsocketpool_0.1.6.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/python3-gsocketpool_0.1.6.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/files/0001-fix_setup_py.patch34
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc.inc13
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc_0.1.13.bb17
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc_0.1.14.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python3-mprpc_0.1.14.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.55.bb18
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.62.bb18
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python-pytun.inc10
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python-pytun_2.2.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python3-pytun_2.2.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python-0.15.19/parallel_make.patch (renamed from import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/parallel_make.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python-0.15.19/remove_duplicate_install.patch (renamed from import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/remove_duplicate_install.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python-0.15.19/telepathy-python_fix_for_automake_1.12.patch (renamed from import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/telepathy-python_fix_for_automake_1.12.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python_0.15.19.bb (renamed from import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-python_0.15.19.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-appdirs.inc8
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-appdirs_1.4.3.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto.inc13
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto_0.23.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-astroid.inc20
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-astroid_1.4.9.bb17
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-astroid_1.5.3.bb7
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python.inc18
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python_1.2.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.5.1.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.3.4.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-backports-functools-lru-cache_1.3.bb14
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-backports-functools-lru-cache_1.4.bb19
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt.inc15
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.3.bb17
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4.inc17
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4_4.6.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray.inc11
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray_0.8.1.bb13
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-can.inc4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-can_2.0.0b1.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-can_1.5.2.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cassandra-driver.inc4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2017.7.27.1.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2017.1.23.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi.inc5
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.11.2.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.9.1.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet.inc9
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet_3.0.4.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet_3.0.2.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.7.0.bb20
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.7.7.bb20
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc5
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.0.3.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_1.7.2.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc7
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.0.3.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_1.7.2.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython.inc11
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.27.1.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.25.2.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-daemon/0001-Workaround-for-issue-2-1.patch31
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-daemon_2.1.2.bb27
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil.inc6
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil_2.6.1.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil_2.6.0.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator.inc4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.1.2.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.0.11.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django-south.inc17
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django-south_1.0.2.bb19
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django.inc24
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.10.5.bb24
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.11.5.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-docutils_0.14rc2.bb18
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-enum34_1.1.6.bb1
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-evdev_0.6.4.bb17
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-evdev_0.7.0.bb17
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo.inc6
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo_0.5.1.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo_0.4.1.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy_2.2.bb12
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy_2.3.0.bb12
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask_0.12.2.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask_0.12.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent.inc34
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_1.2.1.bb28
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_1.2.2.bb3
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet.inc9
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.12.bb12
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools_1.6.3.bb17
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch36
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio_1.6.0.bb25
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib.inc14
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib_0.999999999.bb16
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-idna.inc4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.6.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.5.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-iso8601.inc5
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-iso8601_0.1.12.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-iso8601_0.1.11.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-isort.inc10
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-isort_4.2.15.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-isort_4.2.5.bb11
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2.inc4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2_2.9.6.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2_2.9.5.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.15.bb12
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.16.bb12
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer_1.10.bb11
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer_1.12.bb11
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema.inc2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lazy-object-proxy.inc10
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lazy-object-proxy_1.2.2.bb10
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lazy-object-proxy_1.3.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap_2.4.32.bb29
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lockfile_0.12.2.bb13
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc6
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml/0001-lxml.etree-Add-empty-variadic-argument.patch40
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_3.7.3.bb6
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.1.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/cross-compile-platform.patch30
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/m2crypto-0.26.4-gcc_macros.patch24
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.25.1.bb49
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.26.4.bb50
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe.inc6
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe_0.23.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe_1.0.bb4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-matplotlib/fix_setup.patch29
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-matplotlib/fix_setupext.patch136
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-matplotlib_1.1.0.bb33
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-matplotlib_2.0.2.bb18
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-monotonic_1.2.bb10
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-monotonic_1.3.bb10
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack.inc9
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.4.8.bb11
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient.inc4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient_0.4.3.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient_0.4.2.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr.inc8
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr_0.7.19.bb10
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-networkx_1.11.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt.inc13
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.3.0.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.2.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pandas.inc23
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pandas_0.20.3.bb7
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-parse-type_0.3.4.bb11
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-parse-type_0.4.2.bb11
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.8.0.bb13
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.8.2.bb13
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_2.0.0.bb16
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_3.1.1.bb16
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect.inc25
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect_4.2.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pip_9.0.1.bb1
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pretend.inc1
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-progress.inc9
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-progress_1.3.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-progress_1.2.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit.inc4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit_1.0.15.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit_1.0.13.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc16
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.4.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.3.1.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.2.0.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ptyprocess.inc20
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ptyprocess_0.5.2.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py.inc7
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.4.34.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.4.32.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.3.6.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.2.3.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11.inc7
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11_2.2.1.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11_2.0.1.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybluez_0.22.bb17
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser.inc7
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.18.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.17.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyfirmata.inc13
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyfirmata_1.0.3.bb3
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint.inc32
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.6.5.bb44
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.7.4.bb4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp.inc6
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.80.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.67.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo.inc20
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.5.1.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.4.0.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl.inc5
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_17.3.0.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_16.2.0.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing.inc2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2.inc26
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2_0.3.22.bb26
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial.inc4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial_3.4.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial_3.3.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks.inc4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.6.7.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.6.6.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner.inc5
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_2.12.1.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_2.11.1.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest.inc12
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch29
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest/pytest_version_fix.patch51
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.2.2.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.0.6.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev.inc19
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.21.0.bb22
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb.inc10
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb_1.0.0b2.bb12
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-redis.inc4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-redis_2.10.6.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-redis_2.10.5.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc10
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.13.0.bb4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.18.4.bb4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sdnotify.inc16
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sdnotify_0.3.2.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-selectors34_1.1.bb12
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-selectors34_1.2.bb12
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-serpent.inc6
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-serpent_1.23.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-serpent_1.19.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm.inc4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_1.15.6.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_1.15.0.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson.inc4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.11.1.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.10.0.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-six.inc19
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-six_1.11.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy.inc4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_1.1.14.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_1.1.9.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-subprocess32_3.2.7.bb15
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado.inc4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_4.5.2.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_4.4.2.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc243
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_13.2.0.bb245
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_17.9.0.bb10
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-typing.inc4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-typing_3.6.2.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-typing_3.5.3.0.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ujson.inc15
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ujson_1.35.bb17
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff.inc9
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff_0.5.3.bb15
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff_0.5.4.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3.inc6
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.22.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.2.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.4.1.bb15
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.5.bb15
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings.inc10
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings_0.5.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings_0.5.bb10
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug.inc4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug_0.12.2.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug_0.11.15.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt.inc15
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt_1.10.11.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt_1.10.8.bb15
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd.inc6
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd_1.1.0.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd_1.0.0.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface.inc20
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.3.3.bb18
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.4.3.bb4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-appdirs_1.4.3.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_1.5.3.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python_1.2.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.5.1.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.3.4.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-bcrypt_3.1.3.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.6.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_0.8.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-can_2.0.0b1.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-can_1.5.2.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.11.0.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.8.0.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2017.7.27.1.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2017.1.23.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.11.2.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.9.1.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-chardet_3.0.4.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-chardet_3.0.2.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_4.4.1.bb10
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.0.3.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_1.7.2.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.0.3.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_1.7.2.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.27.1.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.25.2.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.6.1.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.6.0.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.1.2.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.0.11.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-django-south_1.0.2.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-django_1.11.5.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-pymongo_0.5.1.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-pymongo_0.4.1.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_0.12.2.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_0.12.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_1.2.2.bb3
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_0.4.12.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-html5lib_0.999999999.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.6.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.5.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-iso8601_0.1.12.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-iso8601_0.1.11.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_4.2.15.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.9.6.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.9.5.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_2.6.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.37.bb22
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lazy-object-proxy_1.3.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml/0001-lxml.etree-Add-empty-variadic-argument.patch40
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_3.7.3.bb6
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.1.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-markupsafe_1.0.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-markupsafe_0.23.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.4.8.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict/0001-Allow-calling-make-clean-without-sphinx-build.patch34
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_2.1.4.bb11
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_3.2.0.bb9
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ndg-httpsclient_0.4.3.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ndg-httpsclient_0.4.2.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-netaddr_0.7.19.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ntplib_0.3.3.bb12
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ordered-set_2.0.2.bb10
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.3.0.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.2.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_0.20.3.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.2.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pid/0001-remove-requirement-of-nose.patch29
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pid_2.1.1.bb14
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-prctl/0001-support-cross-complication.patch61
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-prctl_1.6.1.bb22
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-progress_1.3.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-progress_1.2.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_1.0.15.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_1.0.13.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.4.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.3.1.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.2.0.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ptyprocess_0.5.2.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.4.34.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.4.32.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.3.6.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.2.3.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.2.1.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.0.1.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.18.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.17.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyfirmata_1.0.3.bb3
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_1.7.4.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.80.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.67.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.4.0.bb10
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.5.1.bb10
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_17.3.0.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_16.2.0.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.3.22.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.4.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.3.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.6.7.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.6.6.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_2.12.1.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_2.11.1.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_3.2.2.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_3.0.6.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyudev_0.21.0.bb8
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyusb_1.0.0b2.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_2.10.6.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_2.10.5.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-file_1.4.2.bb14
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-ftp_0.3.1.bb14
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.13.0.bb5
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.18.4.bb5
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-sdnotify_0.3.2.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.23.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.19.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_1.15.6.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_1.15.0.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.11.1.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.10.0.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.14.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.9.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_4.5.2.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_4.4.2.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_17.9.0.bb67
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_1.35.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff_0.5.4.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.22.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.2.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-webencodings_0.5.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_0.12.2.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_0.11.15.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.10.11.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-xlrd_1.1.0.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-xlrd_1.0.0.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_4.4.3.bb4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0001-comment-out-selinux.patch70
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0002-run_program-support-timeout.patch102
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0003-support-infinit-timeout.patch66
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0004-Mount-var-volatile-during-install.patch59
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0005-update-fstab-by-appending.patch32
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0006-fix-new.roots-object-is-not-iterable.patch28
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0007-fix-incorrect-timeout-while-system-time-changed.patch48
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0008-tweak-btrfs-packages.patch45
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0009-invoking-mount-with-infinite-timeout.patch31
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0010-use-oe-variable-to-replace-hardcoded-dir.patch34
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0011-invoking-fsck-with-infinite-timeout.patch31
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0012-invoking-mkfs-with-infinite-timeout.patch31
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0013-Revert-Adapt-to-logging-module-name-change.patch30
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_2.2.0.bb46
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.5.bb27
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.45.bb17
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0001-support-authentication-for-kickstart.patch151
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch76
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0003-comment-out-sections-shutdown-and-environment-in-gen.patch48
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0004-load.py-retry-to-invoke-request-with-timeout.patch82
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0005-tweak-shebang-to-python3.patch25
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_2.35.bb24
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted.inc21
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted_3.10.7.bb23
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted/0001-fix-version-float-check.patch26
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.10.7.bb12
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-extended/pywbem/pywbem_0.8.0.bb (renamed from import-layers/meta-openembedded/meta-oe/recipes-extended/pywbem/pywbem_0.8.0.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-ruby/COPYING.MIT17
-rw-r--r--import-layers/meta-openembedded/meta-ruby/README17
-rw-r--r--import-layers/meta-openembedded/meta-ruby/classes/ruby.bbclass131
-rw-r--r--import-layers/meta-openembedded/meta-ruby/conf/layer.conf15
-rw-r--r--import-layers/meta-openembedded/meta-ruby/recipes-devtools/ruby/bundler_git.bb33
-rw-r--r--import-layers/meta-openembedded/meta-systemd/README26
-rw-r--r--import-layers/meta-openembedded/meta-systemd/conf/layer.conf32
-rw-r--r--import-layers/meta-openembedded/meta-systemd/oe-core/recipes-bsp/keymaps/keymaps_1.0.bbappend4
-rw-r--r--import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/avahi/avahi_%.bbappend4
-rw-r--r--import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/connman/connman_%.bbappend3
-rw-r--r--import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp/dhclient.service13
-rw-r--r--import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp_%.bbappend24
-rw-r--r--import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/ofono/ofono_%.bbappend5
-rw-r--r--import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/openssh/openssh_%.bbappend3
-rw-r--r--import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/portmap/portmap_6.0.bbappend5
-rw-r--r--import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/wpa-supplicant/wpa-supplicant_%.bbappend3
-rw-r--r--import-layers/meta-openembedded/meta-systemd/oe-core/recipes-core/busybox/busybox_%.bbappend3
-rw-r--r--import-layers/meta-openembedded/meta-systemd/oe-core/recipes-core/dbus/dbus_%.bbappend3
-rw-r--r--import-layers/meta-openembedded/meta-systemd/oe-core/recipes-core/dropbear/dropbear_%.bbappend4
-rw-r--r--import-layers/meta-openembedded/meta-systemd/oe-core/recipes-core/systemd/systemd_%.bbappend3
-rw-r--r--import-layers/meta-openembedded/meta-systemd/oe-core/recipes-core/util-linux/util-linux_%.bbappend3
-rw-r--r--import-layers/meta-openembedded/meta-systemd/oe-core/recipes-extended/at/at_%.bbappend4
-rw-r--r--import-layers/meta-openembedded/meta-systemd/oe-core/recipes-extended/cronie/cronie_%.bbappend3
-rw-r--r--import-layers/meta-openembedded/meta-systemd/oe-core/recipes-extended/lighttpd/lighttpd_%.bbappend3
-rw-r--r--import-layers/meta-openembedded/meta-systemd/oe-core/recipes-extended/rpcbind/rpcbind_%.bbappend3
-rw-r--r--import-layers/meta-openembedded/meta-systemd/recipes-core/systemd/systemd-machine-units_1.0.bb13
-rw-r--r--import-layers/meta-openembedded/meta-webserver/README12
-rw-r--r--import-layers/meta-openembedded/meta-webserver/conf/layer.conf2
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.25.bb45
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.27.bb45
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.25.bb182
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.27.bb194
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/files/volatiles.04_apache23
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee/0001-configure.ac-Add-foreign-to-AM_INIT_AUTOMAKE.patch30
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee/0001-make-Do-not-build-po-files.patch27
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee_1.2.98.bb69
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee_git.bb71
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc4
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.10.3.bb6
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.11.10.bb10
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.12.1.bb6
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.13.5.bb10
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.0.bb53
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.1.bb53
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.6.3.bb36
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.7.6.bb38
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch32
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch27
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb14
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/webmin.service15
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.801.bb158
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.850.bb167
-rw-r--r--import-layers/meta-openembedded/meta-xfce/README10
-rw-r--r--import-layers/meta-openembedded/meta-xfce/conf/layer.conf2
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/files/0001-Makefile.am-create-ouput-directory-for-desktop-file.patch29
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.8.2.bb23
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.1.bb22
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.4.bb12
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.6.bb12
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-bindings/vala/xfce4-vala_4.10.3.bb2
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-core/images/core-image-minimal-xfce.bb1
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.7.1.bb32
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.7.2.bb32
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-multimedia/packagegroups/packagegroup-xfce-multimedia.bb6
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.0.bb3
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.2.3.bb3
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.4.1.bb17
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.4.2.bb17
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.1.2.bb11
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.1.3.bb11
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/xkb/xfce4-xkb-plugin_0.7.1.bb16
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/xkb/xfce4-xkb-plugin_0.8.0.bb16
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo/reduce-build-to-exo-csource-only.patch40
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.11.2.bb39
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.11.5.bb39
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.4.0.bb17
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.6.1.bb17
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb2
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb2
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.6.11.bb35
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.6.12.bb35
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/machine-host.bb2
2020 files changed, 58382 insertions, 49992 deletions
diff --git a/import-layers/meta-openembedded/meta-efl/COPYING.MIT b/import-layers/meta-openembedded/meta-efl/COPYING.MIT
deleted file mode 100644
index fb950dc69..000000000
--- a/import-layers/meta-openembedded/meta-efl/COPYING.MIT
+++ /dev/null
@@ -1,17 +0,0 @@
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/import-layers/meta-openembedded/meta-efl/README b/import-layers/meta-openembedded/meta-efl/README
deleted file mode 100644
index 2c10582b2..000000000
--- a/import-layers/meta-openembedded/meta-efl/README
+++ /dev/null
@@ -1,18 +0,0 @@
-This layer depends on:
-
-URI: git://github.com/openembedded/oe-core.git
-branch: pyro
-revision: HEAD
-
-URI: git://github.com/openembedded/meta-oe.git
-layers: meta-oe, meta-python
-branch: pyro
-revision: HEAD
-
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-efl][pyro]' 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][pyro][PATCH'
-
-pyro branch maintainer(s):
-Armin Kuster <akuster808@gmail.com>
diff --git a/import-layers/meta-openembedded/meta-efl/classes/e-base.bbclass b/import-layers/meta-openembedded/meta-efl/classes/e-base.bbclass
deleted file mode 100644
index e0ae2285d..000000000
--- a/import-layers/meta-openembedded/meta-efl/classes/e-base.bbclass
+++ /dev/null
@@ -1,14 +0,0 @@
-HOMEPAGE = "http://www.enlightenment.org"
-SRCNAME ?= "${BPN}"
-SRCVER ?= "${PV}"
-
-EFL_SRCREV ?= "82070"
-
-ARM_INSTRUCTION_SET = "arm"
-
-S = "${WORKDIR}/${SRCNAME}-${SRCVER}"
-
-# each efl or e17 module is installing module.so in different directory, disable shlibs providers for them
-# evas-engine-gl-x11-1.7.7 evas-engine-software-16-1.7.7 evas-engine-software-16-x11-1.7.7 evas-engine-software-x11-1.7.7 evas-engine-wayland-shm-1.7.7 evas-cserve2-bmp-1.7.7 evas-cserve2-eet-1.7.7 evas-cserve2-ico-1.7.7 evas-cserve2-jpeg-1.7.7 evas-cserve2-pmaps-1.7.7 evas-cserve2-png-1.7.7 evas-cserve2-psd-1.7.7 evas-cserve2-tga-1.7.7 evas-cserve2-tiff-1.7.7 evas-cserve2-wbmp-1.7.7 evas-cserve2-xpm-1.7.7 evas-loader-bmp-1.7.7 evas-loader-generic-1.7.7 evas-loader-gif-1.7.7 evas-loader-ico-1.7.7 evas-loader-jpeg-1.7.7 evas-loader-pmaps-1.7.7 evas-loader-png-1.7.7 evas-loader-psd-1.7.7 evas-loader-tga-1.7.7 evas-loader-tiff-1.7.7 evas-loader-wbmp-1.7.7 evas-loader-xpm-1.7.7 evas-saver-jpeg-1.7.7 evas-saver-png-1.7.7 evas-saver-tiff-1.7.7 evas-engine-fb-1.7.7
-# emotion-1.7.7 elementary-1.7.7 elementary-tests-1.7.7 elementary-accessibility-1.7.7 e-wm-0.17.3 elfe-0.0.1+svnr82070 shr-e-gadgets-0.0.0+gitr1+27b6c17d73 cpu-0.0.1+svnr82070 places-0.1.0+svnr82070 forecasts-0.2.0+svnr82070 uptime-0.0.2+svnr82070 screenshot-0.3.0+svnr82070 exalt-client-0.0.1+svnr82070 diskio-0.0.1+svnr82070 rain-0.0.3+svnr82070 news-0.1.0+svnr82070 flame-0.0.3+svnr82070
-PRIVATE_LIBS = "module.so"
diff --git a/import-layers/meta-openembedded/meta-efl/classes/e.bbclass b/import-layers/meta-openembedded/meta-efl/classes/e.bbclass
deleted file mode 100644
index 4ee80bf57..000000000
--- a/import-layers/meta-openembedded/meta-efl/classes/e.bbclass
+++ /dev/null
@@ -1,22 +0,0 @@
-SECTION = "e/apps"
-
-inherit e-base autotools pkgconfig binconfig
-
-do_prepsources () {
- make clean distclean || true
-}
-addtask prepsources after do_patch before do_configure
-
-do_configure_append() {
- find ${B} -name Makefile | xargs sed -i s:'-I$(includedir)':'-I.':g
-}
-
-export CURL_CONFIG = "${STAGING_BINDIR_CROSS}/curl-config"
-export FREETYPE_CONFIG = "${STAGING_BINDIR_CROSS}/freetype-config"
-
-PACKAGES =+ "${PN}-themes"
-PACKAGES += "${PN}-lib"
-
-FILES_${PN}-lib = "${libdir}/lib*.so.*"
-FILES_${PN}-themes = "${datadir}/${PN}/themes ${datadir}/${PN}/data ${datadir}/${PN}/fonts ${datadir}/${PN}/pointers ${datadir}/${PN}/images ${datadir}/${PN}/users ${datadir}/${PN}/images ${datadir}/${PN}/styles"
-FILES_${PN}-dev += "${includedir} ${libdir}/lib*.so"
diff --git a/import-layers/meta-openembedded/meta-efl/classes/efl.bbclass b/import-layers/meta-openembedded/meta-efl/classes/efl.bbclass
deleted file mode 100644
index eb40e4bc3..000000000
--- a/import-layers/meta-openembedded/meta-efl/classes/efl.bbclass
+++ /dev/null
@@ -1,66 +0,0 @@
-SECTION = "e/libs"
-LICENSE = "MIT & BSD"
-DEPENDS += "pkgconfig-native"
-
-# revision 0d93ec84b30bc1bee2caaee72d667f87bc468a70 made SRCDATE and hence PV go backwards, so we need to up PE to unbreak builds and feeds :(
-PE = "2"
-
-inherit e-base autotools
-
-# evas-native looks at this var, so keep it
-
-do_configure_prepend() {
- autopoint || touch config.rpath
-}
-
-do_install_prepend () {
- for i in `find ${B}/ -name "*.pc" -type f` ; do \
- sed -i -e 's:-L${STAGING_LIBDIR}:-L\$\{libdir\}:g' -e 's:-I${STAGING_LIBDIR}:-I\$\{libdir\}:g' -e 's:-I${STAGING_INCDIR}:-I\$\{includedir\}:g' $i
- done
-}
-
-PACKAGES =+ "${PN}-themes"
-PACKAGES += "${PN}-tests"
-PACKAGES += "${PN}-eolian"
-
-FILES_${PN} = "${libdir}/*.so.* \
- ${libdir}/edje/modules/${PN}/*/module.so \
- ${libdir}/${PN}/plugins/*.so \
- ${datadir}/dbus-1/services/* \
-"
-
-
-FILES_${PN}-themes = "${datadir}/${PN}/themes \
- ${datadir}/${PN}/data \
- ${libdir}/${PN}/plugins/data/*.edj \
- ${datadir}/${PN}/fonts \
- ${datadir}/${PN}/pointers \
- ${datadir}/${PN}/images \
- ${datadir}/${PN}/users \
- ${datadir}/${PN}/images \
- ${datadir}/${PN}/styles"
-
-FILES_${PN}-dev += "${bindir}/${PN}-config \
- ${libdir}/pkgconfig/* \
- ${libdir}/lib*.la \
- ${libdir}/*.so \
- ${libdir}/${PN}/*.la \
- ${libdir}/${PN}/*/*.la \
- ${datadir}/${PN}/edje_externals \
- ${libdir}/edje/modules/${PN}/*/module.la \
-"
-
-FILES_${PN}-eolian = " \
- ${datadir}/eolian/include \
-"
-
-FILES_${PN}-staticdev += "${libdir}/${BPN}/*/*.a"
-
-FILES_${PN}-dbg += "${libdir}/${PN}/.debug \
- ${libdir}/${PN}/*/.debug \
- ${libdir}/edje/modules/${PN}/*/.debug/module.so \
-"
-
-FILES_${PN}-tests = "${bindir}/${PN} \
- ${bindir}/*_* \
- ${datadir}/${PN}"
diff --git a/import-layers/meta-openembedded/meta-efl/conf/distro/include/efl-from-svn-recipes.inc b/import-layers/meta-openembedded/meta-efl/conf/distro/include/efl-from-svn-recipes.inc
deleted file mode 100644
index 23a8eaeca..000000000
--- a/import-layers/meta-openembedded/meta-efl/conf/distro/include/efl-from-svn-recipes.inc
+++ /dev/null
@@ -1,43 +0,0 @@
-EFL_PREFERRED_VERSION ?= "1.7.4+svn%"
-EFL_PREFERRED_PYTHON_VERSION ?= "1.7.0+svn%"
-
-PREFERRED_VERSION_e-wm ?= "0.17.0+svnr%"
-
-PREFERRED_VERSION_ecore ?= "${EFL_PREFERRED_VERSION}"
-PREFERRED_VERSION_ecore-native ?= "${EFL_PREFERRED_VERSION}"
-PREFERRED_VERSION_edbus ?= "${EFL_PREFERRED_VERSION}"
-PREFERRED_VERSION_edbus-native ?= "${EFL_PREFERRED_VERSION}"
-PREFERRED_VERSION_edje ?= "${EFL_PREFERRED_VERSION}"
-PREFERRED_VERSION_edje-native ?= "${EFL_PREFERRED_VERSION}"
-PREFERRED_VERSION_edje-nativesdk ?= "${EFL_PREFERRED_VERSION}"
-PREFERRED_VERSION_eeze ?= "${EFL_PREFERRED_VERSION}"
-PREFERRED_VERSION_eeze-native ?= "${EFL_PREFERRED_VERSION}"
-PREFERRED_VERSION_efreet ?= "${EFL_PREFERRED_VERSION}"
-PREFERRED_VERSION_efreet-native ?= "${EFL_PREFERRED_VERSION}"
-PREFERRED_VERSION_eina ?= "${EFL_PREFERRED_VERSION}"
-PREFERRED_VERSION_eina-native ?= "${EFL_PREFERRED_VERSION}"
-PREFERRED_VERSION_embryo ?= "${EFL_PREFERRED_VERSION}"
-PREFERRED_VERSION_embryo-native ?= "${EFL_PREFERRED_VERSION}"
-PREFERRED_VERSION_evas ?= "${EFL_PREFERRED_VERSION}"
-PREFERRED_VERSION_evas-generic-loaders ?= "${EFL_PREFERRED_VERSION}"
-PREFERRED_VERSION_evas-native ?= "${EFL_PREFERRED_VERSION}"
-PREFERRED_VERSION_expedite ?= "${EFL_PREFERRED_VERSION}"
-PREFERRED_VERSION_expedite-native ?= "${EFL_PREFERRED_VERSION}"
-
-PREFERRED_VERSION_eet ?= "${EFL_PREFERRED_VERSION}"
-PREFERRED_VERSION_eet-native ?= "${EFL_PREFERRED_VERSION}"
-
-PREFERRED_VERSION_eio ?= "${EFL_PREFERRED_VERSION}"
-PREFERRED_VERSION_eio-native ?= "${EFL_PREFERRED_VERSION}"
-PREFERRED_VERSION_emotion ?= "${EFL_PREFERRED_VERSION}"
-PREFERRED_VERSION_ethumb ?= "${EFL_PREFERRED_VERSION}"
-PREFERRED_VERSION_elementary ?= "${EFL_PREFERRED_VERSION}"
-
-PREFERRED_VERSION_python-elementary ?= "${EFL_PREFERRED_PYTHON_VERSION}"
-PREFERRED_VERSION_python-ecore ?= "${EFL_PREFERRED_PYTHON_VERSION}"
-PREFERRED_VERSION_python-edbus ?= "${EFL_PREFERRED_PYTHON_VERSION}"
-PREFERRED_VERSION_python-edje ?= "${EFL_PREFERRED_PYTHON_VERSION}"
-PREFERRED_VERSION_python-emotion ?= "${EFL_PREFERRED_PYTHON_VERSION}"
-PREFERRED_VERSION_python-evas ?= "${EFL_PREFERRED_PYTHON_VERSION}"
-
-PREFERRED_VERSION_terminology ?= "0.2.0+svn%"
diff --git a/import-layers/meta-openembedded/meta-efl/conf/layer.conf b/import-layers/meta-openembedded/meta-efl/conf/layer.conf
deleted file mode 100644
index ea90ce28d..000000000
--- a/import-layers/meta-openembedded/meta-efl/conf/layer.conf
+++ /dev/null
@@ -1,35 +0,0 @@
-# We have a conf and classes directory, append to BBPATH
-BBPATH .= ":${LAYERDIR}"
-
-# We have a recipes directory, add to BBFILES
-BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend"
-
-BBFILE_COLLECTIONS += "efl-layer"
-BBFILE_PATTERN_efl-layer := "^${LAYERDIR}/"
-BBFILE_PRIORITY_efl-layer = "7"
-
-# This should only be incremented on significant changes that will
-# cause compatibility issues with other layers
-LAYERVERSION_efl-layer = "1"
-
-LAYERDEPENDS_efl-layer = "core openembedded-layer"
-
-E_MIRROR = "http://download.enlightenment.org/releases"
-E_RELEASES = "http://download.enlightenment.org/rel"
-E_SVN = "svn://svn.enlightenment.org/svn/e"
-
-# RDEPENDS on update-alternatives provider opkg-utils
-SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += "\
- exquisite-theme-illume->opkg-utils \
-"
-
-# RDEPENDS on e-wm
-SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += "\
- e-wm-theme-illume-efenniht->e-wm \
- e-wm-theme-illume-neo->e-wm \
- e-wm-theme-b-and-w->e-wm \
-"
-
-SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
- packagegroup-efl-sdk->packagegroup-core-sdk \
-"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-core/meta/meta-toolchain-efl.bb b/import-layers/meta-openembedded/meta-efl/recipes-core/meta/meta-toolchain-efl.bb
deleted file mode 100644
index b7b7fca89..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-core/meta/meta-toolchain-efl.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-TOOLCHAIN_TARGET_EFLTASK ?= "packagegroup-efl-standalone-sdk-target packagegroup-efl-standalone-sdk-target-dbg"
-TOOLCHAIN_TARGET_TASK = "${TOOLCHAIN_TARGET_EFLTASK}"
-TOOLCHAIN_OUTPUTNAME = "${SDK_NAME}-toolchain-efl-${DISTRO_VERSION}"
-require recipes-core/meta/meta-toolchain.bb
-
-TOOLCHAIN_NEED_CONFIGSITE_CACHE += "zlib"
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
deleted file mode 100644
index cc6008387..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-devtools/python/python-edbus.inc
+++ /dev/null
@@ -1,46 +0,0 @@
-DESCRIPTION = "${PN} bindings"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
-AUTHOR = "Gustavo Sverzut Barbieri <barbieri@gmail.com>"
-# NOTE: Due to a bug in distutils, even if we don't use pyrex but cython,
-# we need to build pyrex otherwise cython doesn't get called to build
-# the extension modules.
-DEPENDS = "python-cython-native python-pyrex-native python-numeric eina edbus python-dbus"
-RDEPENDS_${PN} += "python-lang python-dbus"
-
-inherit e-base autotools pkgconfig distutils-base
-
-SRCNAME = "python-e_dbus"
-SRCVER = "${PV}"
-
-SRC_URI = "\
- ${E_MIRROR}/BINDINGS/python/${SRCNAME}-${SRCVER}.tar.bz2 \
-"
-S = "${WORKDIR}/${SRCNAME}-${SRCVER}"
-
-
-do_configure_prepend() {
- # prefix CYTHON_.*_INCLUDEDIR with path to STAGING_DIR_HOST also use $PKG_CONFIG instead of pkg-config directly
- sed -i "s#=\`\$PKG_CONFIG --variable=includedir \"python-evas#=${STAGING_DIR_HOST}\`\$PKG_CONFIG --variable=includedir \"python-evas#g" ${S}/configure.ac
-}
-
-do_install_append() {
- if [ -e examples ]; then
- for i in `find examples -name "*.edc"`; do
- cd ${S}/`dirname $i`
- echo "Generating .edj file for $i..."
- edje_cc `basename $i`
- echo "Removing sources in this directory..."
- rm -f *.edc *.png *.ttf *.jpeg
- done
- cd ${S}
- install -d ${D}${datadir}/${PN}/
- cp -R --no-dereference --preserve=mode,links -v examples ${D}${datadir}/${PN}/
- find ${D}${datadir}/${PN}/examples -name ".svn" | xargs rm -rf
- fi
-}
-
-FILES_${PN}-dbg += "${libdir}/${PYTHON_DIR}/site-packages/*.egg/*/*/.debug"
-
-PACKAGES += "${PN}-examples"
-FILES_${PN}-examples = "${datadir}/${PN}/examples"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-devtools/python/python-edbus_1.7.0.bb b/import-layers/meta-openembedded/meta-efl/recipes-devtools/python/python-edbus_1.7.0.bb
deleted file mode 100644
index bfacf897f..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-devtools/python/python-edbus_1.7.0.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require ${BPN}.inc
-
-PR = "r1"
-
-SRC_URI[md5sum] = "40b479444bb06147429a276127981890"
-SRC_URI[sha256sum] = "78e5ca334ee25185748660b4e612f984f4d3bced018f062278701429868f117b"
-
-PNBLACKLIST[python-edbus] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130600/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
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
deleted file mode 100644
index 6837dab9f..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-devtools/python/python-efl.inc
+++ /dev/null
@@ -1,71 +0,0 @@
-DESCRIPTION = "${PN} bindings"
-
-LICENSE = "LGPL-3.0"
-LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02"
-# there is also GPLv3.0 in COPYING;md5=d32239bcb673463ab874e80d47fae504 but no file seems to use that
-
-AUTHOR = "Gustavo Sverzut Barbieri <barbieri@gmail.com>"
-# NOTE: Due to a bug in distutils, even if we don't use pyrex but cython,
-# we need to build pyrex otherwise cython doesn't get called to build
-# the extension modules.
-DEPENDS = "python-cython-native python-pyrex-native python-numeric python-dbus lua efl elementary"
-RDEPENDS_${PN} += "python-lang"
-
-PROVIDES = "python-ecore python-eldbus python-edje python-elementary python-emotion python-evas"
-
-inherit e-base distutils pkgconfig
-
-SRCVER = "${PV}"
-
-SRC_URI = "\
- ${E_RELEASES}/bindings/python/${SRCNAME}-${SRCVER}.tar.gz \
-"
-S = "${WORKDIR}/${SRCNAME}-${SRCVER}"
-
-do_install_append() {
- # drop all .pyo, pyc files
- find ${D}${libdir}/${PYTHON_DIR}/site-packages -name \*.pyo -o -name \*.pyc | xargs rm -f
-}
-
-PACKAGES += "python-ecore python-eldbus python-edje python-elementary python-emotion python-evas python-ethumb ${PN}-examples"
-
-FILES_${PN} = " \
- ${libdir}/${PYTHON_DIR}/site-packages/python_efl*egg-info \
- ${libdir}/${PYTHON_DIR}/site-packages/efl/eo.so \
- ${libdir}/${PYTHON_DIR}/site-packages/efl/utils \
- ${libdir}/${PYTHON_DIR}/site-packages/efl/__init__.py \
-"
-FILES_${PN}-dbg += "${libdir}/${PYTHON_DIR}/site-packages/*.egg/*/*/.debug"
-FILES_${PN}-dev += "${libdir}/${PYTHON_DIR}/site-packages/*/*.la"
-
-FILES_${PN}-examples = "${datadir}/${PN}/examples"
-
-FILES_python-ecore = " \
- ${libdir}/${PYTHON_DIR}/site-packages/ecore/ \
- ${libdir}/${PYTHON_DIR}/site-packages/efl/ecore*.so \
- ${libdir}/${PYTHON_DIR}/site-packages/efl/ecore \
-"
-FILES_python-eldbus = " \
- ${libdir}/${PYTHON_DIR}/site-packages/e_dbus/ \
- ${libdir}/${PYTHON_DIR}/site-packages/efl/dbus_mainloop.so \
-"
-FILES_python-edje = " \
- ${libdir}/${PYTHON_DIR}/site-packages/edje/ \
- ${libdir}/${PYTHON_DIR}/site-packages/efl/edje*.so \
-"
-FILES_python-elementary = " \
- ${libdir}/${PYTHON_DIR}/site-packages/elementary/ \
- ${libdir}/${PYTHON_DIR}/site-packages/efl/elementary/ \
-"
-FILES_python-emotion = " \
- ${libdir}/${PYTHON_DIR}/site-packages/emotion/ \
- ${libdir}/${PYTHON_DIR}/site-packages/efl/emotion.so \
-"
-FILES_python-evas = " \
- ${libdir}/${PYTHON_DIR}/site-packages/evas/ \
- ${libdir}/${PYTHON_DIR}/site-packages/efl/evas.so \
-"
-FILES_python-ethumb = " \
- ${libdir}/${PYTHON_DIR}/site-packages/ethumb/ \
- ${libdir}/${PYTHON_DIR}/site-packages/efl/ethumb*so \
-"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-devtools/python/python-efl_1.15.0.bb b/import-layers/meta-openembedded/meta-efl/recipes-devtools/python/python-efl_1.15.0.bb
deleted file mode 100644
index e9a79b252..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-devtools/python/python-efl_1.15.0.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI[md5sum] = "f7c5d557336ea9df69bcca09c420711a"
-SRC_URI[sha256sum] = "11e607b465cb66dafe05c66e02d61e09335b370fe9fd2a74d88282b3ee597bcc"
-
-PNBLACKLIST[python-efl] ?= "Depends on blacklisted elementary - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-devtools/python/python-efl_git.bb b/import-layers/meta-openembedded/meta-efl/recipes-devtools/python/python-efl_git.bb
deleted file mode 100644
index 292b9eb87..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-devtools/python/python-efl_git.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require ${BPN}.inc
-
-SRCREV = "71ed20ebf662a7b72e60913df94ce6933236bf09"
-PV = "1.12.0+git${SRCPV}"
-DEFAULT_PREFERENCE = "-1"
-
-SRC_URI = "git://git.enlightenment.org/bindings/python/${BPN}.git;branch=python-efl-1.12"
-
-S = "${WORKDIR}/git"
-
-PNBLACKLIST[python-efl] ?= "Depends on blacklisted elementary - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/cpu/configure.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/cpu/configure.patch
deleted file mode 100644
index 87c85de9f..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/cpu/configure.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: cpu/configure.ac
-===================================================================
---- cpu.orig/configure.ac 2014-07-17 20:39:48.000000000 +0000
-+++ cpu/configure.ac 2014-07-17 21:39:55.320555868 +0000
-@@ -10,7 +10,7 @@
- AC_CANONICAL_HOST
- AC_ISC_POSIX
-
--AM_INIT_AUTOMAKE(1.6)
-+AM_INIT_AUTOMAKE([foreign])
- AM_CONFIG_HEADER(config.h)
- m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
-
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/cpu_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/cpu_svn.bb
deleted file mode 100644
index 3ffb9889f..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/cpu_svn.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35 \
- file://COPYING-PLAIN;md5=c910b645eda0005ccec46f75203dc96e"
-
-PV = "0.0.1+svnr${SRCREV}"
-PR = "${INC_PR}.0"
-
-require e-module.inc
-
-SRC_URI += "file://configure.patch"
-
-PNBLACKLIST[cpu] ?= "Depends on blacklisted e-wm - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/diskio_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/diskio_svn.bb
deleted file mode 100644
index 4f778d6e1..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/diskio_svn.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35 \
- file://COPYING-PLAIN;md5=68be76d8126face2fbbecdf1bcbe2b10"
-
-PV = "0.0.1+svnr${SRCPV}"
-PR = "${INC_PR}.0"
-
-PNBLACKLIST[diskio] ?= "broken: switch to https://git.enlightenment.org/enlightenment/modules/diskio.git/ and fix 0.0.1+svnr82070-r0.0/E-MODULES-EXTRA/diskio/e-module-diskio.edc:58. invalid state name: 'off'. "default" state must always be first. - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-require e-module.inc
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
deleted file mode 100644
index 770f794aa..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-module.inc
+++ /dev/null
@@ -1,19 +0,0 @@
-DESCRIPTION = "E17 ${PN} module"
-SECTION = "x11/multimedia"
-DEPENDS = "e-wm"
-
-SRCREV = "${EFL_SRCREV}"
-INC_PR = "r0"
-
-SRCNAME = "E-MODULES-EXTRA/${BPN}"
-
-inherit e gettext
-SRC_URI = "${E_SVN}/trunk;module=${SRCNAME};protocol=http;scmdata=keep"
-S = "${WORKDIR}/${SRCNAME}"
-
-EXTRA_OECONF = "--with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc"
-
-FILES_${PN} += "${libdir}/enlightenment/modules/${PN}"
-FILES_${PN}-dbg += "${libdir}/enlightenment/modules/${PN}/*/.debug"
-FILES_${PN}-staticdev += "${libdir}/enlightenment/modules/${PN}/*/*.a"
-
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-tasks/0001-dbus-stuff-Convert-to-eldbus.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-tasks/0001-dbus-stuff-Convert-to-eldbus.patch
deleted file mode 100644
index f92a772fe..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-tasks/0001-dbus-stuff-Convert-to-eldbus.patch
+++ /dev/null
@@ -1,204 +0,0 @@
-From 37223289b3d85ea8876e7ba7c9ff97ec428073ba Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sat, 22 Feb 2014 14:36:38 +0100
-Subject: [PATCH] dbus-stuff: Convert to eldbus
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- configure.ac | 2 +-
- src/Makefile.am | 2 +-
- src/dbus-stuff.c | 95 ++++++++++++++++++++++++++++++++------------------------
- src/dbus-stuff.h | 13 ++------
- src/main.c | 2 +-
- 5 files changed, 61 insertions(+), 53 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index b3e4d12..4ace32a 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -15,7 +15,7 @@ AC_HEADER_STDC
-
- AM_PROG_LIBTOOL
-
--PKG_CHECK_MODULES(TASKS, [elementary eina dbus-1 edbus sqlite3])
-+PKG_CHECK_MODULES(TASKS, [elementary eina dbus-1 eldbus sqlite3])
-
- AC_OUTPUT([
- Makefile
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 2143dc9..31d5253 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -8,7 +8,7 @@ AM_CPPFLAGS = \
- $(TASKS_CFLAGS)
-
- AM_CFLAGS =\
-- $(EDBUS_CFLAGS) \
-+ $(ELDBUS_CFLAGS) \
- -Wall\
- -g
-
-diff --git a/src/dbus-stuff.c b/src/dbus-stuff.c
-index 50809bc..9f02ef3 100644
---- a/src/dbus-stuff.c
-+++ b/src/dbus-stuff.c
-@@ -1,8 +1,7 @@
- /***************************************************************************
- * dbus-stuff.c
- *
-- * Copyright 2009 cchandel
-- * <cchandel@yahoo.com>
-+ * Copyright 2009 cchandel <cchandel@yahoo.com>
- ****************************************************************************/
-
- /*
-@@ -21,51 +20,67 @@
- * Foundation, Inc., 51 Franklin Street, Fifth Floor Boston, MA 02110-1301, USA
- */
- #include "dbus-stuff.h"
--#include <string.h>
--#include <E_DBus.h>
--#include <Elementary.h>
-+#include "Eldbus.h"
-
--void occupy_cpu(void)
-+void on_usage_cb(void *data EINA_UNUSED, const Eldbus_Message *msg, Eldbus_Pending *pending EINA_UNUSED)
-+{
-+ const char *errname, *errmsg;
-+ if (eldbus_message_error_get(msg, &errname, &errmsg))
-+ fprintf(stderr, "Error: %s %s\n", errname, errmsg);
-+}
-+
-+int ousaged_resource(const char *resource, int used)
- {
-- e_dbus_init();
-- conn = e_dbus_bus_get(DBUS_BUS_SYSTEM);
--
-- DBusMessage *msg;
-- msg = dbus_message_new_method_call(
-- "org.freesmartphone.ousaged",
-- "/org/freesmartphone/Usage",
-- "org.freesmartphone.Usage",
-- "RequestResource"
-- );
--
-- const char *resource = "CPU";
-- dbus_message_append_args (msg, DBUS_TYPE_STRING, &resource, DBUS_TYPE_INVALID);
-+ eldbus_init();
-+ const char *REQUEST = "RequestResource";
-+ const char *RELEASE = "ReleaseResource";
-+ const int PREQUEST = 1;
-
-- e_dbus_message_send(conn, msg, dbus_reply_cb, -1, NULL);
-- dbus_message_unref(msg);
--}
-+ Eldbus_Connection *conn;
-+ Eldbus_Object *obj;
-+ Eldbus_Proxy *usage;
-+ Eldbus_Pending *pending;
-+ conn = eldbus_connection_get(ELDBUS_CONNECTION_TYPE_SYSTEM);
-+ if (!conn)
-+ {
-+ fprintf(stderr, "Error: could not get system bus\n");
-+ return EXIT_FAILURE;
-+ }
-
--void release_cpu(void)
--{
-- DBusMessage *msg;
-- msg = dbus_message_new_method_call(
-- "org.freesmartphone.ousaged",
-- "/org/freesmartphone/Usage",
-- "org.freesmartphone.Usage",
-- "ReleaseResource"
-- );
--
-- const char *resource = "CPU";
-- dbus_message_append_args (msg, DBUS_TYPE_STRING, &resource, DBUS_TYPE_INVALID);
-+ obj = eldbus_object_get(conn, "org.freesmartphone.ousaged", "/org/freesmartphone/Usage");
-+ if (!obj)
-+ {
-+ fprintf(stderr, "Error: could not get object\n");
-+ return EXIT_FAILURE;
-+ }
-
-- e_dbus_message_send(conn, msg, dbus_reply_cb, -1, NULL);
-- dbus_message_unref(msg);
-+ usage = eldbus_proxy_get(obj, "org.freesmartphone.Usage");
-+ if (!usage)
-+ {
-+ fprintf(stderr, "Error: could not get proxy\n");
-+ return EXIT_FAILURE;
-+ }
-+
-+ pending = eldbus_proxy_call(usage, used == PREQUEST ? REQUEST : RELEASE, on_usage_cb, NULL, -1, "ss", resource);
-+ if (!pending)
-+ {
-+ fprintf(stderr, "Error: could not call\n");
-+ return EXIT_FAILURE;
-+ }
-+ eldbus_proxy_unref(usage);
-+ eldbus_object_unref(obj);
-+ eldbus_connection_unref(conn);
-+
-+ eldbus_shutdown();
-+ return EXIT_SUCCESS;
- }
-
--void dbus_reply_cb(void *data, DBusMessage *replymsg, DBusError *error)
-+int request_cpu(void)
- {
-- if (dbus_error_is_set(error)) {
-- printf("Error: %s - %s\n", error->name, error->message);
-- }
-+ return ousaged_resource("CPU", 1);
- }
-
-+int release_cpu(void)
-+{
-+ return ousaged_resource("CPU" , 0);
-+}
-diff --git a/src/dbus-stuff.h b/src/dbus-stuff.h
-index 83d4778..a3c72cb 100644
---- a/src/dbus-stuff.h
-+++ b/src/dbus-stuff.h
-@@ -2,8 +2,7 @@
- * dbus.h
- *
- * Fri Mar 6 12:32:57 2009
-- * Copyright 2009 nidhin
-- * <nidhin@nids-laptop.home>
-+ * Copyright 2009 nidhin <nidhin@nids-laptop.home>
- ****************************************************************************/
-
- /*
-@@ -22,11 +21,5 @@
- * Foundation, Inc., 51 Franklin Street, Fifth Floor Boston, MA 02110-1301, USA
- */
-
--#include <E_DBus.h>
--#include <Elementary.h>
--
--void occupy_cpu(void);
--void release_cpu(void);
--void dbus_reply_cb(void *data, DBusMessage *replymsg, DBusError *error);
--
--E_DBus_Connection *conn;
-+int request_cpu(void);
-+int release_cpu(void);
-diff --git a/src/main.c b/src/main.c
-index 92d21de..4e4bbe2 100644
---- a/src/main.c
-+++ b/src/main.c
-@@ -76,7 +76,7 @@ elm_main(int argc, char **argv)
- //restore state
- restore_state();
-
-- occupy_cpu();
-+ request_cpu();
-
- elm_run();
- //clean up stuff
---
-1.8.5.3
-
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-tasks_git.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-tasks_git.bb
deleted file mode 100644
index 7eab6d0f0..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-tasks_git.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-SUMMARY = "e-tasks is a todo program for Openmoko phones"
-HOMEPAGE = "http://code.google.com/p/e-tasks/"
-AUTHOR = "cchandel"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a"
-SECTION = "e/apps"
-DEPENDS = "elementary eina eldbus sqlite3"
-
-inherit autotools
-
-SRCREV = "890f5ee37d1a5fd1ceb2495950d15151d4cf756b"
-PV = "0.0.2+gitr${SRCPV}"
-
-SRC_URI = "git://github.com/shr-project/e-tasks.git"
-SRC_URI += "file://0001-dbus-stuff-Convert-to-eldbus.patch"
-
-S = "${WORKDIR}/git"
-
-do_install_append() {
- install -d "${D}/${datadir}/pixmaps"
- install -m 0644 "${S}/resources/e-tasks.png" "${D}/${datadir}/pixmaps"
- install -d "${D}/${datadir}/applications"
- install -m 0644 "${S}/resources/e-tasks.desktop" "${D}/${datadir}/applications"
- install -d "${D}/${datadir}/e-tasks"
- for ico in "${S}/resources/"*.png; do
- if [ "$(basename $ico)" != "e-tasks.png" ]; then
- install -m 0644 $ico "${D}/${datadir}/e-tasks"
- fi
- done
-}
-
-FILES_${PN} += "/usr/share/e-tasks/* /usr/share/applications/* /usr/share/pixmaps/*"
-
-PNBLACKLIST[e-tasks] ?= "Depends on blacklisted elementary - the recipe will be removed on 2017-09-01 unless the issue is fixed"
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
deleted file mode 100644
index 9e6e9f24e..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm-theme-b-and-w_svn.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-DESCRIPTION = "b-and-w theme was default E17 theme before alpha3 and some people still prefers it."
-SECTION = "e/utils"
-DEPENDS = "edje-native"
-RDEPENDS_${PN} = "e-wm"
-LICENSE = "MIT & BSD"
-# upstream was asked to include license infor in THEME dir
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-
-inherit allarch
-
-SRCREV = "${EFL_SRCREV}"
-PV = "0.0+svnr${SRCPV}"
-
-inherit e-base
-
-SRCNAME = "b_and_w"
-SRC_URI = "${E_SVN}/trunk/THEMES;module=${SRCNAME};protocol=http"
-S = "${WORKDIR}/${SRCNAME}/e"
-
-do_compile() {
- # unfortunately hardcoded edje_cc in Makefile
- sed -i "s#\tedje_cc#\t${STAGING_BINDIR_NATIVE}/edje_cc#g" Makefile
- make
-}
-
-do_install() {
- install -d ${D}${datadir}/enlightenment/data/themes/
- install -m 0644 ${S}/b_and_w.edj ${D}${datadir}/enlightenment/data/themes/
-}
-
-FILES_${PN} = "${datadir}/enlightenment/data/themes/"
-
-PNBLACKLIST[e-wm-theme-b-and-w] ?= "Runtime depends on blacklisted e-wm - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[e-wm-theme-b-and-w] ?= "Runtime depends on blacklisted e-wm-theme-b-and-w - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[e-wm-theme-b-and-w] ?= "Runtime depends on blacklisted e-wm-theme-b-and-w-dev - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm-theme-illume-efenniht/LICENSE b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm-theme-illume-efenniht/LICENSE
deleted file mode 100644
index 61bb2f603..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm-theme-illume-efenniht/LICENSE
+++ /dev/null
@@ -1,25 +0,0 @@
-Copyright notice for Enlightenment:
-
-Copyright (C) 2000-2010 Carsten Haitzler and various contributors (see AUTHORS)
-
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
-INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
-FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
-OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm-theme-illume-efenniht_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm-theme-illume-efenniht_svn.bb
deleted file mode 100644
index 521213475..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm-theme-illume-efenniht_svn.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-DESCRIPTION = "efenniht illume theme - Efenniht was devised to be clean \
-and neutral. Its name (which means equinox) comes from the chromatic duality \
-that was decided at the very beginning, with a dark theme (black and orange) \
-and a bright one (white and blue) to be developed so that more people feel \
-comfortable using it. Efenniht uses few animations, discrete contrasts between \
-shades of gray and fine lines (colored) that outline the selected elements."
-SECTION = "e/utils"
-HOMEPAGE = "http://trac.enlightenment.org/e/wiki/Themes#Efenniht"
-DEPENDS = "edje-native"
-RDEPENDS_${PN} = "e-wm"
-RSUGGESTS_${PN} = "elementary-theme-efenniht"
-LICENSE = "MIT & BSD"
-LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=f523ab5986cc79b52a90d2ac3d5454a2"
-
-SRCREV = "${EFL_SRCREV}"
-PV = "0.0+svnr${SRCPV}"
-
-inherit e-base allarch
-
-SRCNAME = "efenniht"
-SRC_URI = "${E_SVN}/trunk/THEMES;module=${SRCNAME};protocol=http \
- file://LICENSE \
-"
-S = "${WORKDIR}/${SRCNAME}"
-
-do_compile() {
- ${STAGING_BINDIR_NATIVE}/edje_cc -id ${S}/images ${S}/efenniht.edc -o ${S}/efenniht.edj
-}
-
-do_install() {
- install -d ${D}${datadir}/enlightenment/data/themes/
- install -m 0644 ${S}/efenniht.edj ${D}${datadir}/enlightenment/data/themes/
-}
-
-FILES_${PN} = "${datadir}/enlightenment/data/themes/"
-
-PNBLACKLIST[e-wm-theme-illume-efenniht] ?= "Runtime depends on blacklisted e-wm - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[e-wm-theme-illume-efenniht] ?= "Runtime depends on blacklisted e-wm-theme-illume-efenniht - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm.inc b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm.inc
deleted file mode 100644
index a6e964b55..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm.inc
+++ /dev/null
@@ -1,200 +0,0 @@
-DESCRIPTION = "The Enlightenment Window Manager Version 17"
-DEPENDS = "eet evas eina ecore edje efreet edbus eeze eio elementary libxcb xcb-util-keysyms"
-LICENSE = "MIT & BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=76de290eb3fdda12121830191c152a7d"
-SRCNAME = "e"
-
-inherit e update-alternatives gettext pkgconfig
-S = "${WORKDIR}/${SRCNAME}"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)}"
-PACKAGECONFIG[pam] = "--enable-pam,--disable-pam,libpam"
-PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
-
-EXTRA_OECONF = "\
- --with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc \
- --with-eet-eet=${STAGING_BINDIR_NATIVE}/eet \
- --x-includes=${STAGING_INCDIR}/X11 \
- --x-libraries=${STAGING_LIBDIR} \
- --enable-simple-x11 \
-"
-
-do_configure_prepend() {
- autopoint || true
- sed '/^ *EFL_PKG_CHECK_VAR/ s/systemduserunitdir/systemdsystemunitdir/g' -i ${S}/configure.ac
-}
-
-do_install_append() {
- # customising - should rather make this simple upstream
- install -m 755 ${WORKDIR}/enlightenment_start.oe ${D}/${bindir}
-
- # security reasons, e-wm checks that in runtime
- # xinit[418]: ERROR: CONFIGURATION FILE HAS BAD PERMISSIONS
- chmod 600 ${D}/${sysconfdir}/enlightenment/sysactions.conf
-
- install -d ${D}/${sysconfdir}/xdg/menus
- install -m 644 ${WORKDIR}/applications.menu ${D}/${sysconfdir}/xdg/menus/
- for I in `find ${D}/${libdir}/enlightenment -name "*.a" -print`; do rm -f $I; done
- for I in `find ${D}/${libdir}/enlightenment -name "*.la" -print`; do rm -f $I; done
-
- # work around for issue caused in r78978, more infor in:
- # http://sourceforge.net/mailarchive/forum.php?thread_name=20121118194904.GA3438%40jama.jama.net&forum_name=enlightenment-devel
- mv ${D}/${libdir}/enlightenment/modules/policies ${D}/${libdir}/enlightenment/modules/illume2/ \
- || echo "illume2 policies are in correct place now"
- mv ${D}/${libdir}/enlightenment/modules/keyboards ${D}/${libdir}/enlightenment/modules/illume2/ \
- || echo "illume2 keyboards are in correct place now"
-}
-
-RDEPENDS_${PN} += "\
- shared-mime-info \
- mime-support \
- setxkbmap \
- edje-utils \
- ${PN}-utils \
- dbus-x11 \
-"
-
-# Uclibc build don't have 'glibc-utils'
-RDEPENDS_${PN}_append_libc-glibc = " glibc-utils "
-
-# The systray module used to be external, but is part of e-wm now
-RREPLACES_${PN} = "systray"
-
-RREPLACES_${PN}-config-mobile = "${PN}-config-illume2"
-RCONFLICTS_${PN}-config-mobile = "${PN}-config-illume2"
-RPROVIDES_${PN}-config-mobile = "${PN}-config-illume2"
-
-PACKAGES =+ "\
- ${PN}-config-default \
- ${PN}-config-mobile \
- ${PN}-config-minimalist \
- ${PN}-config-netbook \
- ${PN}-config-scaleable \
- ${PN}-config-standard \
- ${PN}-config-tiling \
- ${PN}-theme-default \
- ${PN}-background-dark-gradient \
- ${PN}-background-light-gradient \
- ${PN}-backgrounds \
- ${PN}-images \
- ${PN}-icons \
- ${PN}-other \
- ${PN}-input-methods \
- ${PN}-sysactions \
- ${PN}-utils \
- ${PN}-menu \
- efm-desktop-icon \
- illume-keyboard-default-alpha \
- illume-keyboard-default-numeric \
- illume-keyboard-default-terminal \
-"
-
-ESYSACTIONS ?= "${PN}-sysactions"
-
-RRECOMMENDS_${PN} = "\
- ${PN}-config-default \
- ${PN}-images \
- ${PN}-icons \
- ${PN}-other \
- ${PN}-input-methods \
- ${ESYSACTIONS} \
- efreet \
- evas-generic-loader-svg \
-"
-
-FILES_${PN} = "\
- ${bindir}/* \
- ${libdir}/enlightenment/utils/* \
- ${libdir}/enlightenment/modules/*/*.* \
- ${libdir}/enlightenment/modules/*/*/* \
- ${libdir}/enlightenment/modules/*/*/.order \
- ${libdir}/enlightenment/modules/keyboards/ignore_built_in_keyboards \
- ${libdir}/enlightenment/*plugins/*/*/* \
- ${libdir}/enlightenment/preload/e_precache.so \
- ${datadir}/enlightenment/data/icons \
- ${datadir}/enlightenment/data/favorites \
- ${datadir}/enlightenment/data/input_methods \
- ${datadir}/enlightenment/data/config/profile.cfg \
- ${datadir}/enlightenment/AUTHORS \
- ${datadir}/enlightenment/COPYING \
- ${datadir}/xsessions/enlightenment.desktop \
- ${sysconfdir}/xdg \
- ${systemd_unitdir} \
-"
-
-FILES_${PN}-config-default = "${datadir}/enlightenment/data/config/default"
-FILES_${PN}-config-mobile = "${datadir}/enlightenment/data/config/mobile"
-FILES_${PN}-config-minimalist = "${datadir}/enlightenment/data/config/minimalist"
-FILES_${PN}-config-netbook = "${datadir}/enlightenment/data/config/netbook"
-FILES_${PN}-config-scaleable = "${datadir}/enlightenment/data/config/scaleable"
-FILES_${PN}-config-standard = "${datadir}/enlightenment/data/config/standard"
-FILES_${PN}-config-tiling = "${datadir}/enlightenment/data/config/tiling"
-FILES_${PN}-theme-default = "${datadir}/enlightenment/data/themes/default.edj"
-FILES_${PN}-theme-default = "${datadir}/enlightenment/data/themes/default.edj"
-FILES_${PN}-background-dark-gradient = "${datadir}/enlightenment/data/backgrounds/Dark_Gradient.edj"
-FILES_${PN}-background-light-gradient = "${datadir}/enlightenment/data/backgrounds/Light_Gradient.edj"
-FILES_${PN}-backgrounds = "${datadir}/enlightenment/data/backgrounds/*.edj"
-FILES_${PN}-images = "${datadir}/enlightenment/data/images ${datadir}/enlightenment/data/flags"
-FILES_${PN}-icons = "${datadir}/enlightenment/data/icons"
-FILES_${PN}-other = "${datadir}/enlightenment/data/other"
-FILES_${PN}-input-methods = "${datadir}/enlightenment/data/input_methods"
-FILES_${PN}-sysactions = "${sysconfdir}/enlightenment/sysactions.conf"
-FILES_${PN}-utils = "${libdir}/enlightenment/utils/*"
-FILES_${PN}-menu = "${sysconfdir}/xdg/menus/applications.menu"
-
-FILES_efm-desktop-icon = "\
- ${datadir}/applications/efm.desktop \
- ${datadir}/applications/enlightenment_filemanager.desktop \
- ${datadir}/icons/e-module-fileman.png \
-"
-
-KEYBOARDS_DIR="${libdir}/enlightenment/modules/illume-keyboard/keyboards"
-FILES_illume-keyboard-default-alpha = "\
- ${KEYBOARDS_DIR}/Default.kbd \
- ${KEYBOARDS_DIR}/alpha.png \
-"
-FILES_illume-keyboard-default-numeric = "\
- ${KEYBOARDS_DIR}/Numbers.kbd \
- ${KEYBOARDS_DIR}/numeric.png \
-"
-FILES_illume-keyboard-default-terminal = "\
- ${KEYBOARDS_DIR}/Terminal.kbd \
- ${KEYBOARDS_DIR}/qwerty.png \
-"
-
-RRECOMMENDS_${PN}-config-default = "${PN}-theme-default"
-RRECOMMENDS_${PN}-config-mobile = "\
- illume-keyboard-default-alpha \
- illume-keyboard-default-numeric \
- illume-keyboard-default-terminal \
-"
-
-RRECOMMENDS_${PN}-config-minimalist = "\
- ${PN}-background-light-gradient \
- ${PN}-theme-default \
-"
-RRECOMMENDS_${PN}-config-netbook = "\
- ${PN}-background-dark-gradient \
- ${PN}-theme-default \
-"
-RRECOMMENDS_${PN}-config-scaleable = "${PN}-theme-default"
-RRECOMMENDS_${PN}-config-standard = "${PN}-theme-default"
-
-FILES_${PN}-dbg += "\
- ${libdir}/enlightenment/modules/*/*/.debug/ \
- ${libdir}/enlightenment/modules/policies/.debug/ \
- ${libdir}/enlightenment/preload/.debug/ \
- ${libdir}/enlightenment/utils/.debug/ \
- ${libdir}/enlightenment/*plugins/*/*/.debug \
-"
-
-FILES_${PN}-doc += "\
- ${datadir}/enlightenment/doc \
-"
-
-CONFFILES_${PN}-menu = "${sysconfdir}/xdg/menus/applications.menu"
-CONFFILES_${PN}-sysactions = "/etc/enlightenment/sysactions.conf"
-
-ALTERNATIVE_${PN} = "x-window-manager"
-ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/enlightenment_start.oe"
-ALTERNATIVE_PRIORITY[x-window-manager] = "16"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm/0001-Fix-incorrect-message-type.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm/0001-Fix-incorrect-message-type.patch
deleted file mode 100644
index e718ef3db..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm/0001-Fix-incorrect-message-type.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 0aef43c9cd1656413cf2eb3dc7c19b355ee7ed52 Mon Sep 17 00:00:00 2001
-From: Carlos Rafael Giani <dv@pseudoterminal.org>
-Date: Sun, 1 Jun 2014 14:45:49 +0200
-Subject: [PATCH] Fix incorrect message type
-
-Upstream-Status: Pending
-
-Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
----
- src/bin/e_desk.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/bin/e_desk.c b/src/bin/e_desk.c
-index b156e19..77d7520 100644
---- a/src/bin/e_desk.c
-+++ b/src/bin/e_desk.c
-@@ -221,7 +221,7 @@ e_desk_show(E_Desk *desk)
- E_Event_Desk_Show *ev;
- E_Event_Desk_Before_Show *eev;
- E_Event_Desk_After_Show *eeev;
-- Edje_Message_Float_Set *msg;
-+ Edje_Message_Int_Set *msg;
- Eina_List *l;
- E_Shelf *es;
- int was_zone = 0, x, y, dx = 0, dy = 0;
---
-1.8.3.2
-
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm/0001-configure.ac-add-foreign.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm/0001-configure.ac-add-foreign.patch
deleted file mode 100644
index c7a574c90..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm/0001-configure.ac-add-foreign.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 19e59b6e8148388e7a17f10d4390176a50e2917f Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Mon, 25 Aug 2014 16:06:03 +0200
-Subject: [PATCH] configure.ac: add foreign
-
-* fixes:
- | configure.ac:312: error: required file './ABOUT-NLS' not found
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 51ad0ba..cd77739 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -34,7 +34,7 @@ AH_BOTTOM([
- #endif /* EFL_CONFIG_H__ */
- ])
-
--AM_INIT_AUTOMAKE([1.11 dist-bzip2 dist-xz -Wno-portability])
-+AM_INIT_AUTOMAKE([1.11 dist-bzip2 dist-xz -Wno-portability foreign])
- AM_SILENT_RULES([yes])
-
- AC_USE_SYSTEM_EXTENSIONS
---
-2.3.0
-
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm/applications.menu b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm/applications.menu
deleted file mode 100644
index ed9b90662..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm/applications.menu
+++ /dev/null
@@ -1,105 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://standards.freedesktop.org/menu-spec/menu-1.0.dtd">
-<Menu>
- <Name>Applications</Name>
- <!-- <Directory>Applications.directory</Directory> -->
-
- <!-- Read standard .directory and .desktop file locations -->
- <DefaultAppDirs>/usr/share/applications</DefaultAppDirs>
- <DefaultDirectoryDirs/>
-
- <Menu>
- <Name>Office</Name>
- <Directory>Office.directory</Directory>
- <Include>
- <And>
- <Category>Office</Category>
- </And>
- </Include>
- </Menu>
-
- <Menu>
- <Name>Multimedia</Name>
- <Directory>Multimedia.directory</Directory>
- <Include>
- <And>
- <Category>AudioVideo</Category>
- </And>
- </Include>
- </Menu>
-
- <Menu>
- <Name>Graphics</Name>
- <Directory>Graphics.directory</Directory>
- <Include>
- <And>
- <Category>Graphics</Category>
- </And>
- </Include>
- </Menu>
-
- <Menu>
- <Name>Games</Name>
- <Directory>Games.directory</Directory>
- <Include>
- <And>
- <Or>
- <Category>Game</Category>
- <Category>Games</Category>
- </Or>
- </And>
- </Include>
- </Menu>
-
- <Menu>
- <Name>Internet</Name>
- <Directory>Internet.directory</Directory>
- <Include>
- <And>
- <Or>
- <Category>Internet</Category>
- <Category>Network</Category>
- </Or>
- </And>
- </Include>
- </Menu>
-
- <Menu>
- <Name>Settings</Name>
- <Directory>Settings.directory</Directory>
- <Include>
- <And>
- <Or>
- <Category>SystemSettings</Category>
- <Category>Settings</Category>
- </Or>
- <Not>
- <Category>System</Category>
- </Not>
- </And>
- </Include>
- </Menu>
-
- <Menu>
- <Name>Accessories</Name>
- <Directory>Accessories.directory</Directory>
- <Include>
- <And>
- <Or>
- <Category>Applications</Category>
- <Category>Utility</Category>
- </Or>
- <Not>
- <Category>System</Category>
- <Category>Office</Category>
- <Category>Internet</Category>
- <Category>AudioVideo</Category>
- <Category>Graphics</Category>
- <Category>Games</Category>
- </Not>
- </And>
- </Include>
- </Menu>
-
-</Menu>
-
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm/enlightenment_start.oe b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm/enlightenment_start.oe
deleted file mode 100644
index ff8617275..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm/enlightenment_start.oe
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-
-E_PROFILE=""
-if [ -r /etc/enlightenment/default_profile ]; then
- . /etc/enlightenment/default_profile
-fi
-
-renice -2 -p $$
-exec enlightenment_start $E_PROFILE
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm_0.18.8.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm_0.18.8.bb
deleted file mode 100644
index ac18b59bb..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm_0.18.8.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-require ${BPN}.inc
-
-SRCNAME = "enlightenment"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-SRC_URI = "\
- ${E_RELEASES}/apps/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \
- file://enlightenment_start.oe \
- file://applications.menu \
- file://0001-Fix-incorrect-message-type.patch \
-"
-
-SRC_URI[md5sum] = "79c9f524e1d0510061c62c4b038a8ece"
-SRC_URI[sha256sum] = "14c9bde4334d2f8b0776c6113d02b923ab159eea1cbf7013489e4f3bf37a51bb"
-
-PNBLACKLIST[e-wm] ?= "Depends on blacklisted elementary - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm_0.19.10.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm_0.19.10.bb
deleted file mode 100644
index aa6a7b8d7..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm_0.19.10.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-require ${BPN}.inc
-
-SRCNAME = "enlightenment"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-# couple of modules needed for illume2 (mobile) profile were removed in
-# http://git.enlightenment.org/core/enlightenment.git/commit/src/modules/Makefile.mk?id=1be76d599ca27f820b58b8186c5f73d9844c67ca
-# and replacements aren't included yet, if you want to use e-wm on device with small screen, better stay with 0.18 release
-DEFAULT_PREFERENCE = "-1"
-
-SRC_URI = "\
- ${E_RELEASES}/apps/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \
- file://enlightenment_start.oe \
- file://applications.menu \
-"
-
-SRC_URI[md5sum] = "9063617760329445ada8635270a4e627"
-SRC_URI[sha256sum] = "484d305bcf403303b18c46a3a498445b93689cd325010ae8d0601551926469d8"
-
-PNBLACKLIST[e-wm] ?= "Depends on blacklisted elementary - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm_git.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm_git.bb
deleted file mode 100644
index 0f25fd592..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm_git.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require ${BPN}.inc
-
-PV = "0.19.4+git${SRCPV}"
-DEFAULT_PREFERENCE = "-2"
-
-SRC_URI = " \
- git://git.enlightenment.org/core/enlightenment.git;branch=enlightenment-0.19 \
- file://0001-configure.ac-add-foreign.patch \
- file://enlightenment_start.oe \
- file://applications.menu \
-"
-S = "${WORKDIR}/git"
-
-SRCREV = "4545d4a70031e0b2565b8d83d5f756bff1a584d0"
-
-PNBLACKLIST[e-wm] ?= "Depends on blacklisted elementary - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/edje-viewer_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/edje-viewer_svn.bb
deleted file mode 100644
index 6d3efda51..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/edje-viewer_svn.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Edje_Viewer is just that"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35 \
- file://COPYING-PLAIN;md5=e01359041001e8bf24c09acca556e792"
-
-DEPENDS = "elementary"
-PV = "0.0.0+svnr${SRCPV}"
-SRCREV = "${EFL_SRCREV}"
-
-inherit e
-
-SRCNAME = "edje_viewer"
-SRC_URI = "${E_SVN}/trunk;module=${SRCNAME};protocol=http;scmdata=keep"
-S = "${WORKDIR}/${SRCNAME}"
-
-FILES_${PN} += "${datadir}"
-
-PNBLACKLIST[edje-viewer] ?= "Depends on blacklisted elementary - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/elbow_git.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/elbow_git.bb
deleted file mode 100644
index d2a853989..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/elbow_git.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "EFL based browser"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6"
-DEPENDS = "evas ecore edje eina elementary webkit-efl sqlite3"
-
-PV = "0.0.1+gitr${SRCPV}"
-SRCREV = "b41fd0bc9514ff61bb2a50d957efe4155fa3e6a8"
-
-# webkit-efl isn't available for < armv7a
-COMPATIBLE_MACHINE = "(-)"
-COMPATIBLE_MACHINE_x86 = "(.*)"
-COMPATIBLE_MACHINE_x86-64 = "(.*)"
-COMPATIBLE_MACHINE_armv7a = "(.*)"
-
-inherit e gettext cmake
-
-EXTRA_OECMAKE = "-DDATA_INSTALL_DIR=${datadir}"
-
-SRC_URI = " \
- git://github.com/bunhere/elbow.git;protocol=https \
-"
-S = "${WORKDIR}/git"
-
-FILES_${PN} += "${datadir}/themes"
-
-PNBLACKLIST[elbow] ?= "Depends on blacklisted webkit-efl - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/elfe_git.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/elfe_git.bb
deleted file mode 100644
index e9f7f9e89..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/elfe_git.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35"
-PV = "0.0.1+gitr${SRCPV}"
-PE = "1"
-
-require e-module.inc
-
-SRC_URI = " \
- git://git.enlightenment.org/enlightenment/modules/${BPN}.git \
-"
-S = "${WORKDIR}/git"
-
-SRCREV = "1ec0e7713c3ca901014811ff78277d9e2aaac981"
-
-DEPENDS += "elementary"
-
-PNBLACKLIST[elfe] ?= "Depends on blacklisted elementary - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/elmdentica/configure.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/elmdentica/configure.patch
deleted file mode 100644
index 79a981b47..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/elmdentica/configure.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: elmdentica/configure.ac
-===================================================================
---- elmdentica.orig/configure.ac 2014-07-17 21:46:14.712566207 +0000
-+++ elmdentica/configure.ac 2014-07-17 21:51:34.960574935 +0000
-@@ -3,7 +3,7 @@
- AM_CONFIG_HEADER(config.h)
- AC_CONFIG_MACRO_DIR([m4])
-
--AM_INIT_AUTOMAKE
-+AM_INIT_AUTOMAKE([foreign])
-
- AC_PROG_CC
- AC_GNU_SOURCE
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/elmdentica_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/elmdentica_svn.bb
deleted file mode 100644
index b17121721..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/elmdentica_svn.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "A indenti.ca client for E"
-DEPENDS = "glib-2.0 gconf curl elementary sqlite3-native azy"
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-SECTION = "e/apps"
-HOMEPAGE = "http://elmdentica.googlecode.com"
-AUTHOR = "seabra"
-
-inherit e gettext
-SRC_URI = "${E_SVN}/trunk;module=${SRCNAME};protocol=http;scmdata=keep"
-S = "${WORKDIR}/${SRCNAME}"
-
-EXTRA_OECONF = "--with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc"
-
-PV = "0.9.9+svnr${SRCPV}"
-SRCREV = "${EFL_SRCREV}"
-
-RDEPENDS_${PN} = "${PN}-themes"
-
-SRC_URI += "file://configure.patch"
-
-PNBLACKLIST[elmdentica] ?= "OLD and depends on broken azy - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/emprint_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/emprint_svn.bb
deleted file mode 100644
index 115dc7cf5..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/emprint_svn.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-DESCRIPTION = "Emprint is a utility for taking screenshots of the entire screen, a specific window, or a specific region."
-LICENSE = "MIT & BSD"
-DEPENDS = "imlib2 virtual/libx11 ecore evas edje eina"
-PV = "0.0.1+svnr${SRCPV}"
-LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35"
-SRCREV = "${EFL_SRCREV}"
-
-inherit e
-SRC_URI = "${E_SVN}/trunk;module=${SRCNAME};protocol=http;scmdata=keep"
-S = "${WORKDIR}/${SRCNAME}"
-
-FILES_${PN}-dbg += "${libdir}/${PN}/modules/.debug"
-
-PNBLACKLIST[emprint] ?= "if you want to use these modules with E18, then you need to update it to git recipe fetching newer sources from http://git.enlightenment.org/apps/emprint.git/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/enjoy/0001-always-use-position-as-percent-and-define-a-1-second.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/enjoy/0001-always-use-position-as-percent-and-define-a-1-second.patch
deleted file mode 100644
index 09624503b..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/enjoy/0001-always-use-position-as-percent-and-define-a-1-second.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-From 751505501e0db31cf766ec0ae95a6968b4d1eb93 Mon Sep 17 00:00:00 2001
-From: Alban Browaeys <prahal@yahoo.com>
-Date: Wed, 5 Sep 2012 02:58:26 +0000
-Subject: [PATCH] always use position as percent and define a 1 seconds
- tolerance.
-
-Fix "reverb" effect: ie loop between setting the slider to match
-the position and handling slider to position (seek).
----
- data/themes/default.edc | 8 +++-----
- src/bin/win.c | 28 ++++++++++++++++++++++------
- 2 files changed, 25 insertions(+), 11 deletions(-)
-
-diff --git a/data/themes/default.edc b/data/themes/default.edc
-index ebf8ba4..7a906b1 100644
---- a/data/themes/default.edc
-+++ b/data/themes/default.edc
-@@ -186,7 +186,6 @@ collections {
- group {
- name: "nowplaying";
- script {
-- public cur_length;
- public mute;
-
- public get_time_str(Float:time, time_str[6])
-@@ -201,16 +200,15 @@ collections {
- new Float:position = getfarg(2);
- new Float:length = getfarg(3);
- if (length > 0)
-- external_param_set_float(PART:"progress.slider", "value", position / length * 100);
-+ external_param_set_float(PART:"progress.slider", "value", position * 100);
- else
- external_param_set_float(PART:"progress.slider", "value", 0);
-
- new time_str[6];
-- get_time_str(position, time_str);
-+ get_time_str(position * length, time_str);
- set_text(PART:"ejy.text.current_time", time_str);
- get_time_str(length, time_str);
- set_text(PART:"ejy.text.total_time", time_str);
-- set_float(cur_length, length);
- } else if (type == MSG_INT && id == MSG_SHUFFLE) {
- external_param_set_bool(PART:"buttons.shuffle", "state", getarg(2));
- } else if (type == MSG_INT && id == MSG_LOOP) {
-@@ -689,7 +687,7 @@ collections {
- source: "progress.slider";
- signal: "changed";
- script {
-- send_message(MSG_FLOAT, MSG_POSITION, (external_param_get_float(PART:"progress.slider", "value") * get_float(cur_length) / 100));
-+ send_message(MSG_FLOAT, MSG_POSITION, (external_param_get_float(PART:"progress.slider", "value") / 100));
- }
- }
- program {
-diff --git a/src/bin/win.c b/src/bin/win.c
-index 2f65953..428e268 100644
---- a/src/bin/win.c
-+++ b/src/bin/win.c
-@@ -194,8 +194,8 @@ _win_play_eval(Win *w)
- {
- Edje_Message_Float_Set *mf;
-
-- w->play.position = emotion_object_position_get(w->emotion);
- w->play.length = emotion_object_play_length_get(w->emotion);
-+ w->play.position = emotion_object_position_get(w->emotion) / w->play.length;
-
- if ((w->song) && (w->song->length != (int)w->play.length))
- db_song_length_set(w->db, w->song, w->play.length);
-@@ -542,8 +542,14 @@ _win_edje_msg(void *data, Evas_Object *o __UNUSED__, Edje_Message_Type type, int
- else
- {
- Edje_Message_Float *m = msg;
-+
-+ if ((((m->val - w->play.position) * w->play.length) < 1.0)
-+ && (((w->play.position - m->val) * w->play.length) < 1.0))
-+ return;
-+
- w->play.position = m->val;
-- emotion_object_position_set(w->emotion, w->play.position);
-+ emotion_object_position_set(w->emotion, w->play.position
-+ * w->play.length);
- ecore_event_add(ENJOY_EVENT_POSITION_CHANGE, NULL, NULL, NULL);
- }
- break;
-@@ -617,16 +623,21 @@ enjoy_control_seek(uint64_t position)
- {
- Win *w = &_win;
- double seek_to;
-+ double new_pos = w->play.length / ((double)position / 1e6);
-
- if (!w->db) return;
-- seek_to = w->play.position + w->play.length / ((double)position / 1e6);
-+
-+ if ((((new_pos - w->play.position) * w->play.length) < 1.0)
-+ && (((w->play.position - new_pos) * w->play.length) < 1.0)) return;
-+
-+ seek_to = w->play.position + new_pos;
- if (seek_to <= 0.0)
- seek_to = 0.0;
- else if (seek_to >= 1.0)
- seek_to = 1.0;
-
- w->play.position = seek_to;
-- emotion_object_position_set(w->emotion, w->play.position);
-+ emotion_object_position_set(w->emotion, w->play.position * w->play.length);
- ecore_event_add(ENJOY_EVENT_POSITION_CHANGE, NULL, NULL, NULL);
- }
-
-@@ -692,15 +703,20 @@ EAPI void
- enjoy_position_set(int32_t position)
- {
- Win *w = &_win;
-+ double new_pos = w->play.length / ((double)position / 1e6);
-
- if (!w->db) return;
-- w->play.position = w->play.length / ((double)position / 1e6);
-+
-+ if ((((new_pos - w->play.position) * w->play.length) < 1.0)
-+ && (((w->play.position - new_pos) * w->play.length) < 1.0)) return;
-+
-+ w->play.position = new_pos;
- if (w->play.position < 0.0)
- w->play.position = 0.0;
- else if (w->play.position > 1.0)
- w->play.position = 1.0;
-
-- emotion_object_position_set(w->emotion, w->play.position);
-+ emotion_object_position_set(w->emotion, w->play.position * w->play.length);
- ecore_event_add(ENJOY_EVENT_POSITION_CHANGE, NULL, NULL, NULL);
- }
-
---
-1.8.5.2
-
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/enjoy/configure.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/enjoy/configure.patch
deleted file mode 100644
index 6e0ed7461..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/enjoy/configure.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: git/configure.ac
-===================================================================
---- git.orig/configure.ac 2014-07-17 21:48:51.284570474 +0000
-+++ git/configure.ac 2014-07-17 21:53:39.104578318 +0000
-@@ -26,7 +26,7 @@
- AC_CANONICAL_HOST
- AC_ISC_POSIX
-
--AM_INIT_AUTOMAKE(1.6 dist-bzip2)
-+AM_INIT_AUTOMAKE([dist-bzip2 foreign])
- AC_CONFIG_HEADERS(config.h)
- _XTERM_COLORS
- m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/enjoy_git.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/enjoy_git.bb
deleted file mode 100644
index 716d73ed1..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/enjoy_git.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-SUMMARY = "Enjoy music player"
-LICENSE = "LGPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6"
-DEPENDS = "evas ecore edje elementary emotion lightmediascanner eldbus gst-plugins-good"
-
-SRCREV = "aa8fec69e885eec048a849c2b34059ec58404e02"
-PV = "0.1.0+gitr${SRCPV}"
-
-#1st needed for all formats
-#2nd needed for mp3 playback
-#3d needed for ogg playback
-#4th needed for flac playback
-#5th needed binary to create db
-RDEPENDS_${PN} += "\
- gst-plugins-base-typefindfunctions gst-plugins-base-playbin gst-plugins-base-volume gst-plugins-base-decodebin2 gst-plugins-good-autodetect \
- gst-plugins-base-ogg gst-plugins-base-ivorbisdec \
- gst-plugins-good-flac \
- lightmediascanner-test \
-"
-
-inherit e gettext
-SRC_URI = " \
- git://git.enlightenment.org/apps/enjoy.git \
- file://0001-always-use-position-as-percent-and-define-a-1-second.patch \
- file://configure.patch \
-"
-S = "${WORKDIR}/git"
-
-FILES_${PN} += "${datadir}/icons/"
-
-EXTRA_OECONF = "\
- --with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc \
-"
-
-PACKAGECONFIG[mad] = ",,gst-plugins-ugly,gst-plugins-ugly-mad"
-PACKAGECONFIG[id3demux] = ",,,gst-plugins-good-id3demux"
-
-do_configure_prepend() {
- autopoint || touch config.rpath
-}
-
-pkg_postinst_${PN} () {
- echo "enjoy: SCAN and LIBRARY MANAGER are not implemeted yet!"
- echo "enjoy: Meanwhile please run:"
- echo "enjoy: test-lms -m mono -p id3 -i 5000 -s /path/to/your/music/dir /home/root/.config/enjoy/media.db"
- echo "enjoy:"
- echo "enjoy: Use test-lms -P to see available formats that can be scanned"
-}
-
-PNBLACKLIST[enjoy] ?= "Depends on blacklisted elementary - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/ephoto/configure.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/ephoto/configure.patch
deleted file mode 100644
index 59466f8af..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/ephoto/configure.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: ephoto/configure.ac
-===================================================================
---- ephoto.orig/configure.ac 2014-07-17 21:48:51.028570467 +0000
-+++ ephoto/configure.ac 2014-07-17 21:52:56.120577146 +0000
-@@ -27,7 +27,7 @@
- AC_CANONICAL_HOST
- AC_ISC_POSIX
-
--AM_INIT_AUTOMAKE(1.6 dist-bzip2)
-+AM_INIT_AUTOMAKE([dist-bzip2 foreign])
- AM_CONFIG_HEADER(src/bin/config.h)
- m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
-
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/ephoto_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/ephoto_svn.bb
deleted file mode 100644
index f86ffe16f..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/ephoto_svn.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-LICENSE = "MIT & GPL-3.0"
-PV = "0.1.0+svnr${SRCREV}"
-PR = "${INC_PR}.0"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=fdffcddb366d0cc78e0e46c4ea70c8d9 \
- file://COPYING.icons;md5=8f0e2cd40e05189ec81232da84bd6e1a"
-
-require e-module.inc
-
-inherit gettext
-
-DEPENDS += "elementary ethumb ecore eio"
-
-SRCNAME = "${PN}"
-
-# autotools-brokensep
-B = "${S}"
-
-SRC_URI += "file://configure.patch"
-
-PNBLACKLIST[ephoto] ?= "Depends on blacklisted elementary - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exalt-client/configure.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exalt-client/configure.patch
deleted file mode 100644
index d4ff801ce..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exalt-client/configure.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Index: exalt-client/configure.ac
-===================================================================
---- exalt-client.orig/configure.ac 2014-07-17 21:46:14.712566207 +0000
-+++ exalt-client/configure.ac 2014-07-17 21:47:56.880568991 +0000
-@@ -10,7 +10,7 @@
- AC_CANONICAL_HOST
- AC_ISC_POSIX
-
--AM_INIT_AUTOMAKE(1.8)
-+AM_INIT_AUTOMAKE([foreign])
- AM_CONFIG_HEADER(config.h)
-
- AC_PROG_CC
-@@ -29,7 +29,6 @@
-
- m4_ifdef([AM_GNU_GETTEXT], [
- AM_GNU_GETTEXT([external])
--po_makefile_in=po/Makefile.in
- AM_CONDITIONAL([HAVE_PO], [true])
- ],[
- AM_CONDITIONAL([HAVE_PO], [false])
-@@ -101,6 +100,5 @@
- src/Makefile
- module.desktop
- e_modules-exalt-client.spec
--$po_makefile_in
- ], [
- ])
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
deleted file mode 100644
index cb78a2e3a..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exalt-client_svn.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-LICENSE = "LGPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
-
-PV = "0.0.1+svnr${SRCPV}"
-
-require e-module.inc
-
-DEPENDS += "elementary exalt edje-native"
-
-CFLAGS += " -I${STAGING_INCDIR}/exalt -I${STAGING_INCDIR}/exalt_dbus"
-
-do_configure_prepend() {
- sed -i -e /po/d ${S}/configure.ac
- sed -i -e s:\ po::g ${S}/Makefile.am
-}
-
-FILES_${PN} += "${libdir}/enlightenment/modules/*/*.desktop \
- ${libdir}/enlightenment/modules/*/*.edj \
- ${libdir}/enlightenment/modules/*/*/*.so"
-
-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"
-PNBLACKLIST[exalt-client] ?= "Depends on blacklisted elementary - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exalt_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exalt_svn.bb
deleted file mode 100644
index 9e63f1bc2..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exalt_svn.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "Exalt is a network manager for the windows manager Enlightenment DR17"
-HOMEPAGE = "http://watchwolf.fr/wiki/doku.php?id=exalt"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
-
-DEPENDS = "elementary vpnc wpa-supplicant ecore eet edbus"
-RDEPENDS_${PN} = "vpnc wpa-supplicant"
-
-PV = "0.9+svnr${SRCPV}"
-SRCREV = "${EFL_SRCREV}"
-
-inherit e
-SRC_URI = "${E_SVN}/trunk;module=${SRCNAME};protocol=http;scmdata=keep"
-S = "${WORKDIR}/${SRCNAME}"
-
-EXTRA_OECONF = " \
---with-wpa_supplicant=${sbindir}/wpa_supplicant \
---with-vpnc=${sbindir}/vpnc \
---with-vpnc-disconnect=${sbindir}/vpnc-disconnect \
-"
-
-do_install_append() {
- # install dbus config file
- install -d ${D}${sysconfdir}/dbus-1/system.d/
- install -m 0644 ${S}/data/daemon/dbus/exalt.conf ${D}${sysconfdir}/dbus-1/system.d/exalt.conf
-
- # install dbus service file
- install -d ${D}${datadir}/dbus-1/system-services/
- install -m 0644 ${B}/org.e.Exalt.service ${D}${datadir}/dbus-1/system-services/
-}
-
-FILES_${PN} += "${datadir}/dbus-1"
-
-
-PNBLACKLIST[exalt] ?= "Depends on blacklisted elementary - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exquisite-theme-illume.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exquisite-theme-illume.bb
deleted file mode 100644
index c9063bc44..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exquisite-theme-illume.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-DDESCRIPTION = "A theme for exquisite"
-LICENSE = "MIT & BSD"
-LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=f523ab5986cc79b52a90d2ac3d5454a2"
-SECTION = "x11"
-DEPENDS = "edje-native"
-PV = "1.0+svnr${SRCPV}"
-SRCREV = "${EFL_SRCREV}"
-
-inherit e-base update-alternatives allarch
-
-ALTERNATIVE_NAME = "exquisite-config"
-ALTERNATIVE_LINK = "${sysconfdir}/exquisite/config"
-ALTERNATIVE_PATH = "${sysconfdir}/exquisite/config-illume"
-ALTERNATIVE_PRIORITY = "10"
-
-SRCNAME = "b_and_w"
-
-SRC_URI = "${E_SVN}/trunk/THEMES;module=${SRCNAME};protocol=http \
- file://LICENSE \
-"
-S = "${WORKDIR}/${SRCNAME}"
-
-do_compile() {
- ${STAGING_BINDIR_NATIVE}/edje_cc exquisite.edc illume.edj
-}
-
-do_install() {
- install -d ${D}${sysconfdir}/exquisite
- install -d ${D}${datadir}/exquisite/data/themes
- install -m 0644 ${S}/illume.edj ${D}${datadir}/exquisite/data/themes/
- echo 'THEME="-t illume"' > ${D}${sysconfdir}/exquisite/config-illume
-}
-
-CONFFILES_${PN} = "${sysconfdir}/exquisite/config-illume"
-FILES_${PN} = "${sysconfdir}/exquisite ${datadir}/exquisite/data/themes"
-
-PNBLACKLIST[exquisite-theme-illume] ?= "Depends on blacklisted edje-native - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[exquisite-theme-illume] ?= "Runtime depends on blacklisted exquisite-theme-illume - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[exquisite-theme-illume] ?= "Runtime depends on blacklisted exquisite-theme-illume-dev - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exquisite-theme-illume/LICENSE b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exquisite-theme-illume/LICENSE
deleted file mode 100644
index 61bb2f603..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exquisite-theme-illume/LICENSE
+++ /dev/null
@@ -1,25 +0,0 @@
-Copyright notice for Enlightenment:
-
-Copyright (C) 2000-2010 Carsten Haitzler and various contributors (see AUTHORS)
-
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
-INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
-FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
-OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exquisite/exquisite-init b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exquisite/exquisite-init
deleted file mode 100644
index 2de6774ff..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exquisite/exquisite-init
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/bin/sh
-
-for x in $(cat /proc/cmdline); do
- case $x in
- splash=false)
- echo "Splash Disabled"
- exit 0;
- ;;
- esac
-done
-
-. /etc/init.d/functions
-
-### Default config here - gets overriden later
-THEME="-t default"
-FPS="-fps 30"
-### Override config - if there is a config file - load it.
-if test -f /etc/exquisite/config; then
- . /etc/exquisite/config
-fi
-
-args=''
-case `machine_id` in
- "hp_ipaq_h3100"|"hp_ipaq_h3800")
- args='-rot 90' ;;
- "hp_ipaq_3600"|"hp_ipaq_3700"|"hp_ipaq_h3900"|"htc_universal"|*collie|*poodle|*akita|*spitz|*borzoi)
- args='-rot 270' ;;
-esac
-args=$args" $FPS $THEME"
-
-export EXDIR=/mnt/.splash
-export EXQUISITE_IPC=$EXDIR/exquisite
-mount tmpfs -t tmpfs $EXDIR -o,size=40k
-exquisite -fb -fs $args &
-
-exquisite-write -wait 120
-exquisite-write "PULSATE"
-setterm -blank 0
-setterm -powersave off
-setterm -powerdown 0
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exquisite/splashfuncs b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exquisite/splashfuncs
deleted file mode 100644
index ada2a96dd..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exquisite/splashfuncs
+++ /dev/null
@@ -1,29 +0,0 @@
-status() {
- if type splash-write >/dev/null 2>&1; then
- (TMPDIR="/mnt/.splash" EXQUISITE_IPC="$TMPDIR/exquisite" splash-write "$1" || true) &
- fi
-}
-
-status_position() {
- status "PROGRESS $1"
-}
-
-status_title() {
- status "TITLE $1"
-}
-
-status_text() {
- if test -n "$1"; then
- status "MSG $1"
- else
- status "CLEAR"
- fi
-}
-
-status_pulse() {
- status "PULSATE"
-}
-
-status_tick() {
- status "TICK"
-}
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exquisite_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exquisite_svn.bb
deleted file mode 100644
index 826cd444e..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exquisite_svn.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-SUMMARY = "A psplash replacement for display"
-LICENSE = "MIT & BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=14defa372a91118e755133bc8e6aff83"
-DEPENDS = "eet evas ecore embryo edje"
-PV = "0.0.1+svnr${SRCPV}"
-SRCREV = "${EFL_SRCREV}"
-RRECOMMENDS_${PN} = "exquisite-themes"
-RCONFLICTS_${PN} = "psplash virtual-psplash"
-
-SRCNAME = "exquisite"
-
-inherit e
-SRC_URI = "${E_SVN}/trunk;module=${SRCNAME};protocol=http;scmdata=keep"
-S = "${WORKDIR}/${SRCNAME}"
-
-EXTRA_OECONF = "--with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc"
-
-SRC_URI += "file://exquisite-init"
-SRC_URI += "file://splashfuncs"
-
-inherit update-rc.d
-
-do_install_prepend() {
- install -d ${D}/mnt/.splash/
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/exquisite-init ${D}${sysconfdir}/init.d/exquisite
- install -d ${D}${sysconfdir}/default
- install -m 0755 ${WORKDIR}/splashfuncs ${D}${sysconfdir}/default/splashfuncs
- install -d ${D}${bindir}
- ln -s exquisite-write ${D}${bindir}/splash-write
-}
-
-
-do_install_append() {
- rm -rf ${D}${datadir}/exquisite/data/fonts/*
-}
-
-INITSCRIPT_NAME = "exquisite"
-INITSCRIPT_PARAMS = "start 01 S . stop 20 0 1 6 ."
-
-FILES_${PN} += "/mnt/.splash/"
-
-PNBLACKLIST[exquisite] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130619/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/flame/configure.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/flame/configure.patch
deleted file mode 100644
index 87c85de9f..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/flame/configure.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: cpu/configure.ac
-===================================================================
---- cpu.orig/configure.ac 2014-07-17 20:39:48.000000000 +0000
-+++ cpu/configure.ac 2014-07-17 21:39:55.320555868 +0000
-@@ -10,7 +10,7 @@
- AC_CANONICAL_HOST
- AC_ISC_POSIX
-
--AM_INIT_AUTOMAKE(1.6)
-+AM_INIT_AUTOMAKE([foreign])
- AM_CONFIG_HEADER(config.h)
- m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
-
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/flame_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/flame_svn.bb
deleted file mode 100644
index 6583d2724..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/flame_svn.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35 \
- file://COPYING-PLAIN;md5=c910b645eda0005ccec46f75203dc96e"
-
-PV = "0.0.3+svnr${SRCPV}"
-PR = "${INC_PR}.0"
-
-require e-module.inc
-
-do_configure_prepend() {
- sed -i -e /po/d ${S}/configure.ac
- sed -i -e s:\ po::g ${S}/Makefile.am
-}
-
-SRC_URI += "file://configure.patch"
-
-PNBLACKLIST[flame] ?= "Depends on blacklisted e-wm - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/forecasts/configure.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/forecasts/configure.patch
deleted file mode 100644
index 87c85de9f..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/forecasts/configure.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: cpu/configure.ac
-===================================================================
---- cpu.orig/configure.ac 2014-07-17 20:39:48.000000000 +0000
-+++ cpu/configure.ac 2014-07-17 21:39:55.320555868 +0000
-@@ -10,7 +10,7 @@
- AC_CANONICAL_HOST
- AC_ISC_POSIX
-
--AM_INIT_AUTOMAKE(1.6)
-+AM_INIT_AUTOMAKE([foreign])
- AM_CONFIG_HEADER(config.h)
- m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
-
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/forecasts_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/forecasts_svn.bb
deleted file mode 100644
index 495f314fc..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/forecasts_svn.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35 \
- file://COPYING-PLAIN;md5=51328cfb73bfec3eed7cfd3dbed73988"
-
-PV = "0.2.0+svnr${SRCREV}"
-PR = "${INC_PR}.0"
-
-require e-module.inc
-
-SRC_URI += "file://configure.patch"
-
-PNBLACKLIST[forecasts] ?= "Depends on blacklisted e-wm - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/illume-keyboards-shr/0001-Makefile-update-KEYBOARDS_DIR-for-new-illume2.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/illume-keyboards-shr/0001-Makefile-update-KEYBOARDS_DIR-for-new-illume2.patch
deleted file mode 100644
index b18a69b0b..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/illume-keyboards-shr/0001-Makefile-update-KEYBOARDS_DIR-for-new-illume2.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 9316e3973c44b981e73b953b2861060c6902de47 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Mon, 23 Aug 2010 12:54:05 +0200
-Subject: [PATCH] Makefile: update KEYBOARDS_DIR for new illume2
-
----
- Makefile | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 46e9420..3d8757c 100644
---- a/Makefile
-+++ b/Makefile
-@@ -1,5 +1,5 @@
-
--INSTBASE = /usr/lib/enlightenment/modules/illume/keyboards
-+INSTBASE = /usr/lib/enlightenment/modules/illume-keyboard/keyboards
-
- FILES-arabic = Arabic.kbd Arabic.png
- FILES-persian = Persian.kbd Persian.png
---
-1.7.2
-
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/illume-keyboards-shr/LICENSE b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/illume-keyboards-shr/LICENSE
deleted file mode 100644
index 61bb2f603..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/illume-keyboards-shr/LICENSE
+++ /dev/null
@@ -1,25 +0,0 @@
-Copyright notice for Enlightenment:
-
-Copyright (C) 2000-2010 Carsten Haitzler and various contributors (see AUTHORS)
-
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
-INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
-FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
-OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/illume-keyboards-shr_git.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/illume-keyboards-shr_git.bb
deleted file mode 100644
index 6925c872a..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/illume-keyboards-shr_git.bb
+++ /dev/null
@@ -1,100 +0,0 @@
-SECTION = "x11/data"
-
-SRC_URI = "git://git.shr-project.org/repo/illume-keyboards.git;protocol=http;branch=master \
- file://0001-Makefile-update-KEYBOARDS_DIR-for-new-illume2.patch \
- file://LICENSE"
-S = "${WORKDIR}/git"
-
-SRCREV = "4064489f359a1addf572089b582f317dff5f50e1"
-PV = "0.0+gitr${SRCPV}"
-PE = "1"
-PR = "r5"
-LICENSE = "MIT & BSD"
-LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=f523ab5986cc79b52a90d2ac3d5454a2"
-
-CLEANBROKEN = "1"
-
-PACKAGES = "\
-illume-keyboard-alpha \
-illume-keyboard-arabic \
-illume-keyboard-browse \
-illume-keyboard-danish \
-illume-keyboard-default-alt \
-illume-keyboard-dutch \
-illume-keyboard-dvorak \
-illume-keyboard-finnish \
-illume-keyboard-french \
-illume-keyboard-german \
-illume-keyboard-hebrew \
-illume-keyboard-numeric-alt \
-illume-keyboard-russian \
-illume-keyboard-russian-terminal \
-illume-keyboard-persian \
-"
-
-inherit allarch
-KEYBOARDS_DIR="${libdir}/enlightenment/modules/illume-keyboard/keyboards"
-
-AUTHOR_illume-keyboard-alpha = "Jesus McCloud"
-DESCRIPTION_illume-keyboard-alpha = "Illume keyboard with phone-like layout"
-FILES_illume-keyboard-alpha = "${KEYBOARDS_DIR}/Alpha.kbd"
-
-AUTHOR_illume-keyboard-arabic = "Mohammad Fahmi / Tom Hacohen"
-DESCRIPTION_illume-keyboard-arabic = "Illume keyboard with arabic layout"
-FILES_illume-keyboard-arabic = "${KEYBOARDS_DIR}/Arabic.kbd ${KEYBOARDS_DIR}/Arabic.png"
-
-AUTHOR_illume-keyboard-browse = "Pander"
-DESCRIPTION_illume-keyboard-browse = "Illume keyboard with a layout optimized for browsing"
-FILES_illume-keyboard-browse = "${KEYBOARDS_DIR}/Browse.kbd ${KEYBOARDS_DIR}/end-browse.png ${KEYBOARDS_DIR}/pagedown-browse.png ${KEYBOARDS_DIR}/browse.png ${KEYBOARDS_DIR}/home-browse.png ${KEYBOARDS_DIR}/pageup-browse.png ${KEYBOARDS_DIR}/space-browse.png"
-
-AUTHOR_illume-keyboard-danish = "Esben Damgaard"
-DESCRIPTION_illume-keyboard-danish = "Illume keyboard with danish layout"
-FILES_illume-keyboard-danish = "${KEYBOARDS_DIR}/Danish.kbd ${KEYBOARDS_DIR}/danish.png"
-
-AUTHOR_illume-keyboard-default-alt = "Pander"
-DESCRIPTION_illume-keyboard-default-alt = "Illume keyboard with an alternative default layout"
-FILES_illume-keyboard-default-alt = "${KEYBOARDS_DIR}/Default-alt.kbd"
-
-AUTHOR_illume-keyboard-dutch = "Pander"
-DESCRIPTION_illume-keyboard-dutch = "Illume keyboard with dutch layout"
-FILES_illume-keyboard-dutch = "${KEYBOARDS_DIR}/capslock-negative.png ${KEYBOARDS_DIR}/end.png ${KEYBOARDS_DIR}/pagedown.png ${KEYBOARDS_DIR}/qwerty-dutch-nl.png ${KEYBOARDS_DIR}/Terminal-dutch-nl.kbd ${KEYBOARDS_DIR}/capslock.png ${KEYBOARDS_DIR}/home.png ${KEYBOARDS_DIR}/pageup.png ${KEYBOARDS_DIR}/space.png"
-
-AUTHOR_illume-keyboard-dvorak = "Gabor Adam TOTH"
-DESCRIPTION_illume-keyboard-dvorak = "Illume keyboard with dvorak layout"
-FILES_illume-keyboard-dvorak = "${KEYBOARDS_DIR}/Dvorak.kbd ${KEYBOARDS_DIR}/dvorak.png"
-
-AUTHOR_illume-keyboard-finnish = "Olof Sjöbergh / Jussi Timperi"
-DESCRIPTION_illume-keyboard-finnish = "Illume keyboard with finnish layout"
-FILES_illume-keyboard-finnish = "${KEYBOARDS_DIR}/Finnish.kbd ${KEYBOARDS_DIR}/Finnish.png"
-
-DESCRIPTION_illume-keyboard-french = "Illume keyboard with french layout"
-FILES_illume-keyboard-french = "${KEYBOARDS_DIR}/Azerty.kbd ${KEYBOARDS_DIR}/Azerty.png"
-
-AUTHOR_illume-keyboard-german = "Florian Hackenberger"
-DESCRIPTION_illume-keyboard-german = "Illume keyboard with german layout"
-FILES_illume-keyboard-german = "${KEYBOARDS_DIR}/German.kbd ${KEYBOARDS_DIR}/German.png"
-
-AUTHOR_illume-keyboard-hebrew = "Tom Hacohen"
-DESCRIPTION_illume-keyboard-hebrew = "Illume keyboard with hebrew layout"
-FILES_illume-keyboard-hebrew = "${KEYBOARDS_DIR}/Hebrew.kbd ${KEYBOARDS_DIR}/Alpha-hebrew-il.png"
-
-AUTHOR_illume-keyboard-numeric-alt = "Pander"
-DESCRIPTION_illume-keyboard-numeric-alt = "Illume keyboard with an alternative numeric layout"
-FILES_illume-keyboard-numeric-alt = "${KEYBOARDS_DIR}/Numbers-alt.kbd ${KEYBOARDS_DIR}/numeric-alt.png"
-
-AUTHOR_illume-keyboard-russian = "lucky"
-DESCRIPTION_illume-keyboard-russian = "Illume keyboard with russian layout"
-FILES_illume-keyboard-russian = "${KEYBOARDS_DIR}/X8_Russian.kbd ${KEYBOARDS_DIR}/X8-russian-ru.png"
-
-AUTHOR_illume-keyboard-russian-terminal = "lucky"
-DESCRIPTION_illume-keyboard-russian-terminal = "Illume keyboard with russian layout for the Terminal"
-FILES_illume-keyboard-russian-terminal = "${KEYBOARDS_DIR}/Terminal_Russian.kbd ${KEYBOARDS_DIR}/Terminal-russian-ru.png"
-
-AUTHOR_illume-keyboard-persian = "slave"
-DESCRIPTION_illume-keyboard-persian = "Illume keyboard with persian layout"
-FILES_illume-keyboard-persian = "${KEYBOARDS_DIR}/Persian.kbd ${KEYBOARDS_DIR}/Persian.png"
-
-do_install() {
- make DESTDIR=${D} install
-}
-
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
deleted file mode 100644
index 4349e0445..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/news_svn.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-PV = "0.1.0+svnr${SRCPV}"
-PR = "${INC_PR}.0"
-
-require e-module.inc
-
-do_configure_prepend() {
- sed -i -e /po/d configure.ac
- sed -i -e s:\ po::g Makefile.am
-}
-
-PNBLACKLIST[news] ?= "if you want to use these modules with E18, then you need to update it to git recipe fetching newer sources from http://git.enlightenment.org/enlightenment/modules/news.git/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/places/configure.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/places/configure.patch
deleted file mode 100644
index f8f48345c..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/places/configure.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: places/configure.ac
-===================================================================
---- places.orig/configure.ac 2014-07-17 21:51:01.276574017 +0000
-+++ places/configure.ac 2014-07-17 21:52:07.096575810 +0000
-@@ -10,7 +10,7 @@
- AC_CANONICAL_HOST
- AC_ISC_POSIX
-
--AM_INIT_AUTOMAKE(1.8)
-+AM_INIT_AUTOMAKE([foreign])
- m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
- AM_CONFIG_HEADER(config.h)
-
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/places_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/places_svn.bb
deleted file mode 100644
index b184f84c3..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/places_svn.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35"
-
-PV = "0.1.0+svnr${SRCPV}"
-PR = "${INC_PR}.0"
-
-require e-module.inc
-
-do_configure_prepend() {
- autopoint || touch config.rpath
-}
-
-# Calls /usr/bin/eject for media
-RRECOMMENDS_${PN} += "eject"
-
-SRC_URI += "file://configure.patch"
-
-PNBLACKLIST[places] ?= "Depends on blacklisted e-wm - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/rage_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/rage_svn.bb
deleted file mode 100644
index 0a90fe3cd..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/rage_svn.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "Rage is a media center application based on EFL"
-AUTHOR = "Carsten 'The Rasterman' Haitzler"
-HOMEPAGE = "http://www.rasterman.com"
-LICENSE = "MIT & BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35"
-DEPENDS = "emotion evas ecore edje"
-SECTION = "x11/multimedia"
-PV = "0.3.0.042+svnr${SRCPV}"
-SRCREV = "${EFL_SRCREV}"
-
-inherit e
-SRC_URI = "${E_SVN}/trunk;module=${SRCNAME};protocol=http;scmdata=keep"
-S = "${WORKDIR}/${SRCNAME}"
-
-PNBLACKLIST[rage] ?= "if you want to use these modules with E18, then you need to update it to git recipe fetching newer sources from http://git.enlightenment.org/apps/rage.git/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/rain/configure.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/rain/configure.patch
deleted file mode 100644
index 87c85de9f..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/rain/configure.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: cpu/configure.ac
-===================================================================
---- cpu.orig/configure.ac 2014-07-17 20:39:48.000000000 +0000
-+++ cpu/configure.ac 2014-07-17 21:39:55.320555868 +0000
-@@ -10,7 +10,7 @@
- AC_CANONICAL_HOST
- AC_ISC_POSIX
-
--AM_INIT_AUTOMAKE(1.6)
-+AM_INIT_AUTOMAKE([foreign])
- AM_CONFIG_HEADER(config.h)
- m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
-
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
deleted file mode 100644
index 14aa2ed38..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/rain_svn.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-LICENSE = "MIT"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35 \
- file://COPYING-PLAIN;md5=c910b645eda0005ccec46f75203dc96e"
-
-PV = "0.0.3+svnr${SRCPV}"
-PR = "${INC_PR}.0"
-
-require e-module.inc
-
-do_configure_prepend() {
- sed -i -e /po/d ${S}/configure.ac
- sed -i -e s:\ po::g ${S}/Makefile.am
-}
-
-SRC_URI += "file://configure.patch"
-
-PNBLACKLIST[rain] ?= "Depends on blacklisted e-wm - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/screenshot/screenshot-fix-mkinstalldirs.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/screenshot/screenshot-fix-mkinstalldirs.patch
deleted file mode 100644
index 14f1141f1..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/screenshot/screenshot-fix-mkinstalldirs.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
-Subject: fix screenshot po/ building
-Upstream-Status: Pending
-
-Somehow configure doesn't substitute @MKINSTALLDIRS@ by default anymore,
-however this substitution is required for po/Makefile
-
-Fix that by calling AM_MKINSTALLDIRS from configure.ac
-
-Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
-
-Index: E-MODULES-EXTRA/screenshot/configure.ac
-===================================================================
---- E-MODULES-EXTRA.orig/screenshot/configure.ac 2011-08-17 15:49:22.000000000 +0400
-+++ E-MODULES-EXTRA/screenshot/configure.ac 2011-08-17 15:49:34.000000000 +0400
-@@ -24,6 +24,7 @@
- define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
- AC_PROG_LIBTOOL
-
-+AM_MKINSTALLDIRS
- m4_ifdef([AM_GNU_GETTEXT_VERSION], [
- AM_GNU_GETTEXT_VERSION([0.14])
- ])
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/screenshot_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/screenshot_svn.bb
deleted file mode 100644
index 233f7777f..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/screenshot_svn.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-LICENSE = "MIT"
-PV = "0.3.0+svnr${SRCREV}"
-PR = "${INC_PR}.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35"
-SRC_URI += "file://screenshot-fix-mkinstalldirs.patch"
-
-require e-module.inc
-
-DEPENDS += "emprint"
-RDEPENDS_${PN} += "emprint"
-
-do_configure_prepend() {
- sed -i -e 's:AC_MSG_ERROR(emprint not found):echo foo:g' ${S}/configure.ac
-}
-
-PNBLACKLIST[screenshot] ?= "depends on blacklisted emprint - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/terminology.inc b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/terminology.inc
deleted file mode 100644
index 24f789f59..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/terminology.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION = "Enlightenment Terminal Emulator"
-LICENSE = "MIT & BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4efac6b05b3256ba7da66301ac1ee6c6"
-DEPENDS = "evas ecore edje elementary eina eet emotion"
-
-inherit e gettext
-
-# Because latest release we have is 0.1.0 which sorts lower then 0.1.0+svnr${SRCPV} already in feeds
-PE = "2"
-
-EXTRA_OECONF = "\
- --with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc \
-"
-
-FILES_${PN} += "\
- ${datadir}/icons/terminology.png \
-"
-
-# doesn't start without own theme
-# ERR<770>:terminology utils.c:26 theme_apply() Could not load any theme for group=terminology/background: No Error
-# CRI<770>:terminology main.c:448 elm_main() Couldn't find terminology theme! Forgot 'make install'?
-RDEPENDS_${PN} += "${PN}-themes"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/terminology_0.9.1.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/terminology_0.9.1.bb
deleted file mode 100644
index 77dd223fd..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/terminology_0.9.1.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI = "\
- ${E_RELEASES}/apps/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \
-"
-
-SRC_URI[md5sum] = "c7ce2e8ebc5f311d3d3f59ecfdf18f61"
-SRC_URI[sha256sum] = "7fb864a14202490e9181c5f254a7e772019216a3aa75c3952d0f12cd32113896"
-
-PNBLACKLIST[terminology] ?= "Depends on blacklisted elementary - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/uptime/configure.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/uptime/configure.patch
deleted file mode 100644
index 87c85de9f..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/uptime/configure.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: cpu/configure.ac
-===================================================================
---- cpu.orig/configure.ac 2014-07-17 20:39:48.000000000 +0000
-+++ cpu/configure.ac 2014-07-17 21:39:55.320555868 +0000
-@@ -10,7 +10,7 @@
- AC_CANONICAL_HOST
- AC_ISC_POSIX
-
--AM_INIT_AUTOMAKE(1.6)
-+AM_INIT_AUTOMAKE([foreign])
- AM_CONFIG_HEADER(config.h)
- m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
-
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/uptime_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/uptime_svn.bb
deleted file mode 100644
index 60d48a2ca..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/uptime_svn.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35 \
- file://COPYING-PLAIN;md5=c910b645eda0005ccec46f75203dc96e"
-
-PV = "0.0.2+svnr${SRCREV}"
-PR = "${INC_PR}.0"
-
-require e-module.inc
-
-SRC_URI += "file://configure.patch"
-
-PNBLACKLIST[uptime] ?= "Depends on blacklisted e-wm - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/azy_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/azy_svn.bb
deleted file mode 100644
index d3bc200f5..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/azy_svn.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-DESCRIPTION = "Azy is a library meant for implementing rpc clients and servers in a simple manner."
-DEPENDS = "pkgconfig zlib openssl eina gnutls ecore libxml2 re2c-native mysql5 azy-native glib-2.0"
-DEPENDS_class-native = "pkgconfig-native zlib-native openssl-native eina-native gnutls-native ecore-native libxml2-native re2c-native mysql5-native glib-2.0-native"
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-PV = "1.0.0+svnr${SRCPV}"
-PR = "r2"
-
-SRCREV = "${EFL_SRCREV}"
-
-# to provide native lemon binary
-BBCLASSEXTEND = "native"
-
-EXTRA_OECONF += " --disable-mysql-tests"
-
-do_configure_prepend_class-target() {
- sed -i "s#\./lemon#${STAGING_BINDIR_NATIVE}/azy_lemon#g" ${S}/src/bin/Makefile.am
- sed -i "s#\$(top_builddir)/src/bin/azy_parser -H -p -o#${STAGING_BINDIR_NATIVE}/azy_parser -H -p -o#g" ${S}/src/tests/Makefile.am
- sed -i "s#\$(top_builddir)/src/bin/azy_parser -eHn -m#${STAGING_BINDIR_NATIVE}/azy_parser -eHn -m#g" ${S}/src/tests/identi.ca/Makefile.am
-}
-
-do_install_append_class-native() {
- install -d ${D}/${bindir}
- install -m 0755 ${B}/src/bin/lemon ${D}/${bindir}/azy_lemon
-}
-
-inherit efl
-
-SRC_URI = "${E_SVN}/trunk/PROTO;module=${SRCNAME};protocol=http;scmdata=keep"
-S = "${WORKDIR}/${SRCNAME}"
-
-# azy/2_1.0.0+svnr82070-r2/azy/src/lib/extras/pugixml.cpp:33:
-# sysroots/qemuarm/usr/include/c++/5.2.0/bits/basic_string.h:4780:5: error: reference to 'basic_string' is ambiguous
-# basic_string<_CharT, _Traits, _Alloc>
-# ^
-PNBLACKLIST[azy] ?= "OLD and doesn't build with gcc-5 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/e-wm-illume-dict-pl_git.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/e-wm-illume-dict-pl_git.bb
deleted file mode 100644
index 657adcd92..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/e-wm-illume-dict-pl_git.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Polish dictionary for Illume keyboard"
-SECTION = "x11/data"
-SRCREV = "38fdd9bb0d8296e984bb6443466801eea6f62f00"
-PV = "1.0+gitr${SRCPV}"
-PE = "1"
-LICENSE = "MIT & BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=f523ab5986cc79b52a90d2ac3d5454a2"
-
-SRC_URI = "git://git.shr-project.org/repo/shr-themes.git;protocol=http;branch=master"
-
-S = "${WORKDIR}/git/e-wm/${PN}"
-
-FILES_${PN} = "${libdir}/enlightenment/modules/illume/dicts/Polish.dic"
-
-do_install() {
- install -d ${D}${libdir}/enlightenment/modules/illume/dicts
- install -m 0644 ${S}/Polish.dic ${D}${libdir}/enlightenment/modules/illume/dicts/Polish.dic
-}
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/ecore/fix-ecore-fb-initialization.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/ecore/fix-ecore-fb-initialization.patch
deleted file mode 100644
index 55773a3b9..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/ecore/fix-ecore-fb-initialization.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 657571197c9d369e12ae31b6777a1929fe3680ef Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sat, 29 Oct 2011 00:16:55 +0200
-Subject: [PATCH] ecore-fb: fix ts init
-
-Upstream-Status: Pending
-
-The whole ecore-fb init logic is somewhat flawed; with this patch we
-get at least a working touchscreen w/ tslib again.
-
-Signed-off-by: Michael 'Mickey' Lauer <mlauer@vanille-media.de>
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- ecore/src/lib/ecore_fb/ecore_fb.c | 4 ++++
- 1 files changed, 4 insertions(+), 0 deletions(-)
-
-diff --git a/src/lib/ecore_fb/ecore_fb.c b/src/lib/ecore_fb/ecore_fb.c
-index 5b2b84b..a1904b3 100644
---- a/src/lib/ecore_fb/ecore_fb.c
-+++ b/src/lib/ecore_fb/ecore_fb.c
-@@ -46,6 +46,9 @@ ecore_fb_init(const char *name __UNUSED__)
- if (!ecore_fb_vt_init())
- return --_ecore_fb_init_count;
-
-+ if (!ecore_fb_ts_init())
-+ return --_ecore_fb_init_count;
-+
- if (!oldhand)
- {
- oldhand = signal(SIGINT, nosigint);
-@@ -77,6 +80,7 @@ ecore_fb_shutdown(void)
- oldhand = NULL;
- }
-
-+ ecore_fb_ts_shutdown();
- ecore_fb_vt_shutdown();
-
- return _ecore_fb_init_count;
---
-1.7.8.6
-
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/edb_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/edb_svn.bb
deleted file mode 100644
index 7c6abdaf0..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/edb_svn.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Edb is the Enlightenment database library"
-LICENSE = "MIT & BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d8a7c08df3bc3280208b959be7215c25 \
- file://COPYING-PLAIN;md5=f59cacc08235a546b0c34a5422133035"
-
-DEPENDS = "zlib"
-PV = "1.0.5.050+svnr${SRCPV}"
-SRCREV = "${EFL_SRCREV}"
-
-inherit efl
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[ncurses] = "--enable-ncurses,--disable-ncurses,ncurses"
-
-SRC_URI = "${E_SVN}/OLD;module=${SRCNAME};protocol=http;scmdata=keep"
-S = "${WORKDIR}/${SRCNAME}"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/edbus.inc b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/edbus.inc
deleted file mode 100644
index 03d0ee58d..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/edbus.inc
+++ /dev/null
@@ -1,29 +0,0 @@
-DESCRIPTION = "DBus and HAL convenience wrappers for EFL"
-DEPENDS = "dbus ecore eina"
-LICENSE = "MIT & BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=550b8cea13dacc4bf00508a8cce1074c"
-
-inherit efl
-
-# -dev and -dbg packages wants ${PN} which is empty here
-ALLOW_EMPTY_${PN} = "1"
-
-BBCLASSEXTEND = "native"
-INC_PR = "r0"
-
-SRCNAME = "e_dbus"
-
-# it needs to be disabled, because creates circular dependency on elementary
-EXTRA_OECONF += "--disable-edbus-performance-test"
-
-PACKAGES =+ "${PN}-enotify ${PN}-edbus ${PN}-enm ${PN}-ehal ${PN}-econnman ${PN}-eofono ${PN}-eukit ${PN}-ebluez"
-FILES_${PN}-enotify = "${libdir}/libenotify.so.* ${bindir}/e-notify-send"
-FILES_${PN}-edbus = "${libdir}/libedbus.so.*"
-FILES_${PN}-enm = "${libdir}/libenm.so.*"
-FILES_${PN}-ehal = "${libdir}/libehal.so.*"
-FILES_${PN}-econnman = "${libdir}/libeconnman.so.* ${libdir}/libeconnman0_7x.so.*"
-FILES_${PN}-eofono = "${libdir}/libeofono.so.*"
-FILES_${PN}-eukit = "${libdir}/libeukit.so.*"
-FILES_${PN}-ebluez = "${libdir}/libebluez.so.*"
-FILES_${PN} += "${datadir}/e_dbus/logo.png"
-
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/edbus_1.7.9.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/edbus_1.7.9.bb
deleted file mode 100644
index a8033ac59..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/edbus_1.7.9.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI = "\
- ${E_MIRROR}/${SRCNAME}-${SRCVER}.tar.gz \
-"
-
-SRC_URI[md5sum] = "8f72da14e5664aad8c45eeeca0e3ff5f"
-SRC_URI[sha256sum] = "c328c4cf1424629cb67c83689ccc1f95967abcb4c03dffd437e93b799ff151c1"
-
-PNBLACKLIST[edbus] ?= "Depends on blacklisted ecore - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[edbus] ?= "Depends on blacklisted eina - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[edbus] ?= "Runtime depends on blacklisted edbus - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[edbus] ?= "Runtime depends on blacklisted edbus-dev - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/edje-fpu.inc b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/edje-fpu.inc
deleted file mode 100644
index 32a6daf7d..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/edje-fpu.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-
-def get_edje_fpu_setting(bb, d):
- if d.getVar('TARGET_FPU') in [ 'soft' ]:
- return "--enable-fixed-point"
- return ""
-
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
deleted file mode 100644
index 4cd21bfd0..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/efl.inc
+++ /dev/null
@@ -1,290 +0,0 @@
-SUMMARY = "EFL"
-LICENSE = "MIT & BSD & LGPL-2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ca7873210523dcfd32694b94286dca60"
-
-DEPENDS_class-native = "freetype-native libxext-native libpng-native jpeg-native tiff-native libfribidi-native glib-2.0-native dbus-native openssl-native"
-DEPENDS = "virtual/libiconv tslib curl glib-2.0 gnutls pkgconfig zlib jpeg openssl libsndfile1 dbus libexif librsvg freetype libpng tiff libxext virtual/libx11 libxdamage libxrender fontconfig libfribidi giflib udev libxcursor libxcomposite libxinerama libxrandr libxtst libxscrnsaver efl-native util-linux libunwind"
-
-inherit efl gettext pkgconfig
-
-BBCLASSEXTEND = "native"
-
-PROVIDES += "ecore edje eet eeze efreet eina eio embryo emotion ethumb evas eldbus"
-
-# we don't have bullet for physics
-# You have chosen to disable physics support. This disables lots of
-# core functionality and is effectively never tested. You are going
-# to find features that suddenly don't work and as a result cause
-# a series of breakages. This is simply not tested so you are on
-# your own in terms of ensuring everything works if you do this
-EXTRA_OECONF = " \
- --disable-physics \
- --enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-aba \
-"
-EXTRA_OECONF_append_class-target = " \
- --with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc \
- --with-eolian-gen=${STAGING_BINDIR_NATIVE}/eolian_gen \
- --with-eolian-cxx=${STAGING_BINDIR_NATIVE}/eolian_cxx \
- --with-elua=${STAGING_BINDIR_NATIVE}/elua \
-"
-EXTRA_OECONF_append_class-native = " \
- --disable-fontconfig \
- --disable-audio \
- --disable-physics \
- --disable-multisense \
- --disable-cserve \
- --disable-libeeze \
- --with-x11=none \
- --disable-image-loader-bmp \
- --disable-image-loader-eet \
- --disable-image-loader-generic \
- --disable-image-loader-gif \
- --disable-image-loader-ico \
- --disable-image-loader-jp2k \
- --disable-image-loader-pmaps \
- --disable-image-loader-psd \
- --disable-image-loader-tga \
- --disable-image-loader-wbmp \
- --disable-image-loader-webp \
- --disable-image-loader-xpm \
- --disable-image-loader-tgv \
- --disable-image-loader-dds \
-"
-
-PACKAGECONFIG ?= "egl opengl-es gstreamer1 pulseaudio luajit ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)}"
-PACKAGECONFIG_class-native = "luajit"
-
-PACKAGECONFIG[wayland] = "--enable-wayland --enable-wayland-ivi-shell,--disable-wayland --disable-wayland-ivi-shell,wayland"
-PACKAGECONFIG[egl] = "--enable-egl,--disable-egl,virtual/egl"
-# sort of tri-state
-PACKAGECONFIG[opengl-full] = "--with-opengl=full,,virtual/libgl"
-PACKAGECONFIG[opengl-es] = "--with-opengl=es,,virtual/libgles2"
-PACKAGECONFIG[opengl-none] = "--with-opengl=none,,"
-# be aware when enabling this for efl-native, we don't provide gcc-native so you need to make
-# sure that all your builders have g++ which supports -std=gnu++11
-PACKAGECONFIG[c++11] = "--enable-cxx-bindings,--disable-cxx-bindings"
-PACKAGECONFIG[gstreamer] = "--enable-gstreamer,--disable-gstreamer,gstreamer"
-PACKAGECONFIG[gstreamer1] = "--enable-gstreamer1,--disable-gstreamer1,gstreamer1.0 gstreamer1.0-plugins-base"
-PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio"
-PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
-PACKAGECONFIG[luajit] = "--disable-lua-old,--enable-lua-old,luajit"
-PACKAGECONFIG[lua-old] = "--enable-lua-old,--disable-lua-old,lua"
-PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi"
-# currently we don't provide doxygen-native
-PACKAGECONFIG[doc] = "--enable-doc,--disable-doc,doxygen-native"
-
-do_install_append() {
- # don't ship precompiled lua files
- rm -f ${datadir}/elua/*/*.luac
-}
-
-PACKAGES =+ "edje-utils embryo-utils embryo-tests efreet-trash efreet-mime libeet libefreet ecore-audio ecore-input-evas ecore-input ecore-imf-evas ecore-imf ecore-file ecore-con ecore-ipc ecore-x ecore-evas libemotion eo ecore edje eet eeze efreet eina eio embryo emotion ethumb evas eldbus elua"
-
-# upgrade path from 1.7
-DEBIAN_NOAUTONAME_ecore-audio = "1"
-DEBIAN_NOAUTONAME_ecore-input-evas = "1"
-DEBIAN_NOAUTONAME_ecore-input = "1"
-DEBIAN_NOAUTONAME_ecore-imf-evas = "1"
-DEBIAN_NOAUTONAME_ecore-imf = "1"
-DEBIAN_NOAUTONAME_ecore-file = "1"
-DEBIAN_NOAUTONAME_ecore-con = "1"
-DEBIAN_NOAUTONAME_ecore-ipc = "1"
-DEBIAN_NOAUTONAME_ecore-x = "1"
-DEBIAN_NOAUTONAME_ecore-evas = "1"
-DEBIAN_NOAUTONAME_embryo = "1"
-
-ALLOW_EMPTY_ecore = "1"
-RDEPENDS_ecore = "ecore-audio ecore-input-evas ecore-input ecore-imf-evas ecore-imf ecore-file ecore-con ecore-ipc ecore-x ecore-evas"
-
-python populate_packages_prepend () {
- for plugin_type in "engines loaders savers".split():
- bb.note( "splitting packages for evas %s..." % plugin_type )
- basedir = d.expand( '${libdir}/evas/modules/%s' % plugin_type)
-
- do_split_packages(d, basedir, '^(.*)',
- 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)
-
- do_split_packages(d, basedir, '^(.*)',
- output_pattern = 'evas-' + plugin_type + "-%s",
- description = 'Evas csever2 loader module %s',
- allow_dirs=True, recursive=False, extra_depends="" )
-}
-
-PACKAGES += "evas-loader-png evas-engine-software-generic evas-engine-fb"
-PACKAGES_DYNAMIC += "^evas-engine-.* ^evas-loader-.* ^evas-saver-.* ^evas-cserve2-.*"
-
-# PACKAGES_DYNAMIC + do_split_packages isn't used for all libe libs,
-# because PACKAGES_DYNAMIC would be catching too many patterns
-# (or need to list all possible prefixes) and not all original packages
-# were splitted like that, so it would need RCONFLICTS/RPROVIDES/RREPLACES
-# combos at least in few places for upgrade path.
-
-FILES_efreet-trash = " \
- ${libdir}/libefreet_trash${SOLIBS} \
-"
-FILES_efreet-mime = " \
- ${libdir}/libefreet_mime${SOLIBS} \
-"
-FILES_libeet = " \
- ${libdir}/libeet${SOLIBS} \
-"
-FILES_libefreet = " \
- ${libdir}/libefreet${SOLIBS} \
-"
-FILES_ecore-audio = "\
- ${libdir}/libecore_audio${SOLIBS} \
-"
-FILES_ecore-input-evas = "\
- ${libdir}/libecore_input_evas${SOLIBS} \
-"
-FILES_ecore-input = "\
- ${libdir}/libecore_input${SOLIBS} \
-"
-FILES_ecore-imf-evas = "\
- ${libdir}/libecore_imf_evas${SOLIBS} \
- ${libdir}/ecore-imf/modules/*/*/module.so \
-"
-FILES_ecore-imf = "\
- ${libdir}/libecore_imf${SOLIBS} \
-"
-
-FILES_ecore-file = "\
- ${libdir}/libecore_file${SOLIBS} \
-"
-FILES_ecore-con = "\
- ${libdir}/libecore_con${SOLIBS} \
-"
-FILES_ecore-ipc = "\
- ${libdir}/libecore_ipc${SOLIBS} \
-"
-FILES_ecore-x = "\
- ${libdir}/libecore_x${SOLIBS} \
- ${libdir}/ecore_x/bin/v-*/ecore_x_vsync \
-"
-FILES_ecore-evas = "\
- ${libdir}/libecore_evas${SOLIBS} \
- ${libdir}/ecore-evas/engines/*/*/module.so \
-"
-FILES_eio = "\
- ${libdir}/libeio${SOLIBS} \
-"
-FILES_eina = "\
- ${libdir}/libeina${SOLIBS} \
- ${bindir}/eina-bench-cmp \
-"
-FILES_edje-utils = "\
- ${bindir}/edje_* \
- ${datadir}/edje/include/edje.inc \
-"
-FILES_eldbus = "\
- ${libdir}/libeldbus${SOLIBS} \
-"
-FILES_eo = "\
- ${libdir}/libeo${SOLIBS} \
-"
-FILES_libemotion = "\
- ${libdir}/libemotion${SOLIBS} \
-"
-FILES_efreet = " \
- ${datadir}/dbus-1/services/*Efreet* \
- ${libdir}/efreet/*/efreet*create \
- ${bindir}/efreetd \
- ${datadir}/efreet \
-"
-FILES_eet = " \
- ${bindir}/eet \
- ${bindir}/eetpack \
- ${bindir}/vieet \
- ${bindir}/diffeet \
- ${libdir}/libeet${SOLIBS} \
-"
-FILES_emotion = " \
- ${datadir}/emotion \
- ${libdir}/emotion/modules/gstreamer1/*/module.so \
-"
-FILES_embryo-tests = " \
- ${datadir}/embryo/ \
-"
-FILES_embryo-utils = " \
- ${binddir}/embryo_* \
-"
-FILES_embryo = " \
- ${libdir}/libembryo${SOLIBS} \
-"
-FILES_ethumb = " \
- ${datadir}/dbus-1/services/*Ethumb* \
- ${libdir}/libethumb${SOLIBS} \
- ${libdir}/libethumb_client${SOLIBS} \
- ${bindir}/ethumbd \
- ${bindir}/ethumbd_client \
- ${bindir}/ethumb \
- ${libdir}/ethumb/*/*/*/module.so \
- ${libdir}/ethumb/*/*/*/*.edj \
- ${libdir}/ethumb_client/utils/*/ethumbd_slave \
- ${datadir}/ethumb* \
-"
-FILES_ecore = " \
- ${libdir}/libecore${SOLIBS} \
- ${libdir}/ecore*/*/*/*/module.so \
- ${datadir}/ecore* \
-"
-FILES_evas = " \
- ${libdir}/libevas${SOLIBS} \
- ${libdir}/evas*/*/*/*/*/module.so \
- ${libdir}/evas*/*/*/*/*/*.edj \
- ${libdir}/evas/cserve2/bin/*/evas_cserve2* \
- ${datadir}/evas* \
- ${bindir}/evas_cserve2_* \
-"
-
-FILES_eeze = " \
- ${libdir}/libeeze${SOLIBS} \
- ${libdir}/eeze*/*/*/*/*/module.so \
- ${datadir}/eeze \
- ${bindir}/eeze_* \
-"
-FILES_edje = " \
- ${libdir}/libedje${SOLIBS} \
- ${libdir}/edje*/*/*/*/module.so \
- ${libdir}/edje/utils/*/epp \
- ${datadir}/edje \
- ${datadir}/mime \
-"
-FILES_elua = " \
- ${bindir}/elua \
- ${datadir}/elua \
-"
-FILES_${PN}-dbg += " \
- ${libdir}/efreet/*/.debug \
- ${libdir}/ecore*/*/*/*/.debug \
- ${libdir}/ecore*/*/*/.debug \
- ${libdir}/evas*/*/*/*/*/.debug \
- ${libdir}/evas/cserve2/bin/*/.debug \
- ${libdir}/eeze*/*/*/*/*/.debug \
- ${libdir}/edje*/*/*/*/.debug \
- ${libdir}/edje/utils/*/.debug \
- ${libdir}/ethumb/*/*/*/.debug \
- ${libdir}/ethumb_client/utils/*/.debug \
- ${libdir}/emotion/modules/gstreamer1/*/.debug \
-"
-FILES_${PN}-dev += " \
- ${libdir}/cmake \
- ${libdir}/ecore*/*/*/*/module.la \
- ${libdir}/evas*/*/*/*/*/module.la \
- ${libdir}/ethumb*/*/*/*/module.la \
- ${libdir}/eeze*/*/*/*/*/module.la \
- ${libdir}/edje*/*/*/*/module.la \
- ${libdir}/emotion/modules/gstreamer1/*/module.la \
- ${datadir}/gdb/auto-load \
- ${datadir}/eo/gdb \
- ${bindir}/eldbus-codegen \
-"
-
-PNBLACKLIST[efl] ?= "Depends on broken efl-native - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-PNBLACKLIST[efl-native] ?= "Broken: fails to build with http://errors.yoctoproject.org/Errors/Details/138240/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/efl/0001-configure.ac-Don-t-check-for-Xprint-extension.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/efl/0001-configure.ac-Don-t-check-for-Xprint-extension.patch
deleted file mode 100644
index fa85f817e..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/efl/0001-configure.ac-Don-t-check-for-Xprint-extension.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 27aedcdcdafbf079dc022bab72ec309cf7db3172 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Fri, 10 Jan 2014 17:07:13 +0100
-Subject: [PATCH 1/3] configure.ac: Don't check for Xprint extension
-
-* it's long gone
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- configure.ac | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index c108b1b..f019bfc 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -3474,7 +3474,6 @@ if test "x${want_x11_xlib}" = "xyes" ; then
- ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xext], [DPMSQueryExtension])
- ECORE_CHECK_X_EXTENSION([Xfixes], [Xfixes.h], [Xfixes], [XFixesExpandRegion])
- ECORE_CHECK_X_EXTENSION([Xinerama], [Xinerama.h], [Xinerama], [XineramaQueryScreens])
-- ECORE_CHECK_X_EXTENSION([Xprint], [Print.h], [Xp], [XpQueryScreens])
- ECORE_CHECK_X_EXTENSION([Xrandr], [Xrandr.h], [Xrandr], [XRRGetScreenResourcesCurrent])
- ECORE_CHECK_X_EXTENSION([Xrender], [Xrender.h], [Xrender], [XRenderFindVisualFormat])
- ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent])
---
-2.3.0
-
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/efl/0001-evas_3d-Add-Eet.h-includes.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/efl/0001-evas_3d-Add-Eet.h-includes.patch
deleted file mode 100644
index d0f26c7dd..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/efl/0001-evas_3d-Add-Eet.h-includes.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 2e50fd2dfc68b77e7acddc79550f22987778a897 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Tue, 2 Dec 2014 12:21:10 +0100
-Subject: [PATCH] evas_3d: Add Eet.h includes
-
-* with some very restrictive options like we use in efl-native, the build is complaining
- about missing symbols from Eet.h, add include where needed
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- src/lib/evas/canvas/evas_canvas3d_eet.c | 1 +
- src/modules/evas/model_loaders/eet/evas_model_load_eet.c | 1 +
- src/modules/evas/model_savers/eet/evas_model_save_eet.c | 1 +
- 3 files changed, 3 insertions(+)
-
-diff --git a/src/lib/evas/canvas/evas_canvas3d_eet.c b/src/lib/evas/canvas/evas_canvas3d_eet.c
-index 281f69d..a604076 100644
---- a/src/lib/evas/canvas/evas_canvas3d_eet.c
-+++ b/src/lib/evas/canvas/evas_canvas3d_eet.c
-@@ -1,3 +1,4 @@
-+#include <Eet.h>
- #include <stdio.h>
- #include "evas_common_private.h"
- #include "evas_private.h"
-diff --git a/src/modules/evas/model_loaders/eet/evas_model_load_eet.c b/src/modules/evas/model_loaders/eet/evas_model_load_eet.c
-index 803846d..7ebaf8e 100644
---- a/src/modules/evas/model_loaders/eet/evas_model_load_eet.c
-+++ b/src/modules/evas/model_loaders/eet/evas_model_load_eet.c
-@@ -3,6 +3,7 @@
- #endif
-
- #include <Eo.h>
-+#include <Eet.h>
- #include <stdio.h>
- #include "evas_common_private.h"
- #include "evas_private.h"
-diff --git a/src/modules/evas/model_savers/eet/evas_model_save_eet.c b/src/modules/evas/model_savers/eet/evas_model_save_eet.c
-index 71e094a..4d56977 100644
---- a/src/modules/evas/model_savers/eet/evas_model_save_eet.c
-+++ b/src/modules/evas/model_savers/eet/evas_model_save_eet.c
-@@ -2,6 +2,7 @@
- #include "config.h"
- #endif
-
-+#include <Eet.h>
- #include <stdio.h>
- #include "evas_common_private.h"
- #include "evas_private.h"
---
-2.5.0
-
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/efl_1.15.1.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/efl_1.15.1.bb
deleted file mode 100644
index 9f18531de..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/efl_1.15.1.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI = "\
- ${E_RELEASES}/libs/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \
- file://0001-configure.ac-Don-t-check-for-Xprint-extension.patch \
- file://0001-evas_3d-Add-Eet.h-includes.patch \
-"
-
-SRC_URI[md5sum] = "dc91bcab73275f678e1748a2dea8d88a"
-SRC_URI[sha256sum] = "2a6d0ab28020b4741be20b32ad0ffeb8f97f766c5c32175bacc2f2d0dc52f98c"
-
-# Temporary disable until error like the one following are fixed
-# efl-native/2_1.8.4-r0/efl-1.8.4/src/lib/eet/.libs/libeet.so: file not recognized: File truncated
-# collect2: error: ld returned 1 exit status
-# x86_64-linux-libtool: install: error: relink `modules/evas/savers/tiff/module.la' with the above command before installing it
-# Makefile:11031: recipe for target 'install-savertiffpkgLTLIBRARIES' failed
-PARALLEL_MAKE_class-native = ""
-
-#EFL_RUN_IN_TREE=1 ../src/bin/eolian/eolian_gen --eo --legacy -I/OE/build/shr-core/tmp-eglibc/work/x86_64-linux/efl-native/2_1.10.0-r0/efl-1.10.0/src/lib/eo -I/OE/build/shr-core/tmp-eglibc/work/x86_64-linux/efl-native/2_1.10.0-r0/efl-1.10.0/src/lib/evas/canvas -I/OE/build/shr-core/tmp-eglibc/work/x86_64-linux/efl-native/2_1.10.0-r0/efl-1.10.0/src/lib/edje -I/OE/build/shr-core/tmp-eglibc/work/x86_64-linux/efl-native/2_1.10.0-r0/efl-1.10.0/src/lib/ecore_audio --gc -o lib/evas/canvas/evas_line.eo.c /OE/build/shr-core/tmp-eglibc/work/x86_64-linux/efl-native/2_1.10.0-r0/efl-1.10.0/src/lib/evas/canvas/evas_line.eo
-#ERR<32439>:eolian_gen /OE/build/shr-core/tmp-eglibc/work/x86_64-linux/efl-native/2_1.10.0-r0/efl-1.10.0/src/bin/eolian/main.c:103 _generate_c_file() Couldnt open file lib/evas/canvas/evas_line.eo.c for writing
-#Makefile:30738: recipe for target 'lib/evas/canvas/evas_line.eo.c' failed
-#make[2]: *** [lib/evas/canvas/evas_line.eo.c] Error 1
-#Makefile:2163: recipe for target 'all-recursive' failed
-# autotools-brokensep
-B = "${S}"
-
-#ld: error: modules/evas/image_loaders/png/bin_evas_evas_cserve2_slave-evas_image_load_png.o: requires unsupported dynamic reloc R_ARM_MOVW_ABS_NC; recompile with -fPIC
-#ld: error: modules/evas/image_loaders/png/bin_evas_evas_cserve2_slave-evas_image_load_png.o: requires unsupported dynamic reloc R_ARM_MOVW_ABS_NC; recompile with -fPIC
-CFLAGS += "-fPIC"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/elementary-theme-efenniht/LICENSE b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/elementary-theme-efenniht/LICENSE
deleted file mode 100644
index 61bb2f603..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/elementary-theme-efenniht/LICENSE
+++ /dev/null
@@ -1,25 +0,0 @@
-Copyright notice for Enlightenment:
-
-Copyright (C) 2000-2010 Carsten Haitzler and various contributors (see AUTHORS)
-
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
-INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
-FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
-OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/elementary-theme-efenniht_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/elementary-theme-efenniht_svn.bb
deleted file mode 100644
index 783d12304..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/elementary-theme-efenniht_svn.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-DESCRIPTION = "efenniht elementary theme - Efenniht was devised to be clean \
-and neutral. Its name (which means equinox) comes from the chromatic duality \
-that was decided at the very beginning, with a dark theme (black and orange) \
-and a bright one (white and blue) to be developed so that more people feel \
-comfortable using it. Efenniht uses few animations, discrete contrasts between \
-shades of gray and fine lines (colored) that outline the selected elements."
-SECTION = "e/utils"
-HOMEPAGE = "http://trac.enlightenment.org/e/wiki/Themes#Efenniht"
-DEPENDS = "edje-native"
-RSUGGESTS_${PN} = "e-wm-theme-illume-efenniht"
-LICENSE = "MIT & BSD"
-LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=f523ab5986cc79b52a90d2ac3d5454a2"
-
-SRCREV_THM_REV ?= "${EFL_SRCREV}"
-SRCREV_ELM_REV ?= "${EFL_SRCREV}"
-
-SRCREV_FORMAT = "THM_REV"
-PV = "0.0+svnr${SRCPV}"
-PR = "r1"
-
-inherit e-base allarch
-
-SRCNAME = "efenniht"
-SRC_URI = "${E_SVN}/trunk/THEMES;module=${SRCNAME};protocol=http;name=THM_REV"
-SRC_URI += "${E_SVN}/trunk/elementary/data;module=themes;protocol=http;name=ELM_REV"
-SRC_URI += "file://LICENSE"
-S = "${WORKDIR}/${SRCNAME}"
-
-do_compile() {
- ${STAGING_BINDIR_NATIVE}/edje_cc -id ${S}/images -id ${WORKDIR}/themes/images ${S}/elm-efenniht.edc -o ${S}/elm-efenniht.edj
-}
-
-do_install() {
- install -d ${D}${datadir}/elementary/themes/
- install -m 0644 ${S}/elm-efenniht.edj ${D}${datadir}/elementary/themes/
-}
-
-FILES_${PN} = "${datadir}/elementary/themes/"
-
-PNBLACKLIST[elementary-theme-efenniht] ?= "Depends on blacklisted edje-native - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[elementary-theme-efenniht] ?= "Runtime depends on blacklisted elementary-theme-efenniht - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[elementary-theme-efenniht] ?= "Runtime depends on blacklisted elementary-theme-efenniht-dev - the recipe will be removed on 2017-09-01 unless the issue is fixed"
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
deleted file mode 100644
index cec67aa72..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/elementary.inc
+++ /dev/null
@@ -1,89 +0,0 @@
-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 eio"
-DEPENDS_class-native = "efl-native"
-
-inherit efl gettext
-
-EXTRA_OECONF_append_class-target = "\
- --with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc \
- --with-eet-eet=${STAGING_BINDIR_NATIVE}/eet \
- --with-elementary-codegen=${STAGING_BINDIR_NATIVE}/elementary_codegen \
- --with-elm-prefs-cc=${STAGING_BINDIR_NATIVE}/elm_prefs_cc \
- --with-eolian-gen=${STAGING_BINDIR_NATIVE}/eolian_gen \
- --with-eolian-cxx=${STAGING_BINDIR_NATIVE}/eolian_cxx \
-"
-
-BBCLASSEXTEND = "native"
-
-PACKAGECONFIG[eweather] = "--enable-eweather,--disable-eweather,libeweather"
-PACKAGECONFIG[ewebkit] = "--with-elementary-web-backend=ewebkit,--with-elementary-web-backend=none,webkit-efl"
-# be aware when enabling this for efl-native, we don't provide gcc-native so you need to make
-# sure that all your builders have g++ which supports -std=gnu++11
-PACKAGECONFIG[c++11] = "--enable-cxx-bindings,--disable-cxx-bindings"
-
-do_configure_prepend() {
- # prefix returned eolian paths with STAGING_DIR_HOST
- sed -i 's%^\(DEPS_EOLIAN_FLAGS=`.*\)`$%\1 | sed "s#-I\\${prefix}#-I\\${STAGING_DIR_HOST}\\${prefix}#g"`%g' ${S}/configure.ac
-}
-
-do_compile_append_class-target() {
- sed -i -e s:${STAGING_DIR_TARGET}::g \
- -e s:/${TARGET_SYS}::g \
- elementary.pc
-}
-
-PACKAGES += "${PN}-configs ${PN}-accessibility"
-
-RDEPENDS_${PN}_class-native = ""
-
-RDEPENDS_${PN} = "\
- ${PN}-themes \
- ${PN}-configs \
-"
-RSUGGESTS_${PN} = "${PN}-tests ${PN}-accessibility"
-
-FILES_${PN} += "\
- ${libdir}/edje/modules/elm \
- ${libdir}/elementary/modules/datetime_input_ctxpopup/*/module.so \
- ${libdir}/elementary/modules/prefs/*/module.so \
- ${libdir}/elementary/modules/prefs/*/*.edj \
-"
-
-FILES_${PN}-dev += "\
- ${bindir}/elm_prefs_cc \
- ${libdir}/elementary/modules/*/*/module.la \
- ${libdir}/cmake \
-"
-
-FILES_${PN}-themes = "\
- ${datadir}/elementary/themes \
-"
-
-FILES_${PN}-configs = "\
- ${datadir}/elementary/config \
-"
-
-FILES_${PN}-dbg += "\
- ${libdir}/elementary/modules/*/*/.debug \
- ${libdir}/edje/modules/elm/*/.debug \
-"
-
-FILES_${PN}-tests = "\
- ${bindir}/elementary* \
- ${datadir}/elementary/images \
- ${datadir}/elementary/objects \
- ${datadir}/elementary/examples \
- ${datadir}/applications/* \
- ${datadir}/icons/* \
- ${libdir}/elementary/modules/test_entry/* \
- ${libdir}/elementary/modules/test_map/* \
-"
-
-FILES_${PN}-accessibility = "\
- ${libdir}/elementary/modules/access_output/* \
-"
-
-# Some upgrade path tweaking, as in evas
-AUTO_LIBNAME_PKGS = ""
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/elementary/0001-Makefile-Use-elementary_codegen-defined-in-configure.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/elementary/0001-Makefile-Use-elementary_codegen-defined-in-configure.patch
deleted file mode 100644
index 9524c70d7..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/elementary/0001-Makefile-Use-elementary_codegen-defined-in-configure.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 75d104d105aa03dd9d446fa7d84fa95e0f566cf9 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sat, 11 Jan 2014 12:55:59 +0100
-Subject: [PATCH] Makefile: Use elementary_codegen defined in configure
-
-* using binaries from top_buildir doesn't work when cross-compiling elementary
- where we need to pass native binaries in configure params
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- src/examples/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/examples/Makefile.am b/src/examples/Makefile.am
-index fc35c75..1e10b0b 100644
---- a/src/examples/Makefile.am
-+++ b/src/examples/Makefile.am
-@@ -29,7 +29,7 @@ LDADD = \
- @ELEMENTARY_X_LIBS@ \
- $(top_builddir)/src/lib/libelementary.la
-
--ELEMENTARY_CODEGEN = $(top_builddir)/src/bin/@ELEMENTARY_CODEGEN_PRG@
-+ELEMENTARY_CODEGEN = @elementary_codegen@
- ELEMENTARY_CODEGEN_FLAGS = --prefix=codegen_example
-
- SRCS = \
---
-1.9.0
-
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/elementary_1.15.1.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/elementary_1.15.1.bb
deleted file mode 100644
index 40dd8ad27..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/elementary_1.15.1.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI = "\
- ${E_RELEASES}/libs/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \
-"
-
-# only for target, because configure doesn't default to sane default when
-# these paths aren't passed in -native build
-SRC_URI_append_class-target = " file://0001-Makefile-Use-elementary_codegen-defined-in-configure.patch"
-
-SRC_URI[md5sum] = "bde4d85fa10ee8a7c0aeb74e69d7cd06"
-SRC_URI[sha256sum] = "ae5540c2103fcdc69fd7469277ce25a8a00a0f701fc2c20771dc0108401e53a0"
-
-# autotools-brokensep - configure updates Elementary.h correctly in ${B}, but then build is using Elementary.h from ${S}
-# which includes #define ELM_EMAP (instead of #undef ELM_EMAP) and building fails
-B = "${S}"
-
-PNBLACKLIST[elementary] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130584/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/emotion-generic-players.inc b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/emotion-generic-players.inc
deleted file mode 100644
index 4ab89ae32..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/emotion-generic-players.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-DESCRIPTION = "Emotion generic players"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a0f11eedf8706bf6d4d6639fb67eb8ae"
-
-DEPENDS = "emotion"
-
-inherit efl
-
-SRCNAME = "emotion_generic_players"
-
-# creates empty packages until you get vlc-2 and enable it here
-PACKAGECONFIG ?= ""
-# needs eina and ecore from efl and vlc-2 (currently we have 1.11)
-PACKAGECONFIG[vlc] = "--with-vlc,--without-vlc,vlc efl"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/emotion-generic-players_1.15.0.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/emotion-generic-players_1.15.0.bb
deleted file mode 100644
index ffdd26982..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/emotion-generic-players_1.15.0.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI = "\
- ${E_RELEASES}/libs/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \
-"
-
-SRC_URI[md5sum] = "68627c1aabf5b7fe084299adcc0b73c1"
-SRC_URI[sha256sum] = "10bad633480a691585b0ba470c573b14da0a010008d9d59d0792cea8c621d423"
-
-PNBLACKLIST[emotion-generic-players] ?= "Depends on blacklisted emotion - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[emotion-generic-players] ?= "Runtime depends on blacklisted emotion-generic-players - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[emotion-generic-players] ?= "Runtime depends on blacklisted emotion-generic-players-dev - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/engrave_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/engrave_svn.bb
deleted file mode 100644
index f950938c9..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/engrave_svn.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "Engrave is an Edje Editing Library"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=edf2d968b9eb026bfa82cccbd0e6f9f5"
-# also requires yacc and lex on host
-DEPENDS = "evas ecore flex"
-PV = "0.0.0+svnr${SRCPV}"
-SRCREV = "${EFL_SRCREV}"
-
-inherit efl autotools-brokensep
-SRC_URI = "${E_SVN}/OLD;module=${SRCNAME};protocol=http;scmdata=keep"
-S = "${WORKDIR}/${SRCNAME}"
-
-# engrave.l:5:35: fatal error: libengrave_la-engrave.h: No such file or directory
-# http://errors.yoctoproject.org/Errors/Details/56597/
-PNBLACKLIST[engrave] ?= "BROKEN: fails to build with latest oe-core - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/entrance/0001-pam-use-common-auth-instead-of-system-auth.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/entrance/0001-pam-use-common-auth-instead-of-system-auth.patch
deleted file mode 100644
index a82d1ed3c..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/entrance/0001-pam-use-common-auth-instead-of-system-auth.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 14396c52a2556b1ab778a310a318ec19c2829735 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Thu, 24 Nov 2011 13:25:33 +0100
-Subject: [PATCH] pam: use common-auth instead of system-auth
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- PROTO/entrance/data/entrance | 8 ++++----
- 1 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/data/entrance b/data/entrance
-index 872c83d..2b98c3a 100644
---- a/data/entrance
-+++ b/data/entrance
-@@ -1,4 +1,4 @@
--auth include system-auth
--account include system-auth
--password include system-auth
--session include system-auth
-+auth include common-auth
-+account include common-account
-+password include common-password
-+session include common-session
---
-1.7.8.6
-
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/entrance/entrance.service b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/entrance/entrance.service
deleted file mode 100644
index 482868695..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/entrance/entrance.service
+++ /dev/null
@@ -1,8 +0,0 @@
-[Unit]
-Description=Login manager for Enlightenment
-
-[Service]
-ExecStart=/usr/sbin/entrance
-
-[Install]
-Alias=display-manager.service
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/entrance_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/entrance_svn.bb
deleted file mode 100644
index b1e580dbe..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/entrance_svn.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-SUMMARY = "Login manager for Enlightenment"
-DEPENDS = "efreet eina eet ecore elementary"
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-SECTION = "e/apps"
-
-inherit e gettext systemd
-SRC_URI = "${E_SVN}/trunk/PROTO;module=${SRCNAME};protocol=http;scmdata=keep \
- file://0001-pam-use-common-auth-instead-of-system-auth.patch \
- file://entrance.service \
-"
-S = "${WORKDIR}/${SRCNAME}"
-
-PNBLACKLIST[entrance] ?= "broken: switch to https://git.enlightenment.org/misc/entrance.git and fix 0.0.4+svnr82070-r7/entrance/data/themes/old/default.edc:678. invalid state name: 'defaault'. "default" state must always be first. - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[consolekit] = "--enable-consolekit,--disable-consolekit,consolekit"
-
-EXTRA_OECONF = "--with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '', '--disable-pam', d)}"
-
-PR = "r7"
-PV = "0.0.4+svnr${SRCPV}"
-SRCREV = "${EFL_SRCREV}"
-
-RDEPENDS_${PN} += "${PN}-themes sessreg xauth"
-CONFFILES_${PN} += "${sysconfdir}/entrance.conf"
-
-RCONFLICTS_${PN} += "xserver-nodm-init"
-RREPLACES_${PN} += "xserver-nodm-init"
-
-RCONFLICTS_${PN} += "xserver-nodm-init-systemd"
-RREPLACES_${PN} += "xserver-nodm-init-systemd"
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-
-SYSTEMD_SERVICE_${PN} = "entrance.service"
-
-do_install_append() {
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/entrance.service ${D}${systemd_unitdir}/system
-}
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/epdf/0001-remove-antialias-functions-poppler-has-dropped-them-.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/epdf/0001-remove-antialias-functions-poppler-has-dropped-them-.patch
deleted file mode 100644
index 728ffa6e3..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/epdf/0001-remove-antialias-functions-poppler-has-dropped-them-.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-From 6691ac5fcbac0e766d4410ae649a13957ae85289 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Thu, 22 Oct 2015 16:27:52 +0200
-Subject: [PATCH 1/2] remove antialias functions - poppler has dropped them in
- the API
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The functions removed were not used.
-
-Upstream-Status: pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- src/lib/epdf_main.h | 45 -----------------------------------
- src/lib/mupdf/epdf_mupdf_main.c | 18 --------------
- src/lib/poppler/epdf_poppler_main.cpp | 21 ----------------
- 3 files changed, 84 deletions(-)
-
-diff --git a/src/lib/epdf_main.h b/src/lib/epdf_main.h
-index 54a57ca..0a79bad 100644
---- a/src/lib/epdf_main.h
-+++ b/src/lib/epdf_main.h
-@@ -29,49 +29,4 @@ EAPI int epdf_shutdown();
- */
- EAPI const char *epdf_backend_version_get (void);
-
--/**
-- * @brief Return the state of fonts antialiasing in Poppler
-- *
-- * @return EINA_TRUE if fonts antialiasing enabled, EINA_FALSE otherwise.
-- *
-- * Return EINA_TRUE if the state of fonts antialiasing is enabled in
-- * Poppler, EINA_FALSE otherwise.
-- *
-- * @ingroup Epdf_Main
-- */
--EAPI Eina_Bool epdf_fonts_antialias_get (void);
--
--/**
-- * @brief Sets fonts antialiasing mode in Poppler
-- *
-- * @param on EINA_TRUE to enable fonts antialiasing, EINA_FALSE to disable
-- *
-- * Set @p on to EINA_TRUE to enable fonts antialiasing in Poppler,
-- * EINA_FALSE to disable it.
-- */
--EAPI void epdf_fonts_antialias_set (Eina_Bool on);
--
--/**
-- * @brief Return the state of lines antialiasing in Poppler
-- *
-- * @return EINA_TRUE if lines antialiasing enabled, EINA_FALSE otherwise.
-- *
-- * Return EINA_TRUE if the state of lines antialiasing is enabled in
-- * Poppler, EINA_FALSE otherwise.
-- *
-- * @ingroup Epdf_Main
-- */
--EAPI Eina_Bool epdf_lines_antialias_get (void);
--
--/**
-- * @brief Sets lines antialiasing mode in Poppler
-- *
-- * @param on EINA_TRUE to enable lines antialiasing, EINA_FALSE to disable
-- *
-- * Set @p on to EINA_TRUE to enable lines antialiasing in Poppler,
-- * EINA_FALSE to disable it.
-- */
--EAPI void epdf_lines_antialias_set (Eina_Bool on);
--
--
- #endif /* __EPDF_MAIN_H__ */
-diff --git a/src/lib/mupdf/epdf_mupdf_main.c b/src/lib/mupdf/epdf_mupdf_main.c
-index 17bb830..27c6de2 100644
---- a/src/lib/mupdf/epdf_mupdf_main.c
-+++ b/src/lib/mupdf/epdf_mupdf_main.c
-@@ -37,21 +37,3 @@ epdf_backend_version_get (void)
- {
- return "0.5";
- }
--
--Eina_Bool epdf_fonts_antialias_get(void)
--{
-- return EINA_TRUE;
--}
--
--void epdf_fonts_antialias_set(Eina_Bool on)
--{
--}
--
--Eina_Bool epdf_lines_antialias_get(void)
--{
-- return EINA_TRUE;
--}
--
--void epdf_lines_antialias_set(Eina_Bool on)
--{
--}
-diff --git a/src/lib/poppler/epdf_poppler_main.cpp b/src/lib/poppler/epdf_poppler_main.cpp
-index 9841987..9efdbe8 100644
---- a/src/lib/poppler/epdf_poppler_main.cpp
-+++ b/src/lib/poppler/epdf_poppler_main.cpp
-@@ -46,24 +46,3 @@ epdf_backend_version_get (void)
- {
- return POPPLER_VERSION;
- }
--
--Eina_Bool epdf_fonts_antialias_get (void)
--{
-- return globalParams->getAntialias();
--}
--
--void epdf_fonts_antialias_set (Eina_Bool on)
--{
-- /* Nice API */
-- globalParams->setAntialias((char*)(on ? "yes" : "no"));
--}
--
--Eina_Bool epdf_lines_antialias_get (void)
--{
-- return globalParams->getVectorAntialias();
--}
--
--void epdf_lines_antialias_set (Eina_Bool on)
--{
-- globalParams->setVectorAntialias((char*)(on ? "yes" : "no"));
--}
---
-2.1.0
-
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/epdf/0002-epdf_poppler_postscript.cpp-fix-build-for-poppler-AP.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/epdf/0002-epdf_poppler_postscript.cpp-fix-build-for-poppler-AP.patch
deleted file mode 100644
index c9adaa731..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/epdf/0002-epdf_poppler_postscript.cpp-fix-build-for-poppler-AP.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From a84c16fdc606f22b993f870b1cea56dd060a35e6 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Thu, 22 Oct 2015 16:55:30 +0200
-Subject: [PATCH 2/2] epdf_poppler_postscript.cpp: fix build for poppler API
- change
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Poppler API was changed in [1]. The patch not only shows the change but also
-inspires how to fix.
-
-[1] http://cgit.freedesktop.org/poppler/poppler/commit/?id=9caf7525409d699c16896653528486451123b485
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- src/lib/poppler/epdf_poppler_postscript.cpp | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/src/lib/poppler/epdf_poppler_postscript.cpp b/src/lib/poppler/epdf_poppler_postscript.cpp
-index 0c2836b..656193b 100644
---- a/src/lib/poppler/epdf_poppler_postscript.cpp
-+++ b/src/lib/poppler/epdf_poppler_postscript.cpp
-@@ -82,11 +82,14 @@ epdf_postscript_print (const Epdf_Postscript *postscript)
-
- // FIXME: fix postscript title
- #ifdef HAVE_POPPLER_0_20
-+ std::vector<int> pages;
-+ for (int i = postscript->first_page; i <= postscript->last_page; ++i) {
-+ pages.push_back(i);
-+ }
- PSOutputDev ps_dev(postscript->filename,
- postscript->pdfdoc,
- (char *)"PS title",
-- postscript->first_page,
-- postscript->last_page,
-+ pages,
- psModePS,
- (int)postscript->width,
- (int)postscript->height,
---
-2.1.0
-
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/epdf_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/epdf_svn.bb
deleted file mode 100644
index d664bad78..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/epdf_svn.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "Epdf is the glue between EFL and libpoppler"
-
-DEPENDS = "poppler evas ecore"
-PV = "0.1.0+svnr${SRCPV}"
-SRCREV = "${EFL_SRCREV}"
-
-inherit efl
-
-LICENSE = "GPLv2 & LGPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
- file://COPYING.LESSER;md5=6a6a8e020838b23406c81b19c1d46df6 \
-"
-
-SRC_URI = " \
- ${E_SVN}/trunk/PROTO;module=${SRCNAME};protocol=http;scmdata=keep \
- file://0001-remove-antialias-functions-poppler-has-dropped-them-.patch \
- file://0002-epdf_poppler_postscript.cpp-fix-build-for-poppler-AP.patch \
-"
-S = "${WORKDIR}/${SRCNAME}"
-
-EXTRA_OECONF = "\
- --enable-poppler \
- --disable-mupdf \
-"
-
-# Some upgrade path tweaking, as in evas
-AUTO_LIBNAME_PKGS = ""
-
-PNBLACKLIST[epdf] ?= "Depends on blacklisted ecore - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[epdf] ?= "Depends on blacklisted evas - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[epdf] ?= "Runtime depends on blacklisted epdf-dev - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[epdf] ?= "Runtime depends on blacklisted epdf - the recipe will be removed on 2017-09-01 unless the issue is fixed"
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
deleted file mode 100644
index d277c1167..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/evas-generic-loaders.inc
+++ /dev/null
@@ -1,73 +0,0 @@
-DESCRIPTION = "Evas generic loaders"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a87563ed30add2b0e3460272d3138a00"
-DEPENDS = "eina librsvg cairo"
-
-inherit efl
-
-SRCNAME = "evas_generic_loaders"
-
-EXTRA_OECONF = " \
- --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 () {
- bb.note( "splitting packages for evas generic loaders" )
- basedir = d.expand( '${libdir}/evas/utils')
-
- do_split_packages(d, basedir, 'evas_image_loader\.(.*)$',
- output_pattern = "evas-generic-loader-%s",
- description = 'Evas generic loaders - module %s',
- allow_dirs=True, recursive=False, extra_depends="" )
-
- do_split_packages(d, basedir, 'evas_generic_pdf_loader\.(.*)$',
- output_pattern = "evas-generic-pdf-loader-%s",
- description = 'Evas generic pdf loaders - module %s',
- allow_dirs=True, recursive=False, extra_depends="" )
-}
-
-# add symlinks for different format (it doesn't make much sense to package them in separate packages)
-FILES_evas-generic-loader-xcf += " \
- ${libdir}/evas/utils/evas_image_loader.xcf.gz \
-"
-FILES_evas-generic-loader-svg += " \
- ${libdir}/evas/utils/evas_image_loader.svg.gz \
- ${libdir}/evas/utils/evas_image_loader.svgz \
-"
-FILES_evas-generic-loader-pdf += " \
- ${libdir}/evas/utils/evas_image_loader.doc \
- ${libdir}/evas/utils/evas_image_loader.docx \
- ${libdir}/evas/utils/evas_image_loader.odp \
- ${libdir}/evas/utils/evas_image_loader.ods \
- ${libdir}/evas/utils/evas_image_loader.odt \
- ${libdir}/evas/utils/evas_image_loader.ppt \
- ${libdir}/evas/utils/evas_image_loader.pptx \
- ${libdir}/evas/utils/evas_image_loader.rtf \
- ${libdir}/evas/utils/evas_image_loader.xls \
- ${libdir}/evas/utils/evas_image_loader.xlsx \
-"
-FILES_evas-generic-pdf-loader-libreoffice += " \
- ${libdir}/evas/utils/evas_generic_pdf_loader.doc \
- ${libdir}/evas/utils/evas_generic_pdf_loader.docx \
- ${libdir}/evas/utils/evas_generic_pdf_loader.odp \
- ${libdir}/evas/utils/evas_generic_pdf_loader.ods \
- ${libdir}/evas/utils/evas_generic_pdf_loader.odt \
- ${libdir}/evas/utils/evas_generic_pdf_loader.ppt \
- ${libdir}/evas/utils/evas_generic_pdf_loader.pptx \
- ${libdir}/evas/utils/evas_generic_pdf_loader.rtf \
- ${libdir}/evas/utils/evas_generic_pdf_loader.xls \
- ${libdir}/evas/utils/evas_generic_pdf_loader.xlsx \
-"
-
-FILES_${PN}-dbg += "${libdir}/evas/utils/.debug"
-
-PACKAGES += "evas-generic-loader-svg"
-PACKAGES_DYNAMIC += "^evas-generic-loader-.* ^evas-generic-pdf-loader-.*"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/evas-generic-loaders_1.15.0.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/evas-generic-loaders_1.15.0.bb
deleted file mode 100644
index ecdbcee1f..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/evas-generic-loaders_1.15.0.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI = "\
- ${E_RELEASES}/libs/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \
-"
-
-SRC_URI[md5sum] = "3ca8443b8cbf177845595c5e02fbc49c"
-SRC_URI[sha256sum] = "caa22c9ba1ae9629c16a3fe809ea927f60b8f0d80cdb7f145159b997b9ae2bcd"
-
-PNBLACKLIST[evas-generic-loaders] ?= "Depends on blacklisted eina - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[evas-generic-loaders] ?= "Runtime depends on blacklisted evas-generic-loaders - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[evas-generic-loaders] ?= "Runtime depends on blacklisted evas-generic-loaders-dev - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/expedite.inc b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/expedite.inc
deleted file mode 100644
index 60e85974c..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/expedite.inc
+++ /dev/null
@@ -1,25 +0,0 @@
-DESCRIPTION = "Expedite is a comprehensive benchmarking suite for Evas"
-DEPENDS = "eet evas libsdl"
-LICENSE = "MIT & BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d70bc65d46237e4ef386beebe7d0fe5b"
-
-INC_PR = "r0"
-
-inherit e
-
-EXTRA_OECONF = "\
- --x-includes=${STAGING_INCDIR}/X11 \
- --x-libraries=${STAGING_LIBDIR} \
- --enable-simple-x11 \
-\
- --enable-software-x11 \
- --enable-xrender-x11 \
- --enable-software-16-x11 \
- --enable-opengl-x11 \
- --enable-fb \
- --disable-software-ddraw \
- --disable-direct3d \
-"
-
-FILES_${PN} += "${datadir}"
-RDEPENDS_${PN} = "expedite-themes evas-engine-fb evas-engine-software-generic evas-engine-software-x11 evas-engine-gl-x11 evas-loader-png"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/expedite_1.7.9.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/expedite_1.7.9.bb
deleted file mode 100644
index 832cd00a5..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/expedite_1.7.9.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI = "\
- ${E_MIRROR}/${SRCNAME}-${SRCVER}.tar.gz \
-"
-
-SRC_URI[md5sum] = "954fe8e40fec6a561190ff0fb75b6bdd"
-SRC_URI[sha256sum] = "a05be096c911e0d66d4bdc497ebb935a04ad23696de9084aed9959b5172a593e"
-
-PNBLACKLIST[expedite] ?= "Depends on blacklisted eet - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[expedite] ?= "Depends on blacklisted evas - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted evas-loader-png - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted expedite - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted expedite-themes - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted evas-engine-gl-x11 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted evas-engine-software-generic - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted expedite-dev - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted evas-engine-software-x11 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted evas-engine-fb - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/expedite_git.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/expedite_git.bb
deleted file mode 100644
index 65c2d4a49..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/expedite_git.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-require ${BPN}.inc
-
-SRCREV = "a5e6af917af52877b378090811cf836c16d0bfbb"
-PV = "1.7.99+gitr${SRCPV}"
-
-DEFAULT_PREFERENCE = "-1"
-
-SRC_URI = "\
- git://git.enlightenment.org/tools/${BPN}.git \
-"
-S = "${WORKDIR}/${SRCNAME}"
-
-PNBLACKLIST[expedite] ?= "Depends on blacklisted eet - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[expedite] ?= "Depends on blacklisted evas - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted evas-loader-png - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted expedite - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted evas-engine-software-generic - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted evas-engine-fb - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted evas-engine-software-x11 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted evas-engine-gl-x11 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted expedite-dev - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted expedite-themes - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/imlib2_git.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/imlib2_git.bb
deleted file mode 100644
index 355b3341f..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/imlib2_git.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "A graphic library for file loading, saving, rendering, and manipulation"
-LICENSE = "MIT & BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35"
-
-DEPENDS = "freetype libpng jpeg virtual/libx11 libxext"
-PROVIDES = "virtual/imlib2"
-PV = "1.4.6+gitr${SRCPV}"
-SRCREV = "560a58e61778d84953944f744a025af6ce986334"
-
-inherit efl binconfig
-SRC_URI = "git://git.enlightenment.org/legacy/${BPN}.git"
-S = "${WORKDIR}/git"
-
-# autotools-brokensep
-B = "${S}"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[gif] = "--with-gif,--without-gif,giflib"
-PACKAGECONFIG[tiff] = "--with-tiff,--without-tiff,tiff"
-PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2"
-PACKAGECONFIG[id3] = "--with-id3,--without-id3,libid3tag"
-
-EXTRA_OECONF = "--with-x \
- --x-includes=${STAGING_INCDIR} \
- --x-libraries=${STAGING_LIBDIR} "
-
-# TODO: Use more fine granular version
-#OE_LT_RPATH_ALLOW=":${libdir}/imlib2/loaders:${libdir}/imlib2/filters:"
-OE_LT_RPATH_ALLOW = "any"
-OE_LT_RPATH_ALLOW[export]="1"
-
-PACKAGES =+ "imlib2-loaders-dbg imlib2-filters-dbg imlib2-loaders imlib2-filters"
-FILES_${PN} = "${libdir}/lib*.so.* ${libdir}/imlib2/*/*.so"
-FILES_${PN}-dbg = "${libdir}/.debug/ ${bindir}/.debug/ ${prefix}/src/debug/"
-FILES_${PN}-dev += "${bindir}/imlib2-config ${libdir}/*.so ${includedir}"
-FILES_${PN}-bin = "${bindir}"
-FILES_imlib2-loaders = "${libdir}/imlib2/loaders/*.so"
-FILES_imlib2-filters = "${libdir}/imlib2/filters/*.so"
-FILES_imlib2-loaders-dbg += "${libdir}/imlib2/loaders/.debug"
-FILES_imlib2-filters-dbg += "${libdir}/imlib2/filters/.debug"
-
-# png.so jpeg.so id3.so are also provided by lightmediascanner
-PRIVATE_LIBS_imlib2-loaders = "pnm.so lbm.so argb.so tiff.so zlib.so bmp.so tga.so gif.so xpm.so bz2.so"
-
-PRIVATE_LIBS_imlib2-filters = "bumpmap.so colormod.so testfilter.so"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/libeflvala/disable.eina.test.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/libeflvala/disable.eina.test.patch
deleted file mode 100644
index 84be133f6..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/libeflvala/disable.eina.test.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-It causes testeina.c build to fail linking to internal eina_.*_{init,shutdown} symbols
-as reported in:
-http://lists.alioth.debian.org/pipermail/pkg-fso-maint/2010-May/003056.html
-
-Upstream-Status: Pending
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
-diff -uNr vala/tests/testeina.vala ../../../arm920tt-oe-linux-gnueabi/libeflvala/1_2011.01.13.1+svnr82070-r2/vala/tests/testeina.vala
---- vala/tests/testeina.vala 2014-01-13 16:16:53.984999035 +0100
-+++ ../../../arm920tt-oe-linux-gnueabi/libeflvala/1_2011.01.13.1+svnr82070-r2/vala/tests/testeina.vala 2010-02-26 09:02:06.000000000 +0100
-@@ -153,22 +153,22 @@
-
- void test_eina_benchmark()
- {
-- assert( Eina.Module.init() );
-- assert( Eina.List.init() );
-- assert( Eina.Array.init() );
-- assert( Eina.Benchmark.init() );
-- assert( Eina.Mempool.init() );
-+// assert( Eina.Module.init() );
-+// assert( Eina.List.init() );
-+// assert( Eina.Array.init() );
-+// assert( Eina.Benchmark.init() );
-+// assert( Eina.Mempool.init() );
- var b = new Eina.Benchmark( "test", "test");
- assert( b.register( "bogus", spec_one, 0, 100, 5 ) );
- unowned Eina.Array<string> result = b.run();
- assert( result.count_get() == 2 );
- result = null;
- b = null;
-- assert( Eina.Mempool.shutdown() );
-- assert( Eina.Benchmark.shutdown() );
-- assert( Eina.Array.shutdown() );
-- assert( Eina.List.shutdown() );
-- assert( Eina.Module.shutdown() );
-+// assert( Eina.Mempool.shutdown() );
-+// assert( Eina.Benchmark.shutdown() );
-+// assert( Eina.Array.shutdown() );
-+// assert( Eina.List.shutdown() );
-+// assert( Eina.Module.shutdown() );
- }
-
- //===========================================================================
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/libeflvala_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/libeflvala_svn.bb
deleted file mode 100644
index eaf4893f7..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/libeflvala_svn.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Vala meets the Enlightenment Foundation Libraries"
-AUTHOR = "Michael 'Mickey' Lauer <mlauer@vanille-media.de>"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-SECTION = "devel"
-DEPENDS = "vala-native glib-2.0 dbus dbus-glib eina eet evas ecore edje elementary tiff"
-PV = "2011.01.13.1+svnr${SRCPV}"
-PE = "1"
-PR = "r2"
-SRCREV = "${EFL_SRCREV}"
-SRCNAME = "vala"
-
-inherit e-base autotools-brokensep pkgconfig vala
-
-SRC_URI = "${E_SVN}/trunk/BINDINGS;module=${SRCNAME};protocol=http \
- file://disable.eina.test.patch \
-"
-S = "${WORKDIR}/${SRCNAME}"
-
-PACKAGES =+ "${PN}-examples"
-FILES_${PN}-examples = "${datadir}/libeflvala ${bindir}/*"
-
-PNBLACKLIST[libeflvala] ?= "Depends on blacklisted elementary - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/libeweather_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/libeweather_svn.bb
deleted file mode 100644
index 53988b0d1..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/libeweather_svn.bb
+++ /dev/null
@@ -1,48 +0,0 @@
-SUMMARY = "EFL-based weather widget library"
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24 \
- file://COPYING-PLAIN;md5=c910b645eda0005ccec46f75203dc96e"
-
-DEPENDS = "ecore edje"
-PV = "0.0.0+svnr${SRCPV}"
-SRCREV = "${EFL_SRCREV}"
-
-inherit efl
-SRC_URI = "${E_SVN}/trunk/PROTO;module=${SRCNAME};protocol=http;scmdata=keep"
-S = "${WORKDIR}/${SRCNAME}"
-
-EXTRA_OECONF = "--with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc"
-
-RSUGGESTS_${PN} = "elementary-tests"
-
-do_compile_append() {
- sed -i -e s:${STAGING_DIR_TARGET}::g \
- -e s:/${TARGET_SYS}::g \
- eweather.pc
-}
-
-PACKAGES += "${PN}-plugins"
-
-FILES_${PN}-themes = "\
- ${datadir} \
-"
-
-FILES_${PN}-plugins = "\
- ${libdir}/eweather/plugins/*.so \
-"
-
-FILES_${PN}-dbg += "\
- ${libdir}/eweather/plugins/.debug \
-"
-
-FILES_${PN}-dev += "\
- ${libdir}/eweather/plugins/*.a \
- ${libdir}/eweather/plugins/*.la \
-"
-
-RRECOMMENDS_${PN} = "\
- ${PN}-themes \
- ${PN}-plugins \
-"
-
-PNBLACKLIST[libeweather] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130649/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.bb
deleted file mode 100644
index ee4e2c414..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Efl Software Development Kit"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \
- file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-
-ALLOW_EMPTY_${PN} = "1"
-
-PR = "r1"
-
-require packagegroup-efl-sdk.inc
-
-PACKAGES = "${PN}"
-
-RDEPENDS_${PN} = "\
- packagegroup-core-sdk \
- ${SDK-EFL} \
- ${SDK-EXTRAS}"
-
-PNBLACKLIST[packagegroup-efl-sdk] ?= "Runtime depends on blacklisted elementary-dev - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.inc b/import-layers/meta-openembedded/meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.inc
deleted file mode 100644
index f2b0456d4..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-SDK-EFL = " \
- efl-dev \
- elementary-dev \
- edbus-dev \
- luajit-dev \
-"
-
-SDK-EXTRAS ?= ""
-SDK-EXTRAS_qemux86 ?= " valgrind lttng-ust-dev"
-SDK-EXTRAS_qemux86-64 ?= " lttng-ust-dev"
-SDK-EXTRAS_qemuppc ?= " lttng-ust-dev"
-SDK-EXTRAS_qemuarm ?= " lttng-ust-dev"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/packagegroups/packagegroup-efl-standalone-sdk-target.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/packagegroups/packagegroup-efl-standalone-sdk-target.bb
deleted file mode 100644
index 2d9dde649..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/packagegroups/packagegroup-efl-standalone-sdk-target.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Efl Software Development Kit"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \
- file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-
-ALLOW_EMPTY_${PN} = "1"
-
-PR = "r1"
-
-require packagegroup-efl-sdk.inc
-
-PACKAGES = "${PN} ${PN}-dbg"
-
-RDEPENDS_${PN} = "\
- packagegroup-core-standalone-sdk-target \
- ${SDK-EFL} \
- ${SDK-EXTRAS}"
-
-PNBLACKLIST[packagegroup-efl-standalone-sdk-target] ?= "Runtime depends on blacklisted elementary-dev - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/packagegroups/packagegroup-x11-illume.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/packagegroups/packagegroup-x11-illume.bb
deleted file mode 100644
index 95ebcabf3..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/packagegroups/packagegroup-x11-illume.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-DESCRIPTION = "The Illume Windowing Environment -- install this task to get the Enlightenment Window Manager + the Illume environment."
-SECTION = "x11/wm"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${TOPDIR}/meta-openembedded/meta-efl/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-PV = "1.0"
-PR = "r5"
-
-inherit packagegroup allarch
-
-# Default theme and config
-ETHEME ?= "e-wm-theme-default"
-ECONFIG ?= "e-wm-config-mobile"
-
-RRECOMMENDS_${PN} = "\
- ${ETHEME} \
-"
-
-RDEPENDS_${PN} = "\
- packagegroup-core-x11-xserver \
- packagegroup-core-x11-utils \
- \
- e-wm \
- ${ECONFIG} \
-"
-
-PNBLACKLIST[packagegroup-x11-illume] ?= "Runtime depends on blacklisted e-wm - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[packagegroup-x11-illume] ?= "Runtime depends on blacklisted e-wm-config-mobile - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[packagegroup-x11-illume] ?= "Runtime depends on blacklisted e-wm-theme-default - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl.inc b/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl.inc
deleted file mode 100644
index f49f2ee02..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl.inc
+++ /dev/null
@@ -1,69 +0,0 @@
-DESCRIPTION = "Webkit browser engine, EFL edition"
-LICENSE = "GPLv2+ & LGPL-2.1"
-LIC_FILES_CHKSUM = " \
- file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \
- file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \
- file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \
- file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \
-"
-
-# you need harfbuzz with icu enabled, you can add this to your config:
-# PACKAGECONFIG_append_pn-harfbuzz = " icu"
-DEPENDS = "icu libxslt sqlite3 gperf-native bison-native flex-native jpeg \
- libpng libxt fontconfig cairo freetype glib-2.0 libsoup-2.4 \
- libxml2 pango eina ecore evas edje eldbus harfbuzz enchant \
- ruby-native elementary"
-
-PE = "1"
-
-SRCVER ?= "${PV}"
-SRC_URI = "\
- ${E_RELEASES}/libs/webkit-efl/ewebkit-${SRCVER}.tar.xz \
-"
-S = "${WORKDIR}/ewebkit"
-
-inherit cmake lib_package pkgconfig perlnative pythonnative
-
-ARM_INSTRUCTION_SET = "arm"
-
-EXTRA_OECMAKE = " \
- -DPORT=Efl \
- -DSHARED_CORE=On \
- -DENABLE_DRAG_SUPPORT=On \
- -DENABLE_WEB_AUDIO=Off \
- -DENABLE_VIDEO=Off \
- -DENABLE_VIDEO_TRACK=Off \
- -DENABLE_ACCESSIBILITY=Off \
- -DENABLE_BATTERY_STATUS=Off \
-"
-# generated ASM code isn't compatible with armv[45]
-# it was removed from macro assembler in upstream commit 121885
-# https://bugs.webkit.org/show_bug.cgi?id=90198
-EXTRA_OECMAKE_append_armv4 = " -DENABLE_LLINT=Off -DENABLE_JIT=Off -DENABLE_DFG_JIT=Off -DENABLE_FTL_JIT=Off"
-EXTRA_OECMAKE_append_armv5 = " -DENABLE_LLINT=Off -DENABLE_JIT=Off -DENABLE_DFG_JIT=Off -DENABLE_FTL_JIT=Off"
-
-# hack it in OptionsEfl.cmake because that overrules -DENABLE_LLINT=Off
-do_configure_prepend_armv4() {
- sed -i 's/WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LLINT ON)/WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LLINT OFF)/g' ${S}/Source/cmake/OptionsEfl.cmake
-}
-do_configure_prepend_armv5() {
- sed -i 's/WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LLINT ON)/WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LLINT OFF)/g' ${S}/Source/cmake/OptionsEfl.cmake
-}
-
-# and disabled LLINT currently isn't supported, so restrict to armv7a and x86*
-COMPATIBLE_MACHINE = "(-)"
-COMPATIBLE_MACHINE_x86 = "(.*)"
-COMPATIBLE_MACHINE_x86-64 = "(.*)"
-COMPATIBLE_MACHINE_armv7a = "(.*)"
-
-LEAD_SONAME = "libewebkit.so"
-PACKAGES =+ "${PN}launcher-dbg ${PN}launcher ${PN}-inspector"
-
-FILES_${PN} += "${datadir}/ewebkit2-1/themes/default.edj"
-FILES_${PN}-dev += "${libdir}/cmake"
-FILES_${PN}launcher = "${bindir}/EWebLauncher"
-FILES_${PN}launcher-dbg = "${bindir}/.debug/EWebLauncher"
-FILES_${PN}-inspector += "${datadir}/ewebkit2-1/inspector"
-
-# http://errors.yoctoproject.org/Errors/Details/40659/
-PNBLACKLIST[webkit-efl] ?= "Old and unmaintaned fork with many security issues - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0001-OptionsCommon.cmake-don-t-mix-CXX_FLAGS-into-C_FLAGS.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0001-OptionsCommon.cmake-don-t-mix-CXX_FLAGS-into-C_FLAGS.patch
deleted file mode 100644
index 19b7bb88d..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0001-OptionsCommon.cmake-don-t-mix-CXX_FLAGS-into-C_FLAGS.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From e6caaf6e80b9c80dc2b860b471a8f05e825f6dfa Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Thu, 14 Aug 2014 01:00:21 +0200
-Subject: [PATCH 1/3] OptionsCommon.cmake: don't mix CXX_FLAGS into C_FLAGS
-
-* it was added in https://bugs.webkit.org/show_bug.cgi?id=130261
-* causes build failures in udis86 which explicitly asks for gcc but then
- gets g++ flags from CMAKE_CXX_FLAGS.
-
-cc1: error: command line option '-fvisibility-inlines-hidden' is valid
-for C++/ObjC++ but not for C [-Werror]
-cc1: error: command line option '-fpermissive' is valid for C++/ObjC++
-but not for C [-Werror]
-cc1: all warnings being treated as errors
-Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/build.make:11182:
-recipe for target
-'Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/disassembler/udis86/udis86.c.o'
-failed
-make[2]: ***
-[Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/disassembler/udis86/udis86.c.o]
-Error 1
-make[2]: *** Waiting for unfinished jobs....
-make[2]: Leaving directory
-'/OE/build/oe-core/tmp-eglibc/work/core2-64-oe-linux/webkit-efl/1_1.10.0+1.11.0-beta1-r0/build'
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- Source/cmake/OptionsCommon.cmake | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Source/cmake/OptionsCommon.cmake b/Source/cmake/OptionsCommon.cmake
-index e304a99..045c614 100644
---- a/Source/cmake/OptionsCommon.cmake
-+++ b/Source/cmake/OptionsCommon.cmake
-@@ -25,7 +25,7 @@ endif ()
- set_property(GLOBAL PROPERTY USE_FOLDERS ON)
-
- if (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
-- set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions -fno-strict-aliasing")
-+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-exceptions -fno-strict-aliasing")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-exceptions -fno-strict-aliasing -fno-rtti")
- endif ()
-
---
-2.1.3
-
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0002-WebKitHelpers.cmake-Add-Wno-error-deprecated-declara.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0002-WebKitHelpers.cmake-Add-Wno-error-deprecated-declara.patch
deleted file mode 100644
index 627a9e82b..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0002-WebKitHelpers.cmake-Add-Wno-error-deprecated-declara.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From de93951f89e851b6689718022eebb4b8b1d14c06 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Mon, 13 Jan 2014 17:21:25 +0100
-Subject: [PATCH 2/3] WebKitHelpers.cmake: Add
- -Wno-error=deprecated-declarations -Wno-error=cast-align
- -Wno-error=type-limits
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- Source/cmake/WebKitHelpers.cmake | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-diff --git a/Source/cmake/WebKitHelpers.cmake b/Source/cmake/WebKitHelpers.cmake
-index 227b9ee..ae52ef6 100644
---- a/Source/cmake/WebKitHelpers.cmake
-+++ b/Source/cmake/WebKitHelpers.cmake
-@@ -40,6 +40,25 @@ macro(WEBKIT_SET_EXTRA_COMPILER_FLAGS _target)
- # FIXME: When we use -fno-tree-dce to support the jsCStack branch merge, build error occurs due to the uninitialization. Temporarily we set
- # uninitialized as build warning in order to support the jsCStack merge. https://bugs.webkit.org/show_bug.cgi?id=127777.
- set(OLD_COMPILE_FLAGS "-Werror -Wno-error=unused-parameter -Wno-error=uninitialized -Wno-error=literal-suffix ${OLD_COMPILE_FLAGS}")
-+ # libsoup-2.4/libsoup/soup-proxy-uri-resolver.h:13:84: error: 'GType soup_proxy_uri_resolver_get_type()' is deprecated (declared at /OE/build/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/include/libsoup-2.4/libsoup/soup-proxy-uri-resolver.h:48) [-Werror=deprecated-declarations]
-+ set(OLD_COMPILE_FLAGS "-Wno-error=deprecated-declarations ${OLD_COMPILE_FLAGS}")
-+ # webkit-efl/1_1.10.0+1.11.0-beta1-r0/ewebkit/Source/WTF/wtf/text/StringImpl.h:742:87: error: cast from 'uint8_t* {aka unsigned char*}' to 'WTF::StringImpl**' increases required alignment of target type [-Werror=cast-align]
-+ set(OLD_COMPILE_FLAGS "-Wno-error=cast-align ${OLD_COMPILE_FLAGS}")
-+ # webkit-efl/1_1.10.0+1.11.0-beta1-r0/ewebkit/Source/WebKit2/Shared/linux/WebMemorySamplerLinux.cpp:70:16: error: comparison is always false due to limited range of data type [-Werror=type-limits]
-+ set(OLD_COMPILE_FLAGS "-Wno-error=type-limits ${OLD_COMPILE_FLAGS}")
-+ # webkit-efl/1_1.11.0-r0/ewebkit/Source/WebKit2/UIProcess/API/efl/EwkView.cpp:832:5: error: missing initializer for member '_Evas_GL_Config::gles_version' [-Werror=missing-field-initializers]
-+ # this one is new with efl-1.12
-+ set(OLD_COMPILE_FLAGS "-Wno-error=missing-field-initializers ${OLD_COMPILE_FLAGS}")
-+ # webkit-efl/1_1.11.0-r0/ewebkit/Source/WTF/wtf/dtoa/bignum.cc:105:10: error: assuming signed overflow does not occur when assuming that (X + c) < X is always false [-Werror=strict-overflow]
-+ # this one is new with gcc-5.2
-+ set(OLD_COMPILE_FLAGS "-Wno-error=strict-overflow ${OLD_COMPILE_FLAGS}")
-+ # webkit-efl/1_1.11.0-r0/ewebkit/Source/WTF/wtf/SaturatedArithmetic.h:46:26: error: suggest parentheses around operand of '!' or change '&' to '&&' or '!' to '~' [-Werror=parentheses]
-+ # this one is new with gcc-5.2
-+ set(OLD_COMPILE_FLAGS "-Wno-error=parentheses ${OLD_COMPILE_FLAGS}")
-+ # webkit-efl/1_1.11.0-r0/ewebkit/Source/WebCore/loader/cache/CachedScript.cpp:103:108: error: logical not is only applied to the left hand side of comparison [-Werror=logical-not-parentheses]
-+ # this one is new with gcc-5.2
-+ set(OLD_COMPILE_FLAGS "-Wno-error=logical-not-parentheses ${OLD_COMPILE_FLAGS}")
-+
- endif ()
-
- set_target_properties(${_target} PROPERTIES
---
-2.1.3
-
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0003-FEBlendNEON.h-fix-missing-semicolon.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0003-FEBlendNEON.h-fix-missing-semicolon.patch
deleted file mode 100644
index e718ee1c1..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0003-FEBlendNEON.h-fix-missing-semicolon.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From a076d76b8e8862bd641cd991190e82cfd478cc66 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Wed, 20 Aug 2014 00:52:03 +0200
-Subject: [PATCH 3/3] FEBlendNEON.h: fix missing semicolon
-
-* Otherwise fails with:
-In file included from ewebkit/Source/WebCore/platform/graphics/filters/FEBlend.cpp:29:0:
-ewebkit/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h: In member function 'virtual void WebCore::FEBlend::platformApplySoftware()':
-ewebkit/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h:130:5: error: expected primary-expression before '}' token
- }
- ^
-ewebkit/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h:130:5: error: return-statement with a value, in function returning 'void' [-fpermissive]
-ewebkit/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h:130:5: error: expected ';' before '}' token
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h b/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h
-index 1c50765..f4b6f46 100644
---- a/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h
-+++ b/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h
-@@ -126,7 +126,7 @@ void FEBlend::platformApplySoftware()
-
- if (pixelArrayLength >= 8) {
- platformApplyNEON(srcPixelArrayA->data(), srcPixelArrayB->data(), dstPixelArray->data(), pixelArrayLength);
-- return
-+ return;
- }
- // If there is just one pixel we expand it to two.
- ASSERT(pixelArrayLength > 0);
---
-2.1.3
-
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0004-Fix-the-build-with-EFL-1.12-https-bugs.webkit.org-sh.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0004-Fix-the-build-with-EFL-1.12-https-bugs.webkit.org-sh.patch
deleted file mode 100644
index bfa3052b1..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0004-Fix-the-build-with-EFL-1.12-https-bugs.webkit.org-sh.patch
+++ /dev/null
@@ -1,146 +0,0 @@
-From baebc004111289ef658c78a42f8332f3dceef41e Mon Sep 17 00:00:00 2001
-From: "ryuan.choi@navercorp.com" <ryuan.choi@navercorp.com>
-Date: Thu, 13 Nov 2014 07:07:16 +0000
-Subject: [PATCH 4/4] Fix the build with EFL 1.12
- https://bugs.webkit.org/show_bug.cgi?id=138245
-
-Reviewed by Gyuyoung Kim.
-
-Source/WebKit2:
-
-* UIProcess/API/efl/EwkView.cpp:
-First, modified to use Evas_GL raw pointer instead of UniquePtrEfl because
-Evas_GL.h can't be included in UniquePtrEfl.h
-It should be moved into EvasGLContext because WebKit/EFL use only one Evas_GL.
-Second, provided the version of GLES in Evas_GL_Config not to break build with
-EFL 1.12
-(EwkView::EwkView):
-(EwkView::~EwkView):
-(EwkView::displayTimerFired):
-(EwkView::createGLSurface):
-* UIProcess/API/efl/EwkView.h:
-
-Source/WTF:
-
-* wtf/efl/UniquePtrEfl.h:
-Removed Evas_GL.h from UniquePtrEfl.h, which is commonly included, because
-it should not be included with official GL headers.
-
-git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176066 268f45cc-cd09-0410-ab3c-d52691b4dbfc
----
- Source/WTF/wtf/efl/UniquePtrEfl.h | 2 --
- Source/WebKit2/UIProcess/API/efl/EwkView.cpp | 24 ++++++++++++++++--------
- Source/WebKit2/UIProcess/API/efl/EwkView.h | 3 ++-
- 3 files changed, 18 insertions(+), 11 deletions(-)
-
-diff --git a/Source/WTF/wtf/efl/UniquePtrEfl.h b/Source/WTF/wtf/efl/UniquePtrEfl.h
-index ba0110a..038d3fb 100644
---- a/Source/WTF/wtf/efl/UniquePtrEfl.h
-+++ b/Source/WTF/wtf/efl/UniquePtrEfl.h
-@@ -33,7 +33,6 @@
- #include <Ecore_IMF.h>
- #include <Eina.h>
- #include <Evas.h>
--#include <Evas_GL.h>
-
- namespace WTF {
-
-@@ -51,7 +50,6 @@ using EflUniquePtr = std::unique_ptr<T, EflPtrDeleter<T>>;
- macro(Eina_Hash, eina_hash_free) \
- macro(Eina_Module, eina_module_free) \
- macro(Evas_Object, evas_object_del) \
-- macro(Evas_GL, evas_gl_free)
-
- #define WTF_DEFINE_EFLPTR_DELETER(typeName, deleterFunc) \
- template<> struct EflPtrDeleter<typeName> \
-diff --git a/Source/WebKit2/UIProcess/API/efl/EwkView.cpp b/Source/WebKit2/UIProcess/API/efl/EwkView.cpp
-index 50d34ed..6ff3394 100755
---- a/Source/WebKit2/UIProcess/API/efl/EwkView.cpp
-+++ b/Source/WebKit2/UIProcess/API/efl/EwkView.cpp
-@@ -299,9 +299,11 @@ EwkView::EwkView(WKViewRef view, Evas_Object* evasObject)
-
- // FIXME: Remove when possible.
- static_cast<WebViewEfl*>(webView())->setEwkView(this);
-- m_evasGL = EflUniquePtr<Evas_GL>(evas_gl_new(evas_object_evas_get(m_evasObject)));
-+
-+ // FIXME: Consider it to move into EvasGLContext.
-+ m_evasGL = evas_gl_new(evas_object_evas_get(m_evasObject));
- if (m_evasGL)
-- m_evasGLContext = EvasGLContext::create(m_evasGL.get());
-+ m_evasGLContext = EvasGLContext::create(m_evasGL);
-
- if (!m_evasGLContext) {
- WARN("Failed to create Evas_GL, falling back to software mode.");
-@@ -333,6 +335,9 @@ EwkView::~EwkView()
- {
- ASSERT(wkPageToEvasObjectMap().get(wkPage()) == m_evasObject);
- wkPageToEvasObjectMap().remove(wkPage());
-+
-+ if (m_evasGL)
-+ evas_gl_free(m_evasGL);
- }
-
- EwkView* EwkView::create(WKViewRef webView, Evas* canvas, Evas_Smart* smart)
-@@ -587,7 +592,7 @@ void EwkView::displayTimerFired(Timer<EwkView>*)
- return;
- }
-
-- evas_gl_make_current(m_evasGL.get(), m_evasGLSurface->surface(), m_evasGLContext->context());
-+ evas_gl_make_current(m_evasGL, m_evasGLSurface->surface(), m_evasGLContext->context());
-
- WKViewPaintToCurrentGLContext(wkView());
-
-@@ -828,21 +833,24 @@ bool EwkView::createGLSurface()
- EVAS_GL_DEPTH_BIT_8,
- EVAS_GL_STENCIL_NONE,
- EVAS_GL_OPTIONS_NONE,
-- EVAS_GL_MULTISAMPLE_NONE
-+ EVAS_GL_MULTISAMPLE_NONE,
-+#if defined(EVAS_GL_API_VERSION) && EVAS_GL_API_VERSION >= 2
-+ EVAS_GL_GLES_2_X
-+#endif
- };
-
- // Recreate to current size: Replaces if non-null, and frees existing surface after (OwnPtr).
-- m_evasGLSurface = EvasGLSurface::create(m_evasGL.get(), &evasGLConfig, deviceSize());
-+ m_evasGLSurface = EvasGLSurface::create(m_evasGL, &evasGLConfig, deviceSize());
- if (!m_evasGLSurface)
- return false;
-
- Evas_Native_Surface nativeSurface;
-- evas_gl_native_surface_get(m_evasGL.get(), m_evasGLSurface->surface(), &nativeSurface);
-+ evas_gl_native_surface_get(m_evasGL, m_evasGLSurface->surface(), &nativeSurface);
- evas_object_image_native_surface_set(smartData()->image, &nativeSurface);
-
-- evas_gl_make_current(m_evasGL.get(), m_evasGLSurface->surface(), m_evasGLContext->context());
-+ evas_gl_make_current(m_evasGL, m_evasGLSurface->surface(), m_evasGLContext->context());
-
-- Evas_GL_API* gl = evas_gl_api_get(m_evasGL.get());
-+ Evas_GL_API* gl = evas_gl_api_get(m_evasGL);
-
- WKPoint boundsEnd = WKViewUserViewportToScene(wkView(), WKPointMake(deviceSize().width(), deviceSize().height()));
- gl->glViewport(0, 0, boundsEnd.x, boundsEnd.y);
-diff --git a/Source/WebKit2/UIProcess/API/efl/EwkView.h b/Source/WebKit2/UIProcess/API/efl/EwkView.h
-index 1c482cf..68dab87 100644
---- a/Source/WebKit2/UIProcess/API/efl/EwkView.h
-+++ b/Source/WebKit2/UIProcess/API/efl/EwkView.h
-@@ -39,6 +39,7 @@
- #endif
-
- typedef struct _cairo_surface cairo_surface_t;
-+typedef struct _Evas_GL Evas_GL;
-
- namespace WebKit {
- class ContextMenuClientEfl;
-@@ -241,7 +242,7 @@ private:
- Evas_Object* m_evasObject;
- RefPtr<EwkContext> m_context;
- RefPtr<EwkPageGroup> m_pageGroup;
-- EflUniquePtr<Evas_GL> m_evasGL;
-+ Evas_GL* m_evasGL;
- std::unique_ptr<WebCore::EvasGLContext> m_evasGLContext;
- std::unique_ptr<WebCore::EvasGLSurface> m_evasGLSurface;
- bool m_pendingSurfaceResize;
---
-2.1.3
-
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0005-Fix-the-build-with-cmake-3.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0005-Fix-the-build-with-cmake-3.patch
deleted file mode 100644
index 7e8e295c7..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0005-Fix-the-build-with-cmake-3.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-From a00a7097b85567ae6eb7a00b3ce7ef021841203c Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Thu, 24 Sep 2015 18:03:52 +0200
-Subject: [PATCH 5/5] Fix the build with cmake 3
-
-* the same issue as in GTK port:
- https://bugs.webkit.org/show_bug.cgi?id=141796
- http://trac.webkit.org/changeset/180502
-
-* otherwise linking fails with couple undefined symbols
-| CMakeFiles/WebKit2.dir/PluginProcess/unix/PluginProcessMainUnix.cpp.o: In function `WebKit::webkitXError(_XDisplay*, XErrorEvent*)':
-| ewebkit/Source/WebKit2/PluginProcess/unix/PluginProcessMainUnix.cpp:63: undefined reference to `XGetErrorText'
-| CMakeFiles/WebKit2.dir/PluginProcess/unix/PluginProcessMainUnix.cpp.o: In function `WebKit::PluginProcessMain::parseCommandLine(int, char**)':
-| ewebkit/Source/WebKit2/PluginProcess/unix/PluginProcessMainUnix.cpp:102: undefined reference to `XSetErrorHandler'
-| ewebkit/Source/WebKit2/PluginProcess/unix/PluginProcessMainUnix.cpp:102: undefined reference to `XSetErrorHandler'
-| CMakeFiles/WebKit2.dir/WebProcess/efl/WebProcessMainEfl.cpp.o: In function `WebKit::WebProcessMain::platformInitialize()':
-| ewebkit/Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp:67: undefined reference to `XSetExtensionErrorHandler'
-| ewebkit/Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp:67: undefined reference to `XSetExtensionErrorHandler'
-| CMakeFiles/WebKit2.dir/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp.o: In function `WebKit::NetscapePlugin::platformPostInitializeWindowed(bool, unsigned long)':
-| ewebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:170: undefined reference to `XFlush'
-| CMakeFiles/WebKit2.dir/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp.o: In function `WebKit::NetscapePlugin::platformPostInitializeWindowless()':
-| ewebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:195: undefined reference to `XGetVisualInfo'
-| ewebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:199: undefined reference to `XFree'
-| ewebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:202: undefined reference to `XCreateColormap'
-| CMakeFiles/WebKit2.dir/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp.o: In function `WebKit::NetscapePlugin::platformDestroy()':
-| ewebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:251: undefined reference to `XFreeColormap'
-| ewebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:255: undefined reference to `XFreePixmap'
-| CMakeFiles/WebKit2.dir/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp.o: In function `WebKit::NetscapePlugin::platformGeometryDidChange()':
-| ewebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:293: undefined reference to `XCreatePixmap'
-| ewebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:286: undefined reference to `XFreePixmap'
-| ewebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:295: undefined reference to `XSync'
-| CMakeFiles/WebKit2.dir/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp.o: In function `WebKit::NetscapePlugin::platformPaint(WebCore::GraphicsContext*, WebCore::IntRect const&, bool)':
-| ewebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:343: undefined reference to `XSync'
-| collect2: error: ld returned 1 exit status
-| Source/WebKit2/CMakeFiles/WebKit2.dir/build.make:16145: recipe for target 'lib/libewebkit2.so.1.11.0' failed
-| make[2]: *** [lib/libewebkit2.so.1.11.0] Error 1
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- Source/WebCore/PlatformEfl.cmake | 1 +
- Source/WebKit2/PlatformEfl.cmake | 3 +++
- Source/cmake/OptionsEfl.cmake | 1 +
- Tools/WebKitTestRunner/PlatformEfl.cmake | 1 +
- 4 files changed, 6 insertions(+)
-
-diff --git a/Source/WebCore/PlatformEfl.cmake b/Source/WebCore/PlatformEfl.cmake
-index 41ffc15..63b7861 100644
---- a/Source/WebCore/PlatformEfl.cmake
-+++ b/Source/WebCore/PlatformEfl.cmake
-@@ -404,6 +404,7 @@ if (WTF_USE_3D_GRAPHICS)
- )
- endif ()
-
-+ find_package(X11 REQUIRED)
- list(APPEND WebCore_LIBRARIES
- ${X11_X11_LIB}
- )
-diff --git a/Source/WebKit2/PlatformEfl.cmake b/Source/WebKit2/PlatformEfl.cmake
-index 8c66d1b..d96f0bd 100644
---- a/Source/WebKit2/PlatformEfl.cmake
-+++ b/Source/WebKit2/PlatformEfl.cmake
-@@ -331,12 +331,15 @@ if (ENABLE_SECCOMP_FILTERS)
- endif ()
-
- if (ENABLE_ECORE_X)
-+ find_package(X11 REQUIRED)
- list(APPEND WebProcess_LIBRARIES
- ${ECORE_X_LIBRARIES}
- ${X11_Xext_LIB}
- )
- list(APPEND WebKit2_LIBRARIES
- ${ECORE_X_LIBRARIES}
-+ ${X11_X11_LIB}
-+ ${X11_Xext_LIB}
- )
- endif ()
-
-diff --git a/Source/cmake/OptionsEfl.cmake b/Source/cmake/OptionsEfl.cmake
-index 8585f19..1aa9002 100644
---- a/Source/cmake/OptionsEfl.cmake
-+++ b/Source/cmake/OptionsEfl.cmake
-@@ -181,6 +181,7 @@ endif ()
-
- if (WTF_OS_UNIX)
- set(ENABLE_X11_TARGET ON)
-+ find_package(X11 REQUIRED)
- add_definitions(-DXP_UNIX)
- endif (WTF_OS_UNIX)
-
-diff --git a/Tools/WebKitTestRunner/PlatformEfl.cmake b/Tools/WebKitTestRunner/PlatformEfl.cmake
-index 1873279..a905f2a 100644
---- a/Tools/WebKitTestRunner/PlatformEfl.cmake
-+++ b/Tools/WebKitTestRunner/PlatformEfl.cmake
-@@ -53,6 +53,7 @@ list(APPEND WebKitTestRunnerInjectedBundle_LIBRARIES
- )
-
- if (ENABLE_ECORE_X)
-+ find_package(X11 REQUIRED)
- list(APPEND WebKitTestRunner_INCLUDE_DIRECTORIES
- ${ECORE_X_INCLUDE_DIRS}
- )
---
-2.6.0
-
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0006-OptionsEfl.cmake-Fix-build-with-newer-CMake-3.4.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0006-OptionsEfl.cmake-Fix-build-with-newer-CMake-3.4.patch
deleted file mode 100644
index 05626349b..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0006-OptionsEfl.cmake-Fix-build-with-newer-CMake-3.4.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 993882f81fe991b8baf1099392703337cc13fac0 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Wed, 27 Jan 2016 18:40:23 +0100
-Subject: [PATCH] OptionsEfl.cmake: Fix build with newer CMake 3.4
-
-* otherwise it fails with:
- | CMake Error at Source/cmake/OptionsEfl.cmake:251 (CHECK_INCLUDE_FILES):
- | Unknown CMake command "CHECK_INCLUDE_FILES".
-* https://bugs.webkit.org/show_bug.cgi?id=150117
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- Source/cmake/OptionsEfl.cmake | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/Source/cmake/OptionsEfl.cmake b/Source/cmake/OptionsEfl.cmake
-index 1aa9002..05216d0 100644
---- a/Source/cmake/OptionsEfl.cmake
-+++ b/Source/cmake/OptionsEfl.cmake
-@@ -253,6 +253,7 @@ if (ENABLE_WEBGL OR WTF_USE_TILED_BACKING_STORE)
- set(WTF_USE_EGL 1)
- add_definitions(-DWTF_USE_EGL=1)
- else ()
-+ include(CheckIncludeFiles)
- CHECK_INCLUDE_FILES("GL/glx.h" OPENGLX_FOUND)
- add_definitions(-DWTF_USE_GLX=1)
- endif ()
---
-2.7.0
-
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl_1.11.0.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl_1.11.0.bb
deleted file mode 100644
index 96ad83029..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl_1.11.0.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI += "\
- file://0001-OptionsCommon.cmake-don-t-mix-CXX_FLAGS-into-C_FLAGS.patch \
- file://0002-WebKitHelpers.cmake-Add-Wno-error-deprecated-declara.patch \
- file://0003-FEBlendNEON.h-fix-missing-semicolon.patch \
- file://0004-Fix-the-build-with-EFL-1.12-https-bugs.webkit.org-sh.patch \
- file://0005-Fix-the-build-with-cmake-3.patch \
- file://0006-OptionsEfl.cmake-Fix-build-with-newer-CMake-3.4.patch \
-"
-SRC_URI[md5sum] = "90fa970ebf8646319d292c2bb5bff5db"
-SRC_URI[sha256sum] = "d8d21e27f4a21cd77c41914548c184ddb98693ba23851aa66c8e51c0be4b90b7"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-multimedia/lightmediascanner/files/0001-Define-comparison_fn_t-for-non-glibc-systems.patch b/import-layers/meta-openembedded/meta-efl/recipes-multimedia/lightmediascanner/files/0001-Define-comparison_fn_t-for-non-glibc-systems.patch
deleted file mode 100644
index 15d4b3f0e..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-multimedia/lightmediascanner/files/0001-Define-comparison_fn_t-for-non-glibc-systems.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 5bc5b8c5dad3edec6736fd7e7ce61250c4ce3725 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 12 Jul 2017 17:13:19 -0700
-Subject: [PATCH] Define comparison_fn_t for non-glibc systems
-
-lightmediascanner.c:324:12: error: 'comparison_fn_t' undeclared (first use in this function)
- (comparison_fn_t)_plugin_sort);
- ^~~~~~~~~~~~~~~
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/lib/lightmediascanner.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/src/lib/lightmediascanner.c b/src/lib/lightmediascanner.c
-index 344b247..b866883 100644
---- a/src/lib/lightmediascanner.c
-+++ b/src/lib/lightmediascanner.c
-@@ -37,6 +37,11 @@
- #define DEFAULT_SLAVE_TIMEOUT 1000
- #define DEFAULT_COMMIT_INTERVAL 100
-
-+#if !defined(__GLIBC__)
-+typedef int (*__compar_fn_t) (const void*, const void*);
-+typedef __compar_fn_t comparison_fn_t;
-+#endif
-+
- #ifdef HAVE_MAGIC_H
- static magic_t _magic_handle;
-
---
-2.13.2
-
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-multimedia/lightmediascanner/files/id3-plugin-support-out-of-tree-build.patch b/import-layers/meta-openembedded/meta-efl/recipes-multimedia/lightmediascanner/files/id3-plugin-support-out-of-tree-build.patch
deleted file mode 100644
index 9528bec79..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-multimedia/lightmediascanner/files/id3-plugin-support-out-of-tree-build.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/plugins/Makefile.am 2015-10-25 16:12:29.331415823 +0000
-+++ b/src/plugins/Makefile.am 2015-10-25 16:14:37.593415808 +0000
-@@ -93,7 +93,7 @@
- id3_id3_la_SOURCES = id3/id3.c id3/id3v1_genres.c
- id3_id3_la_LIBADD = $(PLUGINS_LIBADD)
-
--id3/id3v1_genres.c: $(srcdir)/id3/id3v1_genres.def $(srcdir)/id3/id3v1_genres_gen.awk
-+$(srcdir)/id3/id3v1_genres.c: $(srcdir)/id3/id3v1_genres.def $(srcdir)/id3/id3v1_genres_gen.awk
- $(AWK) -f $(srcdir)/id3/id3v1_genres_gen.awk $(srcdir)/id3/id3v1_genres.def > $@
-
- EXTRA_DIST += id3/id3v1_genres.def id3/id3v1_genres_gen.awk
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-multimedia/lightmediascanner/lightmediascanner_0.5.1.bb b/import-layers/meta-openembedded/meta-efl/recipes-multimedia/lightmediascanner/lightmediascanner_0.5.1.bb
deleted file mode 100644
index f2158760f..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-multimedia/lightmediascanner/lightmediascanner_0.5.1.bb
+++ /dev/null
@@ -1,63 +0,0 @@
-SUMMARY = "Lightweight media scanner"
-DESCRIPTION = "Lightweight media scanner meant to be used in not-so-powerful devices, like embedded systems or old machines."
-SECTION = "libs/multimedia"
-
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
- file://src/lib/lightmediascanner.c;endline=21;md5=6d8889bccb4c6c27e8b786342a3eb267"
-
-DEPENDS = "file gawk glib-2.0 sqlite3"
-
-PV = "0.5.1+git${SRCPV}"
-SRCREV = "adfddb3486276a5ed2f5008c9e43a811e1271cc9"
-SRC_URI = "git://github.com/profusion/lightmediascanner.git \
- file://id3-plugin-support-out-of-tree-build.patch \
- file://0001-Define-comparison_fn_t-for-non-glibc-systems.patch \
- "
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--enable-static --disable-mp4"
-
-PACKAGECONFIG ??= "ogg flac wave id3 m3u pls asf rm jpeg png"
-PACKAGECONFIG[generic] = "--enable-generic,--disable-generic,libav"
-PACKAGECONFIG[ogg] = "--enable-ogg,--disable-ogg,libogg libvorbis libtheora"
-PACKAGECONFIG[flac] = "--enable-flac,--disable-flac,flac"
-PACKAGECONFIG[wave] = "--enable-wave,--disable-wave"
-PACKAGECONFIG[id3] = "--enable-id3,--disable-id3"
-PACKAGECONFIG[m3u] = "--enable-m3u,--disable-m3u"
-PACKAGECONFIG[pls] = "--enable-pls,--disable-pls"
-PACKAGECONFIG[asf] = "--enable-asf,--disable-asf"
-PACKAGECONFIG[rm] = "--enable-rm,--disable-rm"
-PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg"
-PACKAGECONFIG[png] = "--enable-png,--disable-png"
-
-do_install_append() {
- # Install "test" binary for corresponding package
- install -d ${D}/${bindir}
- install -m 755 ${B}/src/bin/.libs/test ${D}/${bindir}/test-lms
- # Remove .la files for loadable modules
- rm -f ${D}/${libdir}/${PN}/plugins/*.la
-}
-
-FILES_${PN} += "${datadir}/dbus-1"
-FILES_${PN}-dbg += "${libdir}/${PN}/plugins/.debug"
-
-PACKAGES_prepend = "${PN}-test "
-FILES_${PN}-test_prepend = "${bindir}/test-lms "
-
-PACKAGES += "${PN}-meta"
-ALLOW_EMPTY_${PN}-meta = "1"
-
-PACKAGES_DYNAMIC = "${PN}-plugin-*"
-
-python populate_packages_prepend () {
- lms_libdir = d.expand('${libdir}/${PN}')
- pkgs = []
-
- pkgs += do_split_packages(d, oe.path.join(lms_libdir, "plugins"), '^(.*)\.so$', d.expand('${PN}-plugin-%s'), 'LightMediaScanner plugin for %s', prepend=True, extra_depends=d.expand('${PN}'))
- metapkg = d.getVar('PN') + '-meta'
- d.setVar('RDEPENDS_' + metapkg, ' '.join(pkgs))
-}
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-navigation/mcnavi/mcnavi_0.3.4.bb b/import-layers/meta-openembedded/meta-efl/recipes-navigation/mcnavi/mcnavi_0.3.4.bb
deleted file mode 100644
index 040e006ab..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-navigation/mcnavi/mcnavi_0.3.4.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Free GPS navigation for car and outdoor with OpenStreetMap maps"
-HOMEPAGE = "http://www.gps-routes.info/index.php?name=Content&pa=showpage&pid=1"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a"
-DEPENDS = "ecore evas imlib2 gpsd edje edje-native mysql5 intltool-native"
-
-SRC_URI = "http://www.gps-routes.info/debian/pool/main/m/mcnavi/mcnavi_${PV}.tar.gz"
-SRC_URI[md5sum] = "6860cde5c02a9f93c829da4b10e5a226"
-SRC_URI[sha256sum] = "ee7f65155e91386175875fc4f72f4bc94e4e9cdb8258112632da94520ef2c349"
-
-S = "${WORKDIR}/${PN}"
-
-inherit autotools
-
-PNBLACKLIST[mcnavi] ?= "BROKEN: latest version 0.3.4 is 3 years old and now broken with more strict ejde_cc from efl-1.13 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-# | edje_cc: Error. parse error 0.3.4-r0/mcnavi/data/themes/Default/main.edc:126. invalid state name: 'none'. "default" state must always be first.
-# | edje_cc: Error. parse error 0.3.4-r0/mcnavi/data/themes/Default/itinerary.edc:84. invalid state name: 'none'. "default" state must always be first.
-# | edje_cc: Error. parse error 0.3.4-r0/mcnavi/data/themes/Default/text.edc:1129. invalid state name: 'none'. "default" state must always be first.
-# | edje_cc: Error. parse error 0.3.4-r0/mcnavi/data/themes/Default/fileopen.edc:78. invalid state name: 'off'. "default" state must always be first.
diff --git a/import-layers/meta-openembedded/meta-filesystems/README b/import-layers/meta-openembedded/meta-filesystems/README
index 48fe15f44..0f7cc9b3c 100644
--- a/import-layers/meta-openembedded/meta-filesystems/README
+++ b/import-layers/meta-openembedded/meta-filesystems/README
@@ -10,22 +10,22 @@ Dependencies
This layer depends on:
URI: git://git.openembedded.org/bitbake
- branch: 1.28
+ branch: 1.36
URI: git://git.openembedded.org/openembedded-core
layers: meta
- branch: pyro
+ branch: rocko
URI: git://git.openembedded.org/meta-openembedded
layers: meta-oe
- branch: pyro
+ branch: rocko
Patches
=======
Please submit any patches against the filesystems layer to the
OpenEmbedded development mailing list (openembedded-devel@lists.openembedded.org)
-with '[meta-filesystems][pyro]' in the subject.
+with '[meta-filesystems][rocko]' in the subject.
Maintainers List:
physfs Andreas Müller <schnitzeltony@googlemail.com>
@@ -66,9 +66,9 @@ When sending single patches, please use something like:
git send-email -1 -M \
--to openembedded-devel@lists.openembedded.org \
- --subject-prefix=meta-filesystems][pyro][PATCH
+ --subject-prefix=meta-filesystems][rocko][PATCH
-pyro Branch Maintainer:
+rocko Branch Maintainer:
Armin Kuster <akuster808@gmail.com>
Table of Contents
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/Using-PKG_CHECK_MODULES-to-found-headers-and-libraries.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/Using-PKG_CHECK_MODULES-to-found-headers-and-libraries.patch
deleted file mode 100644
index f05f09f61..000000000
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/Using-PKG_CHECK_MODULES-to-found-headers-and-libraries.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 7a524d49b3d4459280f18942df2980603400ec52 Mon Sep 17 00:00:00 2001
-From: Bian Naimeng <biannm@cn.fujitsu.com>
-Date: Fri, 19 Jun 2015 11:54:44 +0900
-Subject: [PATCH] Using PKG_CHECK_MODULES to found headers and libraries of
- smbclient
-
-Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
----
- configure.in | 5 +++++
- src/Makefile.am | 3 +++
- 2 files changed, 8 insertions(+)
-
-diff --git a/configure.in b/configure.in
-index ce21aef..ecd7119 100644
---- a/configure.in
-+++ b/configure.in
-@@ -125,6 +125,11 @@ AC_CHECK_LIB(smbclient, smbc_setOptionUserData,
- )]
- )
-
-+dnl *****************************************************************
-+dnl *** Check libsmbclient by pkgconfig to get cflags and ldflags ***
-+dnl *****************************************************************
-+PKG_CHECK_MODULES(SMBCLIENT, smbclient)
-+
- dnl ******************
- dnl *** Final step ***
- dnl ******************
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 41519d8..9fc97e9 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -16,3 +16,6 @@ smbnetfs_SOURCES = \
- event.c event.h \
- reconfigure.c reconfigure.h \
- main.c
-+
-+smbnetfs_CFLAGS=${SMBCLIENT_CFLAGS}
-+smbnetfs_LDFLAGS=${SMBCLIENT_LDFLAGS}
---
-1.8.4.2
-
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch
deleted file mode 100644
index c80fed187..000000000
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-Index: git/configure.in
-===================================================================
---- git.orig/configure.in 2014-06-18 16:06:16.040721349 +0000
-+++ git/configure.in 2014-07-18 07:49:17.085552256 +0000
-@@ -1,5 +1,5 @@
- AC_INIT([SMBNetFS],[0.5.3а])
--AM_INIT_AUTOMAKE
-+AM_INIT_AUTOMAKE([foreign])
- AC_CONFIG_HEADERS([src/config.h])
- AC_PROG_CC
-
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb
deleted file mode 100644
index 6995ad3f5..000000000
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "FUSE module for mounting an entire SMB/NMB network in a single directory"
-DESCRIPTION = "SMBNetFS is a Linux/FreeBSD filesystem that allow you to use \
- samba/microsoft network in the same manner as the network \
- neighborhood in Microsoft Windows. Please donate me to help \
- in SMBNetFS development."
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
-HOMEPAGE ="http://sourceforge.net/projects/smbnetfs"
-
-DEPENDS = "fuse samba"
-
-inherit autotools gitpkgv pkgconfig
-
-PKGV = "${GITPKGVTAG}"
-
-SRCREV = "ace1c519d45fe488b9b7e6cc77a2bcadb6c83464"
-
-SRC_URI = "git://smbnetfs.git.sourceforge.net/gitroot/smbnetfs/smbnetfs;branch=master \
- file://configure.patch \
- file://Using-PKG_CHECK_MODULES-to-found-headers-and-libraries.patch"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[gnome-keyring] = "--with-gnome-keyring=yes,--with-gnome-keyring=no,libgnome-keyring"
-
-S = "${WORKDIR}/git"
-
-PNBLACKLIST[smbnetfs] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/132827/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-support-cross-compiling.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-support-cross-compiling.patch
new file mode 100644
index 000000000..bf363ca1b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-support-cross-compiling.patch
@@ -0,0 +1,32 @@
+From 449cec34c123b86b792627553c6ec7471d2ee7ed Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 30 Jun 2017 14:46:51 +0800
+Subject: [PATCH] support cross compiling
+
+Do not override OE CMAKE variables
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -10,9 +10,9 @@ IF(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
+ ENDIF(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
+
+ # Select flags.
+-SET(CMAKE_C_FLAGS "-pipe -W -Wall -DFORTIFY_SOURCE=2")
++SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pipe -W -Wall -DFORTIFY_SOURCE=2")
+ SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g")
+-SET(CMAKE_C_FLAGS_RELEASE "-O2")
++SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O2")
+ SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -DDEBUG")
+
+ if (UNIX AND APPLE)
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-unionfs-Define-IOCPARM_LEN-if-undefined.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-unionfs-Define-IOCPARM_LEN-if-undefined.patch
new file mode 100644
index 000000000..8f991cd3f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-unionfs-Define-IOCPARM_LEN-if-undefined.patch
@@ -0,0 +1,62 @@
+From 10411fa8658621822ae394160daffaced4a4cd7f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Jul 2017 23:07:29 -0700
+Subject: [PATCH] unionfs: Define IOCPARM_LEN if undefined
+
+musl does not have sysctl.h which defines this
+for glibc
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/unionfs.c | 8 --------
+ src/unionfs.h | 15 +++++++++++++++
+ 2 files changed, 15 insertions(+), 8 deletions(-)
+
+diff --git a/src/unionfs.c b/src/unionfs.c
+index a34d34e..51684a7 100644
+--- a/src/unionfs.c
++++ b/src/unionfs.c
+@@ -21,14 +21,6 @@
+ #include "opts.h"
+ #include "usyslog.h"
+
+-#ifndef _IOC_SIZE
+-#ifdef IOCPARM_LEN
+-#define _IOC_SIZE(x) IOCPARM_LEN(x)
+-#else
+-#error "No mechanism for determining ioctl length found."
+-#endif
+-#endif
+-
+ static struct fuse_opt unionfs_opts[] = {
+ FUSE_OPT_KEY("chroot=%s,", KEY_CHROOT),
+ FUSE_OPT_KEY("cow", KEY_COW),
+diff --git a/src/unionfs.h b/src/unionfs.h
+index 8f5e0bf..b02de5a 100644
+--- a/src/unionfs.h
++++ b/src/unionfs.h
+@@ -17,6 +17,21 @@
+ #define FUSE_META_FILE ".fuse_hidden"
+ #define FUSE_META_LENGTH 12
+
++#ifndef IOCPARM_MASK
++#define IOCPARM_MASK 0x1FFF
++#endif
++#ifndef IOCPARM_LEN
++#define IOCPARM_LEN(a) (((a) >> 16) & IOCPARM_MASK)
++#endif
++
++#ifndef _IOC_SIZE
++#ifdef IOCPARM_LEN
++#define _IOC_SIZE(x) IOCPARM_LEN(x)
++#else
++#error "No mechanism for determining ioctl length found."
++#endif
++#endif
++
+ // file access protection mask
+ #define S_PROT_MASK (S_ISUID| S_ISGID | S_ISVTX | S_IRWXU | S_IRWXG | S_IRWXO)
+
+--
+2.13.2
+
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
deleted file mode 100644
index 25204293a..000000000
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_0.26.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "A FUSE based implemention of unionfs"
-HOMEPAGE = "http://podgorny.cz/moin/UnionFsFuse"
-SECTION = "console/network"
-LICENSE = "BSD-3-Clause"
-DEPENDS = "fuse"
-LIC_FILES_CHKSUM = "file://src/unionfs.c;beginline=3;endline=8;md5=30fa8de70fd8abab00b483a1b7943a32"
-
-SRC_URI = "http://podgorny.cz/unionfs-fuse/releases/${BP}.tar.xz"
-
-SRC_URI[md5sum] = "689c636484756f6f7a728ef354cbeac2"
-SRC_URI[sha256sum] = "8d5c9dcb51ecb9a9b03890e16d17e37d602b0c1f23ed6a9ddec2b0f719c9f662"
-
-do_install() {
- oe_runmake install DESTDIR=${D} PREFIX=${exec_prefix}
-}
-
-RDEPENDS_${PN} += "bash"
-
-PNBLACKLIST[unionfs-fuse] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130648/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.0.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.0.bb
new file mode 100644
index 000000000..6bedf16b0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.0.bb
@@ -0,0 +1,19 @@
+SUMMARY = "A FUSE based implemention of unionfs"
+HOMEPAGE = "https://github.com/rpodgorny/unionfs-fuse"
+SECTION = "console/network"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://src/unionfs.c;beginline=3;endline=8;md5=30fa8de70fd8abab00b483a1b7943a32 \
+ file://LICENSE;md5=7e5a37fce17307066eec6b23546da3b3 \
+"
+
+SRC_URI = "git://github.com/rpodgorny/${BPN}.git;branch=master \
+ file://0001-support-cross-compiling.patch \
+ file://0001-unionfs-Define-IOCPARM_LEN-if-undefined.patch \
+ "
+SRCREV = "c8d23a9a75f1a62988593671839e8a168a79f3e5"
+
+DEPENDS = "fuse"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.4.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.4.bb
deleted file mode 100644
index 336281ca4..000000000
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.4.bb
+++ /dev/null
@@ -1,64 +0,0 @@
-SUMMARY = "Implementation of a fully functional filesystem in a userspace program"
-DESCRIPTION = "FUSE (Filesystem in Userspace) is a simple interface for userspace \
- programs to export a virtual filesystem to the Linux kernel. FUSE \
- also aims to provide a secure method for non privileged users to \
- create and mount their own filesystem implementations. \
- "
-HOMEPAGE = "http://fuse.sf.net"
-SECTION = "libs"
-LICENSE = "GPLv2 & LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/fuse/fuse-${PV}.tar.gz \
- file://gold-unversioned-symbol.patch \
- file://aarch64.patch \
- file://0001-fuse-fix-the-return-value-of-help-option.patch \
- file://fuse.conf \
-"
-SRC_URI[md5sum] = "ecb712b5ffc6dffd54f4a405c9b372d8"
-SRC_URI[sha256sum] = "6be9c0bff6af8c677414935f31699ea5a7f8f5f791cfa5205be02ea186b97ce1"
-
-inherit autotools pkgconfig update-rc.d systemd
-
-INITSCRIPT_NAME = "fuse"
-INITSCRIPT_PARAMS = "start 3 S . stop 20 0 6 ."
-
-SYSTEMD_SERVICE_${PN} = ""
-
-DEPENDS = "gettext-native"
-
-PACKAGES =+ "fuse-utils-dbg fuse-utils libulockmgr libulockmgr-dev libulockmgr-dbg"
-
-RRECOMMENDS_${PN}_class-target = "kernel-module-fuse libulockmgr fuse-utils"
-
-FILES_${PN} += "${libdir}/libfuse.so.*"
-FILES_${PN}-dev += "${libdir}/libfuse*.la"
-
-FILES_libulockmgr = "${libdir}/libulockmgr.so.*"
-FILES_libulockmgr-dev += "${libdir}/libulock*.la"
-FILES_libulockmgr-dbg += "${libdir}/.debug/libulock*"
-
-# Forbid auto-renaming to libfuse-utils
-FILES_fuse-utils = "${bindir} ${base_sbindir}"
-FILES_fuse-utils-dbg = "${bindir}/.debug ${base_sbindir}/.debug"
-DEBIAN_NOAUTONAME_fuse-utils = "1"
-DEBIAN_NOAUTONAME_fuse-utils-dbg = "1"
-
-do_install_append() {
- rm -rf ${D}${base_prefix}/dev
-
- # systemd class remove the sysv_initddir only if systemd_system_unitdir
- # contains anything, but it's not needed if sysvinit is not in DISTRO_FEATURES
- if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'false', 'true', d)}; then
- rm -rf ${D}${sysconfdir}/init.d/
- fi
-
- # Install systemd related configuration file
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/modules-load.d
- install -m 0644 ${WORKDIR}/fuse.conf ${D}${sysconfdir}/modules-load.d
- fi
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.7.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.7.bb
new file mode 100644
index 000000000..202d4c3eb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.7.bb
@@ -0,0 +1,69 @@
+SUMMARY = "Implementation of a fully functional filesystem in a userspace program"
+DESCRIPTION = "FUSE (Filesystem in Userspace) is a simple interface for userspace \
+ programs to export a virtual filesystem to the Linux kernel. FUSE \
+ also aims to provide a secure method for non privileged users to \
+ create and mount their own filesystem implementations. \
+ "
+HOMEPAGE = "https://github.com/libfuse/libfuse"
+SECTION = "libs"
+LICENSE = "GPLv2 & LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "https://github.com/libfuse/libfuse/releases/download/${BP}/${BP}.tar.gz \
+ file://gold-unversioned-symbol.patch \
+ file://aarch64.patch \
+ file://0001-fuse-fix-the-return-value-of-help-option.patch \
+ file://fuse.conf \
+"
+SRC_URI[md5sum] = "9bd4ce8184745fd3d000ca2692adacdb"
+SRC_URI[sha256sum] = "832432d1ad4f833c20e13b57cf40ce5277a9d33e483205fc63c78111b3358874"
+
+inherit autotools pkgconfig update-rc.d systemd
+
+INITSCRIPT_NAME = "fuse"
+INITSCRIPT_PARAMS = "start 3 S . stop 20 0 6 ."
+
+SYSTEMD_SERVICE_${PN} = ""
+
+DEPENDS = "gettext-native"
+
+PACKAGES =+ "fuse-utils-dbg fuse-utils libulockmgr libulockmgr-dev libulockmgr-dbg"
+
+RRECOMMENDS_${PN}_class-target = "kernel-module-fuse libulockmgr fuse-utils"
+
+FILES_${PN} += "${libdir}/libfuse.so.*"
+FILES_${PN}-dev += "${libdir}/libfuse*.la"
+
+FILES_libulockmgr = "${libdir}/libulockmgr.so.*"
+FILES_libulockmgr-dev += "${libdir}/libulock*.la"
+FILES_libulockmgr-dbg += "${libdir}/.debug/libulock*"
+
+# Forbid auto-renaming to libfuse-utils
+FILES_fuse-utils = "${bindir} ${base_sbindir}"
+FILES_fuse-utils-dbg = "${bindir}/.debug ${base_sbindir}/.debug"
+DEBIAN_NOAUTONAME_fuse-utils = "1"
+DEBIAN_NOAUTONAME_fuse-utils-dbg = "1"
+
+do_configure_prepend() {
+ # Make this explicit so overriding base_sbindir propagates properly.
+ export MOUNT_FUSE_PATH="${base_sbindir}"
+}
+
+do_install_append() {
+ rm -rf ${D}${base_prefix}/dev
+
+ # systemd class remove the sysv_initddir only if systemd_system_unitdir
+ # contains anything, but it's not needed if sysvinit is not in DISTRO_FEATURES
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'false', 'true', d)}; then
+ rm -rf ${D}${sysconfdir}/init.d/
+ fi
+
+ # Install systemd related configuration file
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/modules-load.d
+ install -m 0644 ${WORKDIR}/fuse.conf ${D}${sysconfdir}/modules-load.d
+ fi
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/0001-libau-Define-STRIP-weakly.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/0001-libau-Define-STRIP-weakly.patch
new file mode 100644
index 000000000..9efea804b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/0001-libau-Define-STRIP-weakly.patch
@@ -0,0 +1,39 @@
+From bb8801fb21ac8d73e3b1a11a8555aaf822182a51 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 5 Sep 2017 10:36:52 -0700
+Subject: [PATCH] libau: Define STRIP weakly
+
+STRIP can be set on environment to use cross version of strip utility
+hardcoding to strip is not working in cross environment
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted
+
+ libau/Makefile | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/libau/Makefile b/libau/Makefile
+index 81520ac..c25eef2 100644
+--- a/libau/Makefile
++++ b/libau/Makefile
+@@ -25,6 +25,7 @@ LibSoHdr = libau.h rdu.h
+ LibSoExport = $(addsuffix .exp, $(basename ${LibSoObj}))
+ LibSoExportErr = $(addsuffix .err, ${LibSoExport})
+ LibSoVerScript = verscript
++STRIP ?= strip
+
+ all: ${LibSo}
+
+@@ -77,7 +78,7 @@ ${LibSo}.${LibSoMajor}.${LibSoMinor}: ${LibSoObj}
+ ${CC} --shared -Wl,-soname,${LibSo}.${LibSoMajor} \
+ -Wl,--version-script,${LibSoVerScript} \
+ ${LDFLAGS} -o $@ $^ ${LDLIBS}
+- strip -R EXP $@
++ ${STRIP} -R EXP $@
+ # readelf --syms --use-dynamic libau.so
+
+ install_ulib: File = ${LibSo}.${LibSoMajor}.${LibSoMinor}
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs_type.h b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs_type.h
deleted file mode 100644
index c948033a4..000000000
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs_type.h
+++ /dev/null
@@ -1,419 +0,0 @@
-/*
- * Copyright (C) 2005-2015 Junjiro R. Okajima
- *
- * This program, aufs 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, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef __AUFS_TYPE_H__
-#define __AUFS_TYPE_H__
-
-#define AUFS_NAME "aufs"
-
-#ifdef __KERNEL__
-/*
- * define it before including all other headers.
- * sched.h may use pr_* macros before defining "current", so define the
- * no-current version first, and re-define later.
- */
-#define pr_fmt(fmt) AUFS_NAME " %s:%d: " fmt, __func__, __LINE__
-#include <linux/sched.h>
-#undef pr_fmt
-#define pr_fmt(fmt) \
- AUFS_NAME " %s:%d:%.*s[%d]: " fmt, __func__, __LINE__, \
- (int)sizeof(current->comm), current->comm, current->pid
-#else
-#include <stdint.h>
-#include <sys/types.h>
-#endif /* __KERNEL__ */
-
-#include <linux/limits.h>
-
-#define AUFS_VERSION "3.18-20150406"
-
-/* todo? move this to linux-2.6.19/include/magic.h */
-#define AUFS_SUPER_MAGIC ('a' << 24 | 'u' << 16 | 'f' << 8 | 's')
-
-/* ---------------------------------------------------------------------- */
-
-#ifdef CONFIG_AUFS_BRANCH_MAX_127
-typedef int8_t aufs_bindex_t;
-#define AUFS_BRANCH_MAX 127
-#else
-typedef int16_t aufs_bindex_t;
-#ifdef CONFIG_AUFS_BRANCH_MAX_511
-#define AUFS_BRANCH_MAX 511
-#elif defined(CONFIG_AUFS_BRANCH_MAX_1023)
-#define AUFS_BRANCH_MAX 1023
-#elif defined(CONFIG_AUFS_BRANCH_MAX_32767)
-#define AUFS_BRANCH_MAX 32767
-#endif
-#endif
-
-#ifdef __KERNEL__
-#ifndef AUFS_BRANCH_MAX
-#error unknown CONFIG_AUFS_BRANCH_MAX value
-#endif
-#endif /* __KERNEL__ */
-
-/* ---------------------------------------------------------------------- */
-
-#define AUFS_FSTYPE AUFS_NAME
-
-#define AUFS_ROOT_INO 2
-#define AUFS_FIRST_INO 11
-
-#define AUFS_WH_PFX ".wh."
-#define AUFS_WH_PFX_LEN ((int)sizeof(AUFS_WH_PFX) - 1)
-#define AUFS_WH_TMP_LEN 4
-/* a limit for rmdir/rename a dir and copyup */
-#define AUFS_MAX_NAMELEN (NAME_MAX \
- - AUFS_WH_PFX_LEN * 2 /* doubly whiteouted */\
- - 1 /* dot */\
- - AUFS_WH_TMP_LEN) /* hex */
-#define AUFS_XINO_FNAME "." AUFS_NAME ".xino"
-#define AUFS_XINO_DEFPATH "/tmp/" AUFS_XINO_FNAME
-#define AUFS_XINO_DEF_SEC 30 /* seconds */
-#define AUFS_XINO_DEF_TRUNC 45 /* percentage */
-#define AUFS_DIRWH_DEF 3
-#define AUFS_RDCACHE_DEF 10 /* seconds */
-#define AUFS_RDCACHE_MAX 3600 /* seconds */
-#define AUFS_RDBLK_DEF 512 /* bytes */
-#define AUFS_RDHASH_DEF 32
-#define AUFS_WKQ_NAME AUFS_NAME "d"
-#define AUFS_MFS_DEF_SEC 30 /* seconds */
-#define AUFS_MFS_MAX_SEC 3600 /* seconds */
-#define AUFS_FHSM_CACHE_DEF_SEC 30 /* seconds */
-#define AUFS_PLINK_WARN 50 /* number of plinks in a single bucket */
-
-/* pseudo-link maintenace under /proc */
-#define AUFS_PLINK_MAINT_NAME "plink_maint"
-#define AUFS_PLINK_MAINT_DIR "fs/" AUFS_NAME
-#define AUFS_PLINK_MAINT_PATH AUFS_PLINK_MAINT_DIR "/" AUFS_PLINK_MAINT_NAME
-
-#define AUFS_DIROPQ_NAME AUFS_WH_PFX ".opq" /* whiteouted doubly */
-#define AUFS_WH_DIROPQ AUFS_WH_PFX AUFS_DIROPQ_NAME
-
-#define AUFS_BASE_NAME AUFS_WH_PFX AUFS_NAME
-#define AUFS_PLINKDIR_NAME AUFS_WH_PFX "plnk"
-#define AUFS_ORPHDIR_NAME AUFS_WH_PFX "orph"
-
-/* doubly whiteouted */
-#define AUFS_WH_BASE AUFS_WH_PFX AUFS_BASE_NAME
-#define AUFS_WH_PLINKDIR AUFS_WH_PFX AUFS_PLINKDIR_NAME
-#define AUFS_WH_ORPHDIR AUFS_WH_PFX AUFS_ORPHDIR_NAME
-
-/* branch permissions and attributes */
-#define AUFS_BRPERM_RW "rw"
-#define AUFS_BRPERM_RO "ro"
-#define AUFS_BRPERM_RR "rr"
-#define AUFS_BRATTR_COO_REG "coo_reg"
-#define AUFS_BRATTR_COO_ALL "coo_all"
-#define AUFS_BRATTR_FHSM "fhsm"
-#define AUFS_BRATTR_UNPIN "unpin"
-#define AUFS_BRATTR_ICEX "icex"
-#define AUFS_BRATTR_ICEX_SEC "icexsec"
-#define AUFS_BRATTR_ICEX_SYS "icexsys"
-#define AUFS_BRATTR_ICEX_TR "icextr"
-#define AUFS_BRATTR_ICEX_USR "icexusr"
-#define AUFS_BRATTR_ICEX_OTH "icexoth"
-#define AUFS_BRRATTR_WH "wh"
-#define AUFS_BRWATTR_NLWH "nolwh"
-#define AUFS_BRWATTR_MOO "moo"
-
-#define AuBrPerm_RW 1 /* writable, hardlinkable wh */
-#define AuBrPerm_RO (1 << 1) /* readonly */
-#define AuBrPerm_RR (1 << 2) /* natively readonly */
-#define AuBrPerm_Mask (AuBrPerm_RW | AuBrPerm_RO | AuBrPerm_RR)
-
-#define AuBrAttr_COO_REG (1 << 3) /* copy-up on open */
-#define AuBrAttr_COO_ALL (1 << 4)
-#define AuBrAttr_COO_Mask (AuBrAttr_COO_REG | AuBrAttr_COO_ALL)
-
-#define AuBrAttr_FHSM (1 << 5) /* file-based hsm */
-#define AuBrAttr_UNPIN (1 << 6) /* rename-able top dir of
- branch. meaningless since
- linux-3.18-rc1 */
-
-/* ignore error in copying XATTR */
-#define AuBrAttr_ICEX_SEC (1 << 7)
-#define AuBrAttr_ICEX_SYS (1 << 8)
-#define AuBrAttr_ICEX_TR (1 << 9)
-#define AuBrAttr_ICEX_USR (1 << 10)
-#define AuBrAttr_ICEX_OTH (1 << 11)
-#define AuBrAttr_ICEX (AuBrAttr_ICEX_SEC \
- | AuBrAttr_ICEX_SYS \
- | AuBrAttr_ICEX_TR \
- | AuBrAttr_ICEX_USR \
- | AuBrAttr_ICEX_OTH)
-
-#define AuBrRAttr_WH (1 << 12) /* whiteout-able */
-#define AuBrRAttr_Mask AuBrRAttr_WH
-
-#define AuBrWAttr_NoLinkWH (1 << 13) /* un-hardlinkable whiteouts */
-#define AuBrWAttr_MOO (1 << 14) /* move-up on open */
-#define AuBrWAttr_Mask (AuBrWAttr_NoLinkWH | AuBrWAttr_MOO)
-
-#define AuBrAttr_CMOO_Mask (AuBrAttr_COO_Mask | AuBrWAttr_MOO)
-
-/* #warning test userspace */
-#ifdef __KERNEL__
-#ifndef CONFIG_AUFS_FHSM
-#undef AuBrAttr_FHSM
-#define AuBrAttr_FHSM 0
-#endif
-#ifndef CONFIG_AUFS_XATTR
-#undef AuBrAttr_ICEX
-#define AuBrAttr_ICEX 0
-#undef AuBrAttr_ICEX_SEC
-#define AuBrAttr_ICEX_SEC 0
-#undef AuBrAttr_ICEX_SYS
-#define AuBrAttr_ICEX_SYS 0
-#undef AuBrAttr_ICEX_TR
-#define AuBrAttr_ICEX_TR 0
-#undef AuBrAttr_ICEX_USR
-#define AuBrAttr_ICEX_USR 0
-#undef AuBrAttr_ICEX_OTH
-#define AuBrAttr_ICEX_OTH 0
-#endif
-#endif
-
-/* the longest combination */
-/* AUFS_BRATTR_ICEX and AUFS_BRATTR_ICEX_TR don't affect here */
-#define AuBrPermStrSz sizeof(AUFS_BRPERM_RW \
- "+" AUFS_BRATTR_COO_REG \
- "+" AUFS_BRATTR_FHSM \
- "+" AUFS_BRATTR_UNPIN \
- "+" AUFS_BRATTR_ICEX_SEC \
- "+" AUFS_BRATTR_ICEX_SYS \
- "+" AUFS_BRATTR_ICEX_USR \
- "+" AUFS_BRATTR_ICEX_OTH \
- "+" AUFS_BRWATTR_NLWH)
-
-typedef struct {
- char a[AuBrPermStrSz];
-} au_br_perm_str_t;
-
-static inline int au_br_writable(int brperm)
-{
- return brperm & AuBrPerm_RW;
-}
-
-static inline int au_br_whable(int brperm)
-{
- return brperm & (AuBrPerm_RW | AuBrRAttr_WH);
-}
-
-static inline int au_br_wh_linkable(int brperm)
-{
- return !(brperm & AuBrWAttr_NoLinkWH);
-}
-
-static inline int au_br_cmoo(int brperm)
-{
- return brperm & AuBrAttr_CMOO_Mask;
-}
-
-static inline int au_br_fhsm(int brperm)
-{
- return brperm & AuBrAttr_FHSM;
-}
-
-/* ---------------------------------------------------------------------- */
-
-/* ioctl */
-enum {
- /* readdir in userspace */
- AuCtl_RDU,
- AuCtl_RDU_INO,
-
- AuCtl_WBR_FD, /* pathconf wrapper */
- AuCtl_IBUSY, /* busy inode */
- AuCtl_MVDOWN, /* move-down */
- AuCtl_BR, /* info about branches */
- AuCtl_FHSM_FD /* connection for fhsm */
-};
-
-/* borrowed from linux/include/linux/kernel.h */
-#ifndef ALIGN
-#define ALIGN(x, a) __ALIGN_MASK(x, (typeof(x))(a)-1)
-#define __ALIGN_MASK(x, mask) (((x)+(mask))&~(mask))
-#endif
-
-/* borrowed from linux/include/linux/compiler-gcc3.h */
-#ifndef __aligned
-#define __aligned(x) __attribute__((aligned(x)))
-#endif
-
-#ifdef __KERNEL__
-#ifndef __packed
-#define __packed __attribute__((packed))
-#endif
-#endif
-
-struct au_rdu_cookie {
- uint64_t h_pos;
- int16_t bindex;
- uint8_t flags;
- uint8_t pad;
- uint32_t generation;
-} __aligned(8);
-
-struct au_rdu_ent {
- uint64_t ino;
- int16_t bindex;
- uint8_t type;
- uint8_t nlen;
- uint8_t wh;
- char name[0];
-} __aligned(8);
-
-static inline int au_rdu_len(int nlen)
-{
- /* include the terminating NULL */
- return ALIGN(sizeof(struct au_rdu_ent) + nlen + 1,
- sizeof(uint64_t));
-}
-
-union au_rdu_ent_ul {
- struct au_rdu_ent *e;
- uint64_t ul;
-};
-
-enum {
- AufsCtlRduV_SZ,
- AufsCtlRduV_End
-};
-
-struct aufs_rdu {
- /* input */
- union {
- uint64_t sz; /* AuCtl_RDU */
- uint64_t nent; /* AuCtl_RDU_INO */
- };
- union au_rdu_ent_ul ent;
- uint16_t verify[AufsCtlRduV_End];
-
- /* input/output */
- uint32_t blk;
-
- /* output */
- union au_rdu_ent_ul tail;
- /* number of entries which were added in a single call */
- uint64_t rent;
- uint8_t full;
- uint8_t shwh;
-
- struct au_rdu_cookie cookie;
-} __aligned(8);
-
-/* ---------------------------------------------------------------------- */
-
-struct aufs_wbr_fd {
- uint32_t oflags;
- int16_t brid;
-} __aligned(8);
-
-/* ---------------------------------------------------------------------- */
-
-struct aufs_ibusy {
- uint64_t ino, h_ino;
- int16_t bindex;
-} __aligned(8);
-
-/* ---------------------------------------------------------------------- */
-
-/* error code for move-down */
-/* the actual message strings are implemented in aufs-util.git */
-enum {
- EAU_MVDOWN_OPAQUE = 1,
- EAU_MVDOWN_WHITEOUT,
- EAU_MVDOWN_UPPER,
- EAU_MVDOWN_BOTTOM,
- EAU_MVDOWN_NOUPPER,
- EAU_MVDOWN_NOLOWERBR,
- EAU_Last
-};
-
-/* flags for move-down */
-#define AUFS_MVDOWN_DMSG 1
-#define AUFS_MVDOWN_OWLOWER (1 << 1) /* overwrite lower */
-#define AUFS_MVDOWN_KUPPER (1 << 2) /* keep upper */
-#define AUFS_MVDOWN_ROLOWER (1 << 3) /* do even if lower is RO */
-#define AUFS_MVDOWN_ROLOWER_R (1 << 4) /* did on lower RO */
-#define AUFS_MVDOWN_ROUPPER (1 << 5) /* do even if upper is RO */
-#define AUFS_MVDOWN_ROUPPER_R (1 << 6) /* did on upper RO */
-#define AUFS_MVDOWN_BRID_UPPER (1 << 7) /* upper brid */
-#define AUFS_MVDOWN_BRID_LOWER (1 << 8) /* lower brid */
-#define AUFS_MVDOWN_FHSM_LOWER (1 << 9) /* find fhsm attr for lower */
-#define AUFS_MVDOWN_STFS (1 << 10) /* req. stfs */
-#define AUFS_MVDOWN_STFS_FAILED (1 << 11) /* output: stfs is unusable */
-#define AUFS_MVDOWN_BOTTOM (1 << 12) /* output: no more lowers */
-
-/* index for move-down */
-enum {
- AUFS_MVDOWN_UPPER,
- AUFS_MVDOWN_LOWER,
- AUFS_MVDOWN_NARRAY
-};
-
-/*
- * additional info of move-down
- * number of free blocks and inodes.
- * subset of struct kstatfs, but smaller and always 64bit.
- */
-struct aufs_stfs {
- uint64_t f_blocks;
- uint64_t f_bavail;
- uint64_t f_files;
- uint64_t f_ffree;
-};
-
-struct aufs_stbr {
- int16_t brid; /* optional input */
- int16_t bindex; /* output */
- struct aufs_stfs stfs; /* output when AUFS_MVDOWN_STFS set */
-} __aligned(8);
-
-struct aufs_mvdown {
- uint32_t flags; /* input/output */
- struct aufs_stbr stbr[AUFS_MVDOWN_NARRAY]; /* input/output */
- int8_t au_errno; /* output */
-} __aligned(8);
-
-/* ---------------------------------------------------------------------- */
-
-union aufs_brinfo {
- /* PATH_MAX may differ between kernel-space and user-space */
- char _spacer[4096];
- struct {
- int16_t id;
- int perm;
- char path[0];
- };
-} __aligned(8);
-
-/* ---------------------------------------------------------------------- */
-
-#define AuCtlType 'A'
-#define AUFS_CTL_RDU _IOWR(AuCtlType, AuCtl_RDU, struct aufs_rdu)
-#define AUFS_CTL_RDU_INO _IOWR(AuCtlType, AuCtl_RDU_INO, struct aufs_rdu)
-#define AUFS_CTL_WBR_FD _IOW(AuCtlType, AuCtl_WBR_FD, \
- struct aufs_wbr_fd)
-#define AUFS_CTL_IBUSY _IOWR(AuCtlType, AuCtl_IBUSY, struct aufs_ibusy)
-#define AUFS_CTL_MVDOWN _IOWR(AuCtlType, AuCtl_MVDOWN, \
- struct aufs_mvdown)
-#define AUFS_CTL_BRINFO _IOW(AuCtlType, AuCtl_BR, union aufs_brinfo)
-#define AUFS_CTL_FHSM_FD _IOW(AuCtlType, AuCtl_FHSM_FD, int)
-
-#endif /* __AUFS_TYPE_H__ */
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb
index 50d8b909a..2e855e313 100644
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb
@@ -4,22 +4,24 @@ HOMEPAGE = "http://aufs.sourceforge.net/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a"
-DEPENDS = "aufs-util-native"
+DEPENDS = "coreutils-native aufs-util-native"
DEPENDS_class-native = ""
-SRCREV = "b59a2167a135ceea37581ee33997de278cf8a30a"
-SRC_URI = "git://git.code.sf.net/p/aufs/aufs-util;protocol=git;branch=aufs3.14 \
+SRCREV = "89afb1806c3d2eed8db2666ae254b77518ae3ceb"
+SRC_URI = "git://git.code.sf.net/p/aufs/aufs-util;protocol=git;branch=aufs4.4 \
+ https://raw.githubusercontent.com/sfjro/aufs4-linux/aufs4.4/include/uapi/linux/aufs_type.h;name=aufs_type \
file://aufs-util-don-t-strip-executables.patch \
file://aufs-util-add-tool-concept-to-Makefile-for-cross-com.patch \
- file://aufs_type.h \
+ file://0001-libau-Define-STRIP-weakly.patch \
"
+SRC_URI[aufs_type.md5sum] = "f7b4a255dcb55fe7b0967f5f59b44f19"
+SRC_URI[aufs_type.sha256sum] = "85bc8e4c1a94a7d526c382e4b047b4256cab8c4a65fc0396291707ad9a327a18"
-PV = "3.14+git${SRCPV}"
+PV = "4.4+git${SRCPV}"
S = "${WORKDIR}/git"
export HOSTCC = "${BUILD_CC}"
-
do_configure_prepend() {
# Replace sbin,bin paths with bitbake environment
sed -i -e 's;install_sbin: Tgt = ${DESTDIR}/sbin;install_sbin: Tgt = ${DESTDIR}/${base_sbindir};' \
@@ -30,11 +32,12 @@ do_configure_prepend() {
do_configure_append () {
install -d ${S}/include/linux/
cp ${WORKDIR}/aufs_type.h ${S}/include/linux/
+ sed -i -e 's;__user;;' ${S}/include/linux/aufs_type.h
}
do_configure_append_class-target () {
for i in ver c2sh c2tmac; do
- cp ${STAGING_BINDIR_NATIVE}/aufs-util-${PV}/$i ./
+ cp ${STAGING_BINDIR_NATIVE}/aufs-util-${PV}/$i ${B}
done
}
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
deleted file mode 100644
index 632f79d46..000000000
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/dmapi/dmapi_2.2.12.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "Library functions to get attribute bits"
-DESCRIPTION = "The Data Management API (DMAPI/XDSM) allows implementation \
- of hierarchical storage management software with no kernel \
- modifications as well as high-performance dump programs \
- without requiring "raw" access to the disk and knowledge \
- of filesystem structures.This interface is implemented by \
- the libdm library."
-
-HOMEPAGE = "http://oss.sgi.com/projects/xfs"
-SECTION = "base"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://doc/COPYING;md5=1678edfe8de9be9564d23761ae2fa794"
-DEPENDS = "xfsprogs"
-
-SRC_URI = "ftp://oss.sgi.com/projects/xfs/cmd_tars/dmapi-${PV}.tar.gz \
- file://remove-install-as-user.patch \
- file://dmapi_aarch64_configure_support.patch \
- "
-SRC_URI[md5sum] = "cd825d4e141c16011367e0a0dd98c9c5"
-SRC_URI[sha256sum] = "b18e34f47374f6adf7c164993c26df36986a009b86aa004ef9444102653aea69"
-
-inherit autotools-brokensep
-
-PARALLEL_MAKE = ""
-EXTRA_OEMAKE += "LIBTOOL="${HOST_SYS}-libtool --tag=CC" V=1"
-
-do_install () {
- export DIST_ROOT=${D}
- install -d ${D}${libdir}
- oe_runmake install install-dev PKG_DEVLIB_DIR=${libdir}
-}
-
-PNBLACKLIST[dmapi] ?= "Depends on broken xfsprogs - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/dmapi/files/dmapi_aarch64_configure_support.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/dmapi/files/dmapi_aarch64_configure_support.patch
deleted file mode 100644
index 98753b742..000000000
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/dmapi/files/dmapi_aarch64_configure_support.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Add config support to cross compile dmapi for
-aarch64 architecture
-
-Upstream-Status: Pending
-
-Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
-
---- dmapi-2.2.12_org/config.sub 2012-12-12 23:03:05.000000000 +0530
-+++ dmapi-2.2.12/config.sub 2014-03-24 16:49:56.771993523 +0530
-@@ -246,6 +246,7 @@ case $basic_machine in
- | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
- | am33_2.0 \
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
-+ | aarch64 | aarch64be \
- | bfin \
- | c4x | clipper \
- | d10v | d30v | dlx | dsp16xx \
-@@ -326,6 +327,7 @@ case $basic_machine in
- | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
- | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
-+ | aarch64-* | aarch64be-* \
- | avr-* | avr32-* \
- | bfin-* | bs2000-* \
- | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
---- dmapi-2.2.12_org/config.guess 2012-12-12 23:03:05.000000000 +0530
-+++ dmapi-2.2.12/config.guess 2014-03-24 16:49:56.771993523 +0530
-@@ -864,6 +864,9 @@ EOF
- echo ${UNAME_MACHINE}-unknown-linux-gnueabi
- fi
- exit ;;
-+ aarch64*:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit;;
- avr32*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/dmapi/files/remove-install-as-user.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/dmapi/files/remove-install-as-user.patch
deleted file mode 100644
index e761db371..000000000
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/dmapi/files/remove-install-as-user.patch
+++ /dev/null
@@ -1,205 +0,0 @@
-remove install as user
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- include/buildmacros | 2 +-
- include/install-sh | 95 ++++++++---------------------------------------------
- 2 files changed, 14 insertions(+), 83 deletions(-)
-
-diff --git a/include/buildmacros b/include/buildmacros
-index 7a01880..0840d55 100644
---- a/include/buildmacros
-+++ b/include/buildmacros
-@@ -30,7 +30,7 @@ OBJECTS = $(ASFILES:.s=.o) \
- $(LFILES:.l=.o) \
- $(YFILES:%.y=%.tab.o)
-
--INSTALL = $(TOPDIR)/install-sh -o $(PKG_USER) -g $(PKG_GROUP)
-+INSTALL = $(TOPDIR)/install-sh
-
- IMAGES_DIR = $(TOPDIR)/all-images
- DIST_DIR = $(TOPDIR)/dist
-diff --git a/include/install-sh b/include/install-sh
-index c952a71..b9d66f7 100755
---- a/include/install-sh
-+++ b/include/install-sh
-@@ -24,11 +24,11 @@
- # set set | yes yes
- #
- _usage() {
-- echo "Usage: $prog [-o owner] [-g group] [-m mode] -d directory"
-- echo "or $prog [-D] [-o owner] [-g group] [-m mode] file directory/file"
-- echo "or $prog [-o owner] [-g group] [-m mode] file [file ...] directory"
-+ echo "Usage: $prog [-m mode] -d directory"
-+ echo "or $prog [-m mode] file directory/file"
-+ echo "or $prog [-m mode] file [file ...] directory"
- echo "or $prog -S file target (creates \"target\" symlink)"
-- echo "or $prog -T lt_arg [-o owner] [-g group] [-m mode] libtool.lai directory"
-+ echo "or $prog -T lt_arg [-m mode] libtool.lai directory"
- echo ""
- echo "The \$DIST_MANIFEST and \$DIST_ROOT environment variables affect the"
- echo "behaviour of this command - see comments in the script."
-@@ -38,32 +38,6 @@ _usage() {
- exit 1
- }
-
--_chown ()
--{
-- _st=255
-- if [ $# -eq 3 ] ; then
-- chown $1:$2 $3
-- _st=$?
-- if [ $_st -ne 0 ] ; then
-- if [ $REAL_UID != '0' ] ; then
-- if [ ! -f $DIST_ROOT/.chown.quiet ] ; then
-- echo '==============================================='
-- echo Ownership of files under ${DIST_ROOT:-/}
-- echo cannot be changed
-- echo '==============================================='
-- if [ -n "$DIST_ROOT" ] ; then
-- touch $DIST_ROOT/.chown.quiet
-- fi
-- fi
-- _st=0
-- fi
-- fi
-- fi
--
-- return $_st
--}
--
--
- _manifest ()
- {
- echo $* | sed -e 's/\/\//\//g' >>${DIST_MANIFEST:-/dev/null}
-@@ -77,9 +51,6 @@ Sflag=false
- Tflag=false
- DIRMODE=755
- FILEMODE=644
--OWNER=`id -u`
--GROUP=`id -g`
--REAL_UID=$OWNER
-
- # default is to install and don't append manifest
- INSTALL=true
-@@ -94,24 +65,16 @@ MANIFEST=:
-
- if $INSTALL
- then
-- CP=cp; LN=ln; MKDIR=mkdir; CHMOD=chmod; CHOWN=_chown
-+ CP=cp; LN=ln; MKDIR=mkdir; CHMOD=chmod;
- else
-- CP=true; LN=true; MKDIR=true; CHMOD=true; CHOWN=true
-+ CP=true; LN=true; MKDIR=true; CHMOD=true;
- fi
-
--[ -n "$DIST_ROOT" -a $REAL_UID -ne 0 ] && CHOWN=true
--
--while getopts "Dcm:d:S:o:g:T:" c $*
-+while getopts "Dcm:d:S:T:" c $*
- do
- case $c in
- c)
- ;;
-- g)
-- GROUP=$OPTARG
-- ;;
-- o)
-- OWNER=$OPTARG
-- ;;
- m)
- DIRMODE=`expr $OPTARG`
- FILEMODE=$DIRMODE
-@@ -146,18 +109,7 @@ then
- # first usage
- #
- $MKDIR -p $dir
-- status=$?
-- if [ $status -eq 0 ]
-- then
-- $CHMOD $DIRMODE $dir
-- status=$?
-- fi
-- if [ $status -eq 0 ]
-- then
-- $CHOWN $OWNER $GROUP $dir
-- status=$?
-- fi
-- $MANIFEST d $DIRMODE $OWNER $GROUP ${dir#$DIST_ROOT}
-+ $MANIFEST d $DIRMODE ${dir#$DIST_ROOT}
- elif $Sflag
- then
- #
-@@ -203,7 +155,7 @@ then
- install_name=$target/$solib
- $CP $solib $install_name
- status=$?
-- $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$solib ${install_name#$DIST_ROOT}
-+ $MANIFEST f $FILEMODE $HERE/$solib ${install_name#$DIST_ROOT}
- break
- fi
- done
-@@ -254,7 +206,7 @@ then
- install_name=$target/$old_library
- $CP $old_library $install_name
- status=$?
-- $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$old_library ${install_name#$DIST_ROOT}
-+ $MANIFEST f $FILEMODE $HERE/$old_library ${install_name#$DIST_ROOT}
- ;;
- *)
- echo "$prog: -T $lt_install invalid"
-@@ -267,7 +219,6 @@ then
- if [ $status -eq 0 ]
- then
- $CHMOD $FILEMODE $install_name
-- $CHOWN $OWNER $GROUP $install_name
- fi
- ;;
- esac
-@@ -292,23 +243,10 @@ else
- then
- if [ -f $dir/$f ]
- then
-- $CHMOD $FILEMODE $dir/$f
-- status=$?
-- if [ $status -eq 0 ]
-- then
-- $CHOWN $OWNER $GROUP $dir/$f
-- status=$?
-- fi
-- $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$f ${dir#$DIST_ROOT}/$f
-+ $MANIFEST f $FILEMODE $HERE/$f ${dir#$DIST_ROOT}/$f
- else
- $CHMOD $FILEMODE $dir
-- status=$?
-- if [ $status -eq 0 ]
-- then
-- $CHOWN $OWNER $GROUP $dir
-- status=$?
-- fi
-- $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$dir ${dir#$DIST_ROOT}
-+ $MANIFEST f $FILEMODE $HERE/$dir ${dir#$DIST_ROOT}
- fi
- fi
- else
-@@ -334,14 +272,7 @@ else
- status=$?
- if [ $status -eq 0 ]
- then
-- $CHMOD $FILEMODE $dir/$f
-- status=$?
-- if [ $status -eq 0 ]
-- then
-- $CHOWN $OWNER $GROUP $dir/$f
-- status=$?
-- fi
-- $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$f ${dir#$DIST_ROOT}/$f
-+ $MANIFEST f $FILEMODE $HERE/$f ${dir#$DIST_ROOT}/$f
- fi
- [ $status -ne 0 ] && break
- done
---
-1.8.1.2
-
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch
new file mode 100644
index 000000000..355e93a37
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch
@@ -0,0 +1,12 @@
+Fix compilation with GCC6
+
+--- a/src/device-info.c 2013-12-09 14:59:27.000000000 +0100
++++ b/src/device-info.c 2017-03-13 07:06:25.506666680 +0100
+@@ -3,6 +3,7 @@
+ * contains code excerpts from udisks v1.0.4
+ ************************************************************************** */
+
++#include <sys/stat.h>
+ #include "device-info.h"
+
+ static char *
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/udevil/files/0002-etc-Makefile.am-Use-systemd_unitdir-instead-of-libdi.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/udevil/files/0002-etc-Makefile.am-Use-systemd_unitdir-instead-of-libdi.patch
new file mode 100644
index 000000000..f014a0f53
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/udevil/files/0002-etc-Makefile.am-Use-systemd_unitdir-instead-of-libdi.patch
@@ -0,0 +1,32 @@
+From 80b087193698632e525b90d45b4a49e61e343e1c Mon Sep 17 00:00:00 2001
+From: Krzysztof Kozlowski <krzk@kernel.org>
+Date: Thu, 13 Jul 2017 21:30:35 +0200
+Subject: [PATCH] etc: Makefile.am: Use systemd_unitdir instead of libdir
+
+Proper directory for installing systemd services is systemd_unitdir, not
+libdir.
+
+Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
+---
+ etc/Makefile.am | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/etc/Makefile.am b/etc/Makefile.am
+index 9b6e7522c20f..6d663241a72f 100644
+--- a/etc/Makefile.am
++++ b/etc/Makefile.am
+@@ -16,8 +16,8 @@ if ADD_SYSTEMD
+ test -f $(DESTDIR)/$(sysconfdir)/conf.d/devmon || $(INSTALL_DATA) \
+ $(srcdir)/systemd/devmon \
+ $(DESTDIR)/$(sysconfdir)/conf.d/devmon
+- test -d $(DESTDIR)/$(libdir)/systemd/system || \
+- mkdir -p -- $(DESTDIR)/$(libdir)/systemd/system
++ test -d $(DESTDIR)/$(systemd_unitdir)/system || \
++ mkdir -p -- $(DESTDIR)/$(systemd_unitdir)/system
+ $(INSTALL_DATA) $(srcdir)/systemd/devmon@.service \
+- $(DESTDIR)/$(libdir)/systemd/system/devmon@.service
++ $(DESTDIR)/$(systemd_unitdir)/system/devmon@.service
+ endif
+--
+2.11.0
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb
new file mode 100644
index 000000000..60f84f8f9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb
@@ -0,0 +1,28 @@
+SUMMARY = "A command line Linux program which mounts and unmounts removable devices"
+HOMEPAGE = "http://ignorantguru.github.io/udevil/"
+
+DEPENDS = "glib-2.0 \
+ glib-2.0-native \
+ intltool-native \
+ udev \
+"
+RDEPENDS_${PN} = "udev bash"
+
+LICENSE = "GPL-3.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+inherit autotools systemd
+
+SRC_URI = "https://github.com/IgnorantGuru/udevil/raw/pkg/${PV}/udevil-${PV}.tar.xz \
+ file://0001-udevil-0.4.3-fix-compile-with-gcc6.patch \
+ file://0002-etc-Makefile.am-Use-systemd_unitdir-instead-of-libdi.patch \
+"
+
+SRC_URI[md5sum] = "dc1c489b603a0500a04dc7e1805ac1d9"
+SRC_URI[sha256sum] = "ce8c51fd4d589cda7be56e75b42188deeb258c66fc911a9b3a70a3945c157739"
+
+PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}"
+PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
+
+SYSTEMD_SERVICE_${PN} = "devmon@.service"
+SYSTEMD_AUTO_ENABLE = "disable"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0001-Include-fcntl.h-for-O_EXCL.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0001-Include-fcntl.h-for-O_EXCL.patch
new file mode 100644
index 000000000..660468d73
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0001-Include-fcntl.h-for-O_EXCL.patch
@@ -0,0 +1,28 @@
+From 8cf48da5f645dd7bbb1ccbeab5bb0964f40f17f7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Jul 2017 23:18:47 -0700
+Subject: [PATCH 1/5] Include fcntl.h for O_EXCL
+
+Fix
+error: 'O_CREAT' undeclared (first use in this function)
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ invutil/invidx.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/invutil/invidx.c b/invutil/invidx.c
+index 67efdf7..325a9a1 100644
+--- a/invutil/invidx.c
++++ b/invutil/invidx.c
+@@ -27,6 +27,7 @@
+ #include <sys/stat.h>
+ #include <string.h>
+ #include <uuid/uuid.h>
++#include <fcntl.h>
+
+ #include "types.h"
+ #include "mlog.h"
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0001-xfsdump-Use-c99-defined-int64_t-instead-of-__int64_t.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0001-xfsdump-Use-c99-defined-int64_t-instead-of-__int64_t.patch
new file mode 100644
index 000000000..1fe1bde8b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0001-xfsdump-Use-c99-defined-int64_t-instead-of-__int64_t.patch
@@ -0,0 +1,28 @@
+From f1e822d546e08cc195eaeb38ca172bd0c3800aa9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 9 Sep 2017 07:48:48 -0700
+Subject: [PATCH] xfsdump: Use c99 defined int64_t instead of __int64_t
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted
+
+ common/hsmapi.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/common/hsmapi.c b/common/hsmapi.c
+index 6054773..0709dbe 100644
+--- a/common/hsmapi.c
++++ b/common/hsmapi.c
+@@ -585,7 +585,7 @@ HsmModifyExtentMap(
+ struct getbmapx *bmap)
+ {
+ dmf_f_ctxt_t *dmf_f_ctxtp = (dmf_f_ctxt_t *)contextp;
+- __int64_t length;
++ int64_t length;
+
+ if (bmap[0].bmv_entries <= 0) {
+ return 1; /* caller must already be at EOF */
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0002-Replace-__uint32_t-with-uint32_t.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0002-Replace-__uint32_t-with-uint32_t.patch
new file mode 100644
index 000000000..ed3e0a9e9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0002-Replace-__uint32_t-with-uint32_t.patch
@@ -0,0 +1,122 @@
+From f76d2142905f0e5bd830d5d576c235af1171c6ac Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Jul 2017 23:23:31 -0700
+Subject: [PATCH 2/5] Replace __uint32_t with uint32_t
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ common/content_inode.h | 4 ++--
+ doc/xfsdump.html | 8 ++++----
+ inventory/inv_oref.h | 2 +-
+ inventory/inv_priv.h | 4 ++--
+ inventory/inventory.h | 2 +-
+ 5 files changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/common/content_inode.h b/common/content_inode.h
+index a69a9a0..6936e05 100644
+--- a/common/content_inode.h
++++ b/common/content_inode.h
+@@ -191,10 +191,10 @@ typedef struct bstat bstat_t;
+ * and using two 16bit values to hold new 32bit projid was choosen
+ * to retain compatibility with "old" filesystems).
+ */
+-static inline __uint32_t
++static inline uint32_t
+ bstat_projid(struct bstat *bs)
+ {
+- return (__uint32_t)bs->bs_projid_hi << 16 | bs->bs_projid_lo;
++ return (uint32_t)bs->bs_projid_hi << 16 | bs->bs_projid_lo;
+ }
+
+
+diff --git a/doc/xfsdump.html b/doc/xfsdump.html
+index 9c6722e..f85128f 100644
+--- a/doc/xfsdump.html
++++ b/doc/xfsdump.html
+@@ -1935,7 +1935,7 @@ The files are constructed like so:
+ <pre>
+ typedef struct invt_counter {
+ INVT_COUNTER_FIELDS
+- __uint32_t ic_vernum;/* on disk version number for posterity */\
++ uint32_t ic_vernum;/* on disk version number for posterity */\
+ u_int ic_curnum;/* number of sessions/invindices recorded \
+ so far */ \
+ u_int ic_maxnum;/* maximum number of sessions/inv_indices \
+@@ -1975,7 +1975,7 @@ typedef struct invt_fstab {
+ <pre>
+ typedef struct invt_counter {
+ INVT_COUNTER_FIELDS
+- __uint32_t ic_vernum;/* on disk version number for posterity */\
++ uint32_t ic_vernum;/* on disk version number for posterity */\
+ u_int ic_curnum;/* number of sessions/invindices recorded \
+ so far */ \
+ u_int ic_maxnum;/* maximum number of sessions/inv_indices \
+@@ -2012,7 +2012,7 @@ typedef struct invt_entry {
+ <pre>
+ typedef struct invt_sescounter {
+ INVT_COUNTER_FIELDS
+- __uint32_t ic_vernum;/* on disk version number for posterity */\
++ uint32_t ic_vernum;/* on disk version number for posterity */\
+ u_int ic_curnum;/* number of sessions/invindices recorded \
+ so far */ \
+ u_int ic_maxnum;/* maximum number of sessions/inv_indices \
+@@ -2034,7 +2034,7 @@ typedef struct invt_seshdr {
+ off64_t sh_streams_off; /* offset to start of the set of
+ stream hdrs */
+ time_t sh_time; /* time of the dump */
+- __uint32_t sh_flag; /* for misc flags */
++ uint32_t sh_flag; /* for misc flags */
+ u_char sh_level; /* dump level */
+ u_char sh_pruned; /* pruned by invutil flag */
+ char sh_padding[22];
+diff --git a/inventory/inv_oref.h b/inventory/inv_oref.h
+index e16684d..38303a4 100644
+--- a/inventory/inv_oref.h
++++ b/inventory/inv_oref.h
+@@ -46,7 +46,7 @@
+
+
+
+-typedef __uint32_t invt_objtype_t;
++typedef uint32_t invt_objtype_t;
+
+ #define INVT_LOCKED 0x0001
+
+diff --git a/inventory/inv_priv.h b/inventory/inv_priv.h
+index 1690271..364ffbc 100644
+--- a/inventory/inv_priv.h
++++ b/inventory/inv_priv.h
+@@ -120,7 +120,7 @@ typedef struct invt_seshdr {
+ off64_t sh_streams_off; /* offset to start of the set of
+ stream hdrs */
+ time32_t sh_time; /* time of the dump */
+- __uint32_t sh_flag; /* for misc flags */
++ uint32_t sh_flag; /* for misc flags */
+ u_char sh_level; /* dump level */
+ u_char sh_pruned; /* pruned by invutil flag */
+ char sh_padding[22];
+@@ -184,7 +184,7 @@ typedef struct invt_entry {
+
+ /* Cheap Inheritance, and an attempt to avoid a nested type */
+ #define INVT_COUNTER_FIELDS \
+- __uint32_t ic_vernum;/* on disk version number for posterity */\
++ uint32_t ic_vernum;/* on disk version number for posterity */\
+ uint ic_curnum;/* number of sessions/invindices recorded \
+ so far */ \
+ uint ic_maxnum;/* maximum number of sessions/inv_indices \
+diff --git a/inventory/inventory.h b/inventory/inventory.h
+index 134b9ba..c1d7403 100644
+--- a/inventory/inventory.h
++++ b/inventory/inventory.h
+@@ -43,7 +43,7 @@
+ /* length of labels, mntpts, etc */
+ #define INV_STRLEN GLOBAL_HDR_STRING_SZ
+
+-typedef __uint32_t inv_version_t;
++typedef uint32_t inv_version_t;
+
+ /* This is the general inventory version.
+ */
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0003-replace-use-of-SIGCLD-with-SIGCHLD.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0003-replace-use-of-SIGCLD-with-SIGCHLD.patch
new file mode 100644
index 000000000..31303d8fa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0003-replace-use-of-SIGCLD-with-SIGCHLD.patch
@@ -0,0 +1,40 @@
+From fcc0cf15a309947103a0695b8a1f4865b820eb5c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Jul 2017 23:26:03 -0700
+Subject: [PATCH 3/5] replace use of SIGCLD with SIGCHLD
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ common/main.c | 2 +-
+ doc/xfsdump.html | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/common/main.c b/common/main.c
+index 3848499..faa66ee 100644
+--- a/common/main.c
++++ b/common/main.c
+@@ -2225,7 +2225,7 @@ static sig_printmap_t sig_printmap[ ] = {
+ {SIGTERM, "SIGTERM"},
+ {SIGUSR1, "SIGUSR1"},
+ {SIGUSR2, "SIGUSR2"},
+- {SIGCLD, "SIGCLD"},
++ {SIGCHLD, "SIGCHLD"},
+ {SIGPWR, "SIGPWR"},
+ {SIGURG, "SIGURG"},
+ {SIGPOLL, "SIGPOLL"},
+diff --git a/doc/xfsdump.html b/doc/xfsdump.html
+index f85128f..d96f037 100644
+--- a/doc/xfsdump.html
++++ b/doc/xfsdump.html
+@@ -334,7 +334,7 @@ the ring buffer. It ignores signals and does not terminate until it
+ receives a RING_OP_DIE message. It then exits 0.
+ <p>
+ The main process sleeps waiting for any of its children to die
+-(ie. waiting for a SIGCLD). All children that it cares about (stream
++(ie. waiting for a SIGCHLD). All children that it cares about (stream
+ managers and ring buffer slaves) are registered through the child
+ manager abstraction. When a child dies wait status and other info is
+ stored with its entry in the child manager. main() ignores the deaths
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0004-include-limit.h-for-PATH_MAX.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0004-include-limit.h-for-PATH_MAX.patch
new file mode 100644
index 000000000..62ea15b86
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0004-include-limit.h-for-PATH_MAX.patch
@@ -0,0 +1,29 @@
+From 98c7d96f0f2c6eddf60aa4a1a08d7d4467645930 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Jul 2017 23:28:10 -0700
+Subject: [PATCH 4/5] include limit.h for PATH_MAX
+
+fixed
+var.c:42:12: error: 'PATH_MAX' undeclared (first use in this function); did you mean 'RAND_MAX'?
+ char path[PATH_MAX];`
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ dump/var.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/dump/var.c b/dump/var.c
+index 645caab..8156d37 100644
+--- a/dump/var.c
++++ b/dump/var.c
+@@ -16,6 +16,7 @@
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
++#include <limits.h>
+ #include <unistd.h>
+ #include <stdlib.h>
+ #include <sys/stat.h>
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0005-include-sys-types.h-for-u_int32_t-in-attr-attributes.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0005-include-sys-types.h-for-u_int32_t-in-attr-attributes.patch
new file mode 100644
index 000000000..fb6e467c9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0005-include-sys-types.h-for-u_int32_t-in-attr-attributes.patch
@@ -0,0 +1,27 @@
+From d95f494de1aa8123c74170ffebaed8ea89649da2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Jul 2017 23:33:44 -0700
+Subject: [PATCH 5/5] include sys/types.h for u_int32_t in attr/attributes.h
+
+error: unknown type name 'u_int32_t'
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ restore/content.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/restore/content.c b/restore/content.c
+index 7c4a81f..1d5de1b 100644
+--- a/restore/content.c
++++ b/restore/content.c
+@@ -24,6 +24,7 @@
+ #include <sys/param.h>
+ #include <sys/stat.h>
+ #include <sys/ioctl.h>
++#include <sys/types.h>
+ #include <attr/attributes.h>
+ #include <xfs/handle.h>
+ #include <time.h>
+--
+2.13.2
+
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
deleted file mode 100644
index d5ad0b0b2..000000000
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.4.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-SUMMARY = "XFS Filesystem Dump Utility"
-DESCRIPTION = "The xfsdump package contains xfsdump, xfsrestore and a \
- number of other utilities for administering XFS filesystems.\
- xfsdump examines files in a filesystem, determines which \
- need to be backed up, and copies those files to a \
- specified disk, tape or other storage medium."
-HOMEPAGE = "http://oss.sgi.com/projects/xfs"
-SECTION = "base"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://doc/COPYING;md5=15c832894d10ddd00dfcf57bee490ecc"
-DEPENDS = "xfsprogs attr"
-
-SRC_URI = "ftp://oss.sgi.com/projects/xfs/cmd_tars/${BPN}-${PV}.tar.gz \
- file://remove-install-as-user.patch \
-"
-SRC_URI[md5sum] = "a8b1761be5feb363131e7b506639ad4c"
-SRC_URI[sha256sum] = "570eafd0721515bdd79cb0e295b701d49cdf81e71a0a0ff0df6d4c5cc1960943"
-
-inherit autotools-brokensep
-
-PARALLEL_MAKE = ""
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[gettext] = "--enable-gettext=yes,--enable-gettext=no,gettext"
-
-EXTRA_OEMAKE += "'LIBTOOL=${HOST_SYS}-libtool' V=1"
-
-do_configure () {
- export DEBUG="-DNDEBUG"
- oe_runconf
-}
-
-do_install () {
- export DIST_ROOT=${D}
- oe_runmake install
- oe_runmake install-dev
-}
-
-PNBLACKLIST[xfsdump] ?= "Depends on broken xfsprogs - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.7.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.7.bb
new file mode 100644
index 000000000..0ac991b23
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.7.bb
@@ -0,0 +1,44 @@
+SUMMARY = "XFS Filesystem Dump Utility"
+DESCRIPTION = "The xfsdump package contains xfsdump, xfsrestore and a \
+ number of other utilities for administering XFS filesystems.\
+ xfsdump examines files in a filesystem, determines which \
+ need to be backed up, and copies those files to a \
+ specified disk, tape or other storage medium."
+HOMEPAGE = "http://oss.sgi.com/projects/xfs"
+SECTION = "base"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://doc/COPYING;md5=15c832894d10ddd00dfcf57bee490ecc"
+DEPENDS = "xfsprogs attr"
+
+SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsdump/${BP}.tar.xz \
+ file://remove-install-as-user.patch \
+ file://0001-Include-fcntl.h-for-O_EXCL.patch \
+ file://0002-Replace-__uint32_t-with-uint32_t.patch \
+ file://0003-replace-use-of-SIGCLD-with-SIGCHLD.patch \
+ file://0004-include-limit.h-for-PATH_MAX.patch \
+ file://0005-include-sys-types.h-for-u_int32_t-in-attr-attributes.patch \
+ file://0001-xfsdump-Use-c99-defined-int64_t-instead-of-__int64_t.patch \
+ "
+SRC_URI[md5sum] = "c6e91f2ac8b76c796db2d236f5ca5947"
+SRC_URI[sha256sum] = "99e6d4df257ebc6d29ca9e970ca20672c2ea03481ad949bc68f98de3e4d56dce"
+
+inherit autotools-brokensep
+
+PARALLEL_MAKE = ""
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[gettext] = "--enable-gettext=yes,--enable-gettext=no,gettext"
+
+CFLAGS += "-D_FILE_OFFSET_BITS=64"
+
+EXTRA_OEMAKE += "'LIBTOOL=${HOST_SYS}-libtool' V=1"
+
+do_configure () {
+ export DEBUG="-DNDEBUG"
+ oe_runconf
+}
+
+do_install () {
+ export DIST_ROOT=${D}
+ oe_runmake install
+ oe_runmake install-dev
+}
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-xfs-remove-double-underscore-integer-types.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-xfs-remove-double-underscore-integer-types.patch
new file mode 100644
index 000000000..a47c48707
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-xfs-remove-double-underscore-integer-types.patch
@@ -0,0 +1,2082 @@
+From 4a492e72515509ee702286a42afe7d8f89d37636 Mon Sep 17 00:00:00 2001
+From: "Darrick J. Wong" <darrick.wong@oracle.com>
+Date: Mon, 31 Jul 2017 15:08:10 -0500
+Subject: [PATCH] xfs: remove double-underscore integer types
+
+Source kernel commit: c8ce540db5f67d254aafb14b5d76422c62a906df
+
+This is a purely mechanical patch that removes the private
+__{u,}int{8,16,32,64}_t typedefs in favor of using the system
+{u,}int{8,16,32,64}_t typedefs. This is the sed script used to perform
+the transformation and fix the resulting whitespace and indentation
+errors:
+
+s/typedef\t__uint8_t/typedef __uint8_t\t/g
+s/typedef\t__uint/typedef __uint/g
+s/typedef\t__int\([0-9]*\)_t/typedef int\1_t\t/g
+s/__uint8_t\t/__uint8_t\t\t/g
+s/__uint/uint/g
+s/__int\([0-9]*\)_t\t/__int\1_t\t\t/g
+s/__int/int/g
+/^typedef.*int[0-9]*_t;$/d
+
+Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
+Reviewed-by: Christoph Hellwig <hch@lst.de>
+Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
+---
+ libxfs/libxfs_priv.h | 1 +
+ libxfs/xfs_alloc_btree.c | 20 ++--
+ libxfs/xfs_attr_remote.c | 8 +-
+ libxfs/xfs_attr_sf.h | 10 +-
+ libxfs/xfs_bit.h | 24 ++---
+ libxfs/xfs_bmap_btree.c | 8 +-
+ libxfs/xfs_btree.c | 22 ++--
+ libxfs/xfs_btree.h | 18 ++--
+ libxfs/xfs_cksum.h | 16 +--
+ libxfs/xfs_da_btree.c | 2 +-
+ libxfs/xfs_da_btree.h | 8 +-
+ libxfs/xfs_da_format.c | 28 ++---
+ libxfs/xfs_da_format.h | 64 +++++------
+ libxfs/xfs_dir2.h | 8 +-
+ libxfs/xfs_dir2_leaf.c | 12 +--
+ libxfs/xfs_dir2_priv.h | 2 +-
+ libxfs/xfs_dir2_sf.c | 4 +-
+ libxfs/xfs_format.h | 112 +++++++++----------
+ libxfs/xfs_fs.h | 12 +--
+ libxfs/xfs_ialloc.c | 6 +-
+ libxfs/xfs_ialloc_btree.c | 4 +-
+ libxfs/xfs_inode_buf.c | 2 +-
+ libxfs/xfs_inode_buf.h | 28 ++---
+ libxfs/xfs_log_format.h | 256 ++++++++++++++++++++++----------------------
+ libxfs/xfs_quota_defs.h | 4 +-
+ libxfs/xfs_refcount_btree.c | 8 +-
+ libxfs/xfs_rmap.c | 8 +-
+ libxfs/xfs_rmap.h | 8 +-
+ libxfs/xfs_rmap_btree.c | 30 +++---
+ libxfs/xfs_rtbitmap.c | 2 +-
+ libxfs/xfs_sb.c | 4 +-
+ libxfs/xfs_types.h | 46 ++++----
+ 32 files changed, 393 insertions(+), 392 deletions(-)
+
+diff --git a/libxfs/libxfs_priv.h b/libxfs/libxfs_priv.h
+index 0b4c4890..b3cc7e53 100644
+--- a/libxfs/libxfs_priv.h
++++ b/libxfs/libxfs_priv.h
+@@ -504,5 +504,6 @@ bool xfs_log_check_lsn(struct xfs_mount *, xfs_lsn_t);
+ #define XFS_STATS_INC_OFF(mp, off)
+ #define XFS_STATS_ADD_OFF(mp, off, val)
+
++typedef unsigned char u8;
+
+ #endif /* __LIBXFS_INTERNAL_XFS_H__ */
+diff --git a/libxfs/xfs_alloc_btree.c b/libxfs/xfs_alloc_btree.c
+index e11d89a3..8e77e6e3 100644
+--- a/libxfs/xfs_alloc_btree.c
++++ b/libxfs/xfs_alloc_btree.c
+@@ -251,7 +251,7 @@ xfs_allocbt_init_ptr_from_cur(
+ ptr->s = agf->agf_roots[cur->bc_btnum];
+ }
+
+-STATIC __int64_t
++STATIC int64_t
+ xfs_bnobt_key_diff(
+ struct xfs_btree_cur *cur,
+ union xfs_btree_key *key)
+@@ -259,42 +259,42 @@ xfs_bnobt_key_diff(
+ xfs_alloc_rec_incore_t *rec = &cur->bc_rec.a;
+ xfs_alloc_key_t *kp = &key->alloc;
+
+- return (__int64_t)be32_to_cpu(kp->ar_startblock) - rec->ar_startblock;
++ return (int64_t)be32_to_cpu(kp->ar_startblock) - rec->ar_startblock;
+ }
+
+-STATIC __int64_t
++STATIC int64_t
+ xfs_cntbt_key_diff(
+ struct xfs_btree_cur *cur,
+ union xfs_btree_key *key)
+ {
+ xfs_alloc_rec_incore_t *rec = &cur->bc_rec.a;
+ xfs_alloc_key_t *kp = &key->alloc;
+- __int64_t diff;
++ int64_t diff;
+
+- diff = (__int64_t)be32_to_cpu(kp->ar_blockcount) - rec->ar_blockcount;
++ diff = (int64_t)be32_to_cpu(kp->ar_blockcount) - rec->ar_blockcount;
+ if (diff)
+ return diff;
+
+- return (__int64_t)be32_to_cpu(kp->ar_startblock) - rec->ar_startblock;
++ return (int64_t)be32_to_cpu(kp->ar_startblock) - rec->ar_startblock;
+ }
+
+-STATIC __int64_t
++STATIC int64_t
+ xfs_bnobt_diff_two_keys(
+ struct xfs_btree_cur *cur,
+ union xfs_btree_key *k1,
+ union xfs_btree_key *k2)
+ {
+- return (__int64_t)be32_to_cpu(k1->alloc.ar_startblock) -
++ return (int64_t)be32_to_cpu(k1->alloc.ar_startblock) -
+ be32_to_cpu(k2->alloc.ar_startblock);
+ }
+
+-STATIC __int64_t
++STATIC int64_t
+ xfs_cntbt_diff_two_keys(
+ struct xfs_btree_cur *cur,
+ union xfs_btree_key *k1,
+ union xfs_btree_key *k2)
+ {
+- __int64_t diff;
++ int64_t diff;
+
+ diff = be32_to_cpu(k1->alloc.ar_blockcount) -
+ be32_to_cpu(k2->alloc.ar_blockcount);
+diff --git a/libxfs/xfs_attr_remote.c b/libxfs/xfs_attr_remote.c
+index abe17052..1f25e363 100644
+--- a/libxfs/xfs_attr_remote.c
++++ b/libxfs/xfs_attr_remote.c
+@@ -248,7 +248,7 @@ xfs_attr_rmtval_copyout(
+ xfs_ino_t ino,
+ int *offset,
+ int *valuelen,
+- __uint8_t **dst)
++ uint8_t **dst)
+ {
+ char *src = bp->b_addr;
+ xfs_daddr_t bno = bp->b_bn;
+@@ -296,7 +296,7 @@ xfs_attr_rmtval_copyin(
+ xfs_ino_t ino,
+ int *offset,
+ int *valuelen,
+- __uint8_t **src)
++ uint8_t **src)
+ {
+ char *dst = bp->b_addr;
+ xfs_daddr_t bno = bp->b_bn;
+@@ -350,7 +350,7 @@ xfs_attr_rmtval_get(
+ struct xfs_mount *mp = args->dp->i_mount;
+ struct xfs_buf *bp;
+ xfs_dablk_t lblkno = args->rmtblkno;
+- __uint8_t *dst = args->value;
++ uint8_t *dst = args->value;
+ int valuelen;
+ int nmap;
+ int error;
+@@ -416,7 +416,7 @@ xfs_attr_rmtval_set(
+ struct xfs_bmbt_irec map;
+ xfs_dablk_t lblkno;
+ xfs_fileoff_t lfileoff = 0;
+- __uint8_t *src = args->value;
++ uint8_t *src = args->value;
+ int blkcnt;
+ int valuelen;
+ int nmap;
+diff --git a/libxfs/xfs_attr_sf.h b/libxfs/xfs_attr_sf.h
+index 90928bbe..afd684ae 100644
+--- a/libxfs/xfs_attr_sf.h
++++ b/libxfs/xfs_attr_sf.h
+@@ -31,10 +31,10 @@ typedef struct xfs_attr_sf_entry xfs_attr_sf_entry_t;
+ * We generate this then sort it, attr_list() must return things in hash-order.
+ */
+ typedef struct xfs_attr_sf_sort {
+- __uint8_t entno; /* entry number in original list */
+- __uint8_t namelen; /* length of name value (no null) */
+- __uint8_t valuelen; /* length of value */
+- __uint8_t flags; /* flags bits (see xfs_attr_leaf.h) */
++ uint8_t entno; /* entry number in original list */
++ uint8_t namelen; /* length of name value (no null) */
++ uint8_t valuelen; /* length of value */
++ uint8_t flags; /* flags bits (see xfs_attr_leaf.h) */
+ xfs_dahash_t hash; /* this entry's hash value */
+ unsigned char *name; /* name value, pointer into buffer */
+ } xfs_attr_sf_sort_t;
+@@ -42,7 +42,7 @@ typedef struct xfs_attr_sf_sort {
+ #define XFS_ATTR_SF_ENTSIZE_BYNAME(nlen,vlen) /* space name/value uses */ \
+ (((int)sizeof(xfs_attr_sf_entry_t)-1 + (nlen)+(vlen)))
+ #define XFS_ATTR_SF_ENTSIZE_MAX /* max space for name&value */ \
+- ((1 << (NBBY*(int)sizeof(__uint8_t))) - 1)
++ ((1 << (NBBY*(int)sizeof(uint8_t))) - 1)
+ #define XFS_ATTR_SF_ENTSIZE(sfep) /* space an entry uses */ \
+ ((int)sizeof(xfs_attr_sf_entry_t)-1 + (sfep)->namelen+(sfep)->valuelen)
+ #define XFS_ATTR_SF_NEXTENTRY(sfep) /* next entry in struct */ \
+diff --git a/libxfs/xfs_bit.h b/libxfs/xfs_bit.h
+index e1649c0d..61c6b202 100644
+--- a/libxfs/xfs_bit.h
++++ b/libxfs/xfs_bit.h
+@@ -25,47 +25,47 @@
+ /*
+ * masks with n high/low bits set, 64-bit values
+ */
+-static inline __uint64_t xfs_mask64hi(int n)
++static inline uint64_t xfs_mask64hi(int n)
+ {
+- return (__uint64_t)-1 << (64 - (n));
++ return (uint64_t)-1 << (64 - (n));
+ }
+-static inline __uint32_t xfs_mask32lo(int n)
++static inline uint32_t xfs_mask32lo(int n)
+ {
+- return ((__uint32_t)1 << (n)) - 1;
++ return ((uint32_t)1 << (n)) - 1;
+ }
+-static inline __uint64_t xfs_mask64lo(int n)
++static inline uint64_t xfs_mask64lo(int n)
+ {
+- return ((__uint64_t)1 << (n)) - 1;
++ return ((uint64_t)1 << (n)) - 1;
+ }
+
+ /* Get high bit set out of 32-bit argument, -1 if none set */
+-static inline int xfs_highbit32(__uint32_t v)
++static inline int xfs_highbit32(uint32_t v)
+ {
+ return fls(v) - 1;
+ }
+
+ /* Get high bit set out of 64-bit argument, -1 if none set */
+-static inline int xfs_highbit64(__uint64_t v)
++static inline int xfs_highbit64(uint64_t v)
+ {
+ return fls64(v) - 1;
+ }
+
+ /* Get low bit set out of 32-bit argument, -1 if none set */
+-static inline int xfs_lowbit32(__uint32_t v)
++static inline int xfs_lowbit32(uint32_t v)
+ {
+ return ffs(v) - 1;
+ }
+
+ /* Get low bit set out of 64-bit argument, -1 if none set */
+-static inline int xfs_lowbit64(__uint64_t v)
++static inline int xfs_lowbit64(uint64_t v)
+ {
+- __uint32_t w = (__uint32_t)v;
++ uint32_t w = (uint32_t)v;
+ int n = 0;
+
+ if (w) { /* lower bits */
+ n = ffs(w);
+ } else { /* upper bits */
+- w = (__uint32_t)(v >> 32);
++ w = (uint32_t)(v >> 32);
+ if (w) {
+ n = ffs(w);
+ if (n)
+diff --git a/libxfs/xfs_bmap_btree.c b/libxfs/xfs_bmap_btree.c
+index c48cbec1..9ee40d8b 100644
+--- a/libxfs/xfs_bmap_btree.c
++++ b/libxfs/xfs_bmap_btree.c
+@@ -91,8 +91,8 @@ xfs_bmdr_to_bmbt(
+ */
+ STATIC void
+ __xfs_bmbt_get_all(
+- __uint64_t l0,
+- __uint64_t l1,
++ uint64_t l0,
++ uint64_t l1,
+ xfs_bmbt_irec_t *s)
+ {
+ int ext_flag;
+@@ -585,12 +585,12 @@ xfs_bmbt_init_ptr_from_cur(
+ ptr->l = 0;
+ }
+
+-STATIC __int64_t
++STATIC int64_t
+ xfs_bmbt_key_diff(
+ struct xfs_btree_cur *cur,
+ union xfs_btree_key *key)
+ {
+- return (__int64_t)be64_to_cpu(key->bmbt.br_startoff) -
++ return (int64_t)be64_to_cpu(key->bmbt.br_startoff) -
+ cur->bc_rec.b.br_startoff;
+ }
+
+diff --git a/libxfs/xfs_btree.c b/libxfs/xfs_btree.c
+index 3d293520..56b50a5b 100644
+--- a/libxfs/xfs_btree.c
++++ b/libxfs/xfs_btree.c
+@@ -39,7 +39,7 @@ kmem_zone_t *xfs_btree_cur_zone;
+ /*
+ * Btree magic numbers.
+ */
+-static const __uint32_t xfs_magics[2][XFS_BTNUM_MAX] = {
++static const uint32_t xfs_magics[2][XFS_BTNUM_MAX] = {
+ { XFS_ABTB_MAGIC, XFS_ABTC_MAGIC, 0, XFS_BMAP_MAGIC, XFS_IBT_MAGIC,
+ XFS_FIBT_MAGIC, 0 },
+ { XFS_ABTB_CRC_MAGIC, XFS_ABTC_CRC_MAGIC, XFS_RMAP_CRC_MAGIC,
+@@ -47,12 +47,12 @@ static const __uint32_t xfs_magics[2][XFS_BTNUM_MAX] = {
+ XFS_REFC_CRC_MAGIC }
+ };
+
+-__uint32_t
++uint32_t
+ xfs_btree_magic(
+ int crc,
+ xfs_btnum_t btnum)
+ {
+- __uint32_t magic = xfs_magics[crc][btnum];
++ uint32_t magic = xfs_magics[crc][btnum];
+
+ /* Ensure we asked for crc for crc-only magics. */
+ ASSERT(magic != 0);
+@@ -774,14 +774,14 @@ xfs_btree_lastrec(
+ */
+ void
+ xfs_btree_offsets(
+- __int64_t fields, /* bitmask of fields */
++ int64_t fields, /* bitmask of fields */
+ const short *offsets, /* table of field offsets */
+ int nbits, /* number of bits to inspect */
+ int *first, /* output: first byte offset */
+ int *last) /* output: last byte offset */
+ {
+ int i; /* current bit number */
+- __int64_t imask; /* mask for current bit number */
++ int64_t imask; /* mask for current bit number */
+
+ ASSERT(fields != 0);
+ /*
+@@ -1842,7 +1842,7 @@ xfs_btree_lookup(
+ int *stat) /* success/failure */
+ {
+ struct xfs_btree_block *block; /* current btree block */
+- __int64_t diff; /* difference for the current key */
++ int64_t diff; /* difference for the current key */
+ int error; /* error return value */
+ int keyno; /* current key number */
+ int level; /* level in the btree */
+@@ -4435,7 +4435,7 @@ xfs_btree_visit_blocks(
+ * recovery completion writes the changes to disk.
+ */
+ struct xfs_btree_block_change_owner_info {
+- __uint64_t new_owner;
++ uint64_t new_owner;
+ struct list_head *buffer_list;
+ };
+
+@@ -4481,7 +4481,7 @@ xfs_btree_block_change_owner(
+ int
+ xfs_btree_change_owner(
+ struct xfs_btree_cur *cur,
+- __uint64_t new_owner,
++ uint64_t new_owner,
+ struct list_head *buffer_list)
+ {
+ struct xfs_btree_block_change_owner_info bbcoi;
+@@ -4585,7 +4585,7 @@ xfs_btree_simple_query_range(
+ {
+ union xfs_btree_rec *recp;
+ union xfs_btree_key rec_key;
+- __int64_t diff;
++ int64_t diff;
+ int stat;
+ bool firstrec = true;
+ int error;
+@@ -4682,8 +4682,8 @@ xfs_btree_overlapped_query_range(
+ union xfs_btree_key *hkp;
+ union xfs_btree_rec *recp;
+ struct xfs_btree_block *block;
+- __int64_t ldiff;
+- __int64_t hdiff;
++ int64_t ldiff;
++ int64_t hdiff;
+ int level;
+ struct xfs_buf *bp;
+ int i;
+diff --git a/libxfs/xfs_btree.h b/libxfs/xfs_btree.h
+index 05cf35b5..3c1fed23 100644
+--- a/libxfs/xfs_btree.h
++++ b/libxfs/xfs_btree.h
+@@ -76,7 +76,7 @@ union xfs_btree_rec {
+ #define XFS_BTNUM_RMAP ((xfs_btnum_t)XFS_BTNUM_RMAPi)
+ #define XFS_BTNUM_REFC ((xfs_btnum_t)XFS_BTNUM_REFCi)
+
+-__uint32_t xfs_btree_magic(int crc, xfs_btnum_t btnum);
++uint32_t xfs_btree_magic(int crc, xfs_btnum_t btnum);
+
+ /*
+ * For logging record fields.
+@@ -150,14 +150,14 @@ struct xfs_btree_ops {
+ union xfs_btree_rec *rec);
+
+ /* difference between key value and cursor value */
+- __int64_t (*key_diff)(struct xfs_btree_cur *cur,
++ int64_t (*key_diff)(struct xfs_btree_cur *cur,
+ union xfs_btree_key *key);
+
+ /*
+ * Difference between key2 and key1 -- positive if key1 > key2,
+ * negative if key1 < key2, and zero if equal.
+ */
+- __int64_t (*diff_two_keys)(struct xfs_btree_cur *cur,
++ int64_t (*diff_two_keys)(struct xfs_btree_cur *cur,
+ union xfs_btree_key *key1,
+ union xfs_btree_key *key2);
+
+@@ -213,11 +213,11 @@ typedef struct xfs_btree_cur
+ union xfs_btree_irec bc_rec; /* current insert/search record value */
+ struct xfs_buf *bc_bufs[XFS_BTREE_MAXLEVELS]; /* buf ptr per level */
+ int bc_ptrs[XFS_BTREE_MAXLEVELS]; /* key/record # */
+- __uint8_t bc_ra[XFS_BTREE_MAXLEVELS]; /* readahead bits */
++ uint8_t bc_ra[XFS_BTREE_MAXLEVELS]; /* readahead bits */
+ #define XFS_BTCUR_LEFTRA 1 /* left sibling has been read-ahead */
+ #define XFS_BTCUR_RIGHTRA 2 /* right sibling has been read-ahead */
+- __uint8_t bc_nlevels; /* number of levels in the tree */
+- __uint8_t bc_blocklog; /* log2(blocksize) of btree blocks */
++ uint8_t bc_nlevels; /* number of levels in the tree */
++ uint8_t bc_blocklog; /* log2(blocksize) of btree blocks */
+ xfs_btnum_t bc_btnum; /* identifies which btree type */
+ int bc_statoff; /* offset of btre stats array */
+ union {
+@@ -330,7 +330,7 @@ xfs_btree_islastblock(
+ */
+ void
+ xfs_btree_offsets(
+- __int64_t fields, /* bitmask of fields */
++ int64_t fields, /* bitmask of fields */
+ const short *offsets,/* table of field offsets */
+ int nbits, /* number of bits to inspect */
+ int *first, /* output: first byte offset */
+@@ -408,7 +408,7 @@ int xfs_btree_new_iroot(struct xfs_btree_cur *, int *, int *);
+ int xfs_btree_insert(struct xfs_btree_cur *, int *);
+ int xfs_btree_delete(struct xfs_btree_cur *, int *);
+ int xfs_btree_get_rec(struct xfs_btree_cur *, union xfs_btree_rec **, int *);
+-int xfs_btree_change_owner(struct xfs_btree_cur *cur, __uint64_t new_owner,
++int xfs_btree_change_owner(struct xfs_btree_cur *cur, uint64_t new_owner,
+ struct list_head *buffer_list);
+
+ /*
+@@ -434,7 +434,7 @@ static inline int xfs_btree_get_numrecs(struct xfs_btree_block *block)
+ }
+
+ static inline void xfs_btree_set_numrecs(struct xfs_btree_block *block,
+- __uint16_t numrecs)
++ uint16_t numrecs)
+ {
+ block->bb_numrecs = cpu_to_be16(numrecs);
+ }
+diff --git a/libxfs/xfs_cksum.h b/libxfs/xfs_cksum.h
+index a416c7cb..8211f48b 100644
+--- a/libxfs/xfs_cksum.h
++++ b/libxfs/xfs_cksum.h
+@@ -1,7 +1,7 @@
+ #ifndef _XFS_CKSUM_H
+ #define _XFS_CKSUM_H 1
+
+-#define XFS_CRC_SEED (~(__uint32_t)0)
++#define XFS_CRC_SEED (~(uint32_t)0)
+
+ /*
+ * Calculate the intermediate checksum for a buffer that has the CRC field
+@@ -9,11 +9,11 @@
+ * cksum_offset parameter. We do not modify the buffer during verification,
+ * hence we have to split the CRC calculation across the cksum_offset.
+ */
+-static inline __uint32_t
++static inline uint32_t
+ xfs_start_cksum_safe(char *buffer, size_t length, unsigned long cksum_offset)
+ {
+- __uint32_t zero = 0;
+- __uint32_t crc;
++ uint32_t zero = 0;
++ uint32_t crc;
+
+ /* Calculate CRC up to the checksum. */
+ crc = crc32c(XFS_CRC_SEED, buffer, cksum_offset);
+@@ -30,7 +30,7 @@ xfs_start_cksum_safe(char *buffer, size_t length, unsigned long cksum_offset)
+ * Fast CRC method where the buffer is modified. Callers must have exclusive
+ * access to the buffer while the calculation takes place.
+ */
+-static inline __uint32_t
++static inline uint32_t
+ xfs_start_cksum_update(char *buffer, size_t length, unsigned long cksum_offset)
+ {
+ /* zero the CRC field */
+@@ -48,7 +48,7 @@ xfs_start_cksum_update(char *buffer, size_t length, unsigned long cksum_offset)
+ * so that it is consistent on disk.
+ */
+ static inline __le32
+-xfs_end_cksum(__uint32_t crc)
++xfs_end_cksum(uint32_t crc)
+ {
+ return ~cpu_to_le32(crc);
+ }
+@@ -62,7 +62,7 @@ xfs_end_cksum(__uint32_t crc)
+ static inline void
+ xfs_update_cksum(char *buffer, size_t length, unsigned long cksum_offset)
+ {
+- __uint32_t crc = xfs_start_cksum_update(buffer, length, cksum_offset);
++ uint32_t crc = xfs_start_cksum_update(buffer, length, cksum_offset);
+
+ *(__le32 *)(buffer + cksum_offset) = xfs_end_cksum(crc);
+ }
+@@ -73,7 +73,7 @@ xfs_update_cksum(char *buffer, size_t length, unsigned long cksum_offset)
+ static inline int
+ xfs_verify_cksum(char *buffer, size_t length, unsigned long cksum_offset)
+ {
+- __uint32_t crc = xfs_start_cksum_safe(buffer, length, cksum_offset);
++ uint32_t crc = xfs_start_cksum_safe(buffer, length, cksum_offset);
+
+ return *(__le32 *)(buffer + cksum_offset) == xfs_end_cksum(crc);
+ }
+diff --git a/libxfs/xfs_da_btree.c b/libxfs/xfs_da_btree.c
+index bc12f58f..08447be8 100644
+--- a/libxfs/xfs_da_btree.c
++++ b/libxfs/xfs_da_btree.c
+@@ -1947,7 +1947,7 @@ xfs_da3_path_shift(
+ * This is implemented with some source-level loop unrolling.
+ */
+ xfs_dahash_t
+-xfs_da_hashname(const __uint8_t *name, int namelen)
++xfs_da_hashname(const uint8_t *name, int namelen)
+ {
+ xfs_dahash_t hash;
+
+diff --git a/libxfs/xfs_da_btree.h b/libxfs/xfs_da_btree.h
+index 4e29cb6a..ae6de174 100644
+--- a/libxfs/xfs_da_btree.h
++++ b/libxfs/xfs_da_btree.h
+@@ -60,10 +60,10 @@ enum xfs_dacmp {
+ */
+ typedef struct xfs_da_args {
+ struct xfs_da_geometry *geo; /* da block geometry */
+- const __uint8_t *name; /* string (maybe not NULL terminated) */
++ const uint8_t *name; /* string (maybe not NULL terminated) */
+ int namelen; /* length of string (maybe no NULL) */
+- __uint8_t filetype; /* filetype of inode for directories */
+- __uint8_t *value; /* set of bytes (maybe contain NULLs) */
++ uint8_t filetype; /* filetype of inode for directories */
++ uint8_t *value; /* set of bytes (maybe contain NULLs) */
+ int valuelen; /* length of value */
+ int flags; /* argument flags (eg: ATTR_NOCREATE) */
+ xfs_dahash_t hashval; /* hash value of name */
+@@ -207,7 +207,7 @@ int xfs_da_reada_buf(struct xfs_inode *dp, xfs_dablk_t bno,
+ int xfs_da_shrink_inode(xfs_da_args_t *args, xfs_dablk_t dead_blkno,
+ struct xfs_buf *dead_buf);
+
+-uint xfs_da_hashname(const __uint8_t *name_string, int name_length);
++uint xfs_da_hashname(const uint8_t *name_string, int name_length);
+ enum xfs_dacmp xfs_da_compname(struct xfs_da_args *args,
+ const unsigned char *name, int len);
+
+diff --git a/libxfs/xfs_da_format.c b/libxfs/xfs_da_format.c
+index 2b732b3c..f30004f6 100644
+--- a/libxfs/xfs_da_format.c
++++ b/libxfs/xfs_da_format.c
+@@ -49,7 +49,7 @@ xfs_dir3_sf_entsize(
+ struct xfs_dir2_sf_hdr *hdr,
+ int len)
+ {
+- return xfs_dir2_sf_entsize(hdr, len) + sizeof(__uint8_t);
++ return xfs_dir2_sf_entsize(hdr, len) + sizeof(uint8_t);
+ }
+
+ static struct xfs_dir2_sf_entry *
+@@ -77,7 +77,7 @@ xfs_dir3_sf_nextentry(
+ * not necessary. For non-filetype enable directories, the type is always
+ * unknown and we never store the value.
+ */
+-static __uint8_t
++static uint8_t
+ xfs_dir2_sfe_get_ftype(
+ struct xfs_dir2_sf_entry *sfep)
+ {
+@@ -87,16 +87,16 @@ xfs_dir2_sfe_get_ftype(
+ static void
+ xfs_dir2_sfe_put_ftype(
+ struct xfs_dir2_sf_entry *sfep,
+- __uint8_t ftype)
++ uint8_t ftype)
+ {
+ ASSERT(ftype < XFS_DIR3_FT_MAX);
+ }
+
+-static __uint8_t
++static uint8_t
+ xfs_dir3_sfe_get_ftype(
+ struct xfs_dir2_sf_entry *sfep)
+ {
+- __uint8_t ftype;
++ uint8_t ftype;
+
+ ftype = sfep->name[sfep->namelen];
+ if (ftype >= XFS_DIR3_FT_MAX)
+@@ -107,7 +107,7 @@ xfs_dir3_sfe_get_ftype(
+ static void
+ xfs_dir3_sfe_put_ftype(
+ struct xfs_dir2_sf_entry *sfep,
+- __uint8_t ftype)
++ uint8_t ftype)
+ {
+ ASSERT(ftype < XFS_DIR3_FT_MAX);
+
+@@ -124,7 +124,7 @@ xfs_dir3_sfe_put_ftype(
+ static xfs_ino_t
+ xfs_dir2_sf_get_ino(
+ struct xfs_dir2_sf_hdr *hdr,
+- __uint8_t *from)
++ uint8_t *from)
+ {
+ if (hdr->i8count)
+ return get_unaligned_be64(from) & 0x00ffffffffffffffULL;
+@@ -135,7 +135,7 @@ xfs_dir2_sf_get_ino(
+ static void
+ xfs_dir2_sf_put_ino(
+ struct xfs_dir2_sf_hdr *hdr,
+- __uint8_t *to,
++ uint8_t *to,
+ xfs_ino_t ino)
+ {
+ ASSERT((ino & 0xff00000000000000ULL) == 0);
+@@ -225,7 +225,7 @@ xfs_dir3_sfe_put_ino(
+
+ #define XFS_DIR3_DATA_ENTSIZE(n) \
+ round_up((offsetof(struct xfs_dir2_data_entry, name[0]) + (n) + \
+- sizeof(xfs_dir2_data_off_t) + sizeof(__uint8_t)), \
++ sizeof(xfs_dir2_data_off_t) + sizeof(uint8_t)), \
+ XFS_DIR2_DATA_ALIGN)
+
+ static int
+@@ -242,7 +242,7 @@ xfs_dir3_data_entsize(
+ return XFS_DIR3_DATA_ENTSIZE(n);
+ }
+
+-static __uint8_t
++static uint8_t
+ xfs_dir2_data_get_ftype(
+ struct xfs_dir2_data_entry *dep)
+ {
+@@ -252,16 +252,16 @@ xfs_dir2_data_get_ftype(
+ static void
+ xfs_dir2_data_put_ftype(
+ struct xfs_dir2_data_entry *dep,
+- __uint8_t ftype)
++ uint8_t ftype)
+ {
+ ASSERT(ftype < XFS_DIR3_FT_MAX);
+ }
+
+-static __uint8_t
++static uint8_t
+ xfs_dir3_data_get_ftype(
+ struct xfs_dir2_data_entry *dep)
+ {
+- __uint8_t ftype = dep->name[dep->namelen];
++ uint8_t ftype = dep->name[dep->namelen];
+
+ if (ftype >= XFS_DIR3_FT_MAX)
+ return XFS_DIR3_FT_UNKNOWN;
+@@ -271,7 +271,7 @@ xfs_dir3_data_get_ftype(
+ static void
+ xfs_dir3_data_put_ftype(
+ struct xfs_dir2_data_entry *dep,
+- __uint8_t type)
++ uint8_t type)
+ {
+ ASSERT(type < XFS_DIR3_FT_MAX);
+ ASSERT(dep->namelen != 0);
+diff --git a/libxfs/xfs_da_format.h b/libxfs/xfs_da_format.h
+index 9a492a9e..3771edcb 100644
+--- a/libxfs/xfs_da_format.h
++++ b/libxfs/xfs_da_format.h
+@@ -111,11 +111,11 @@ struct xfs_da3_intnode {
+ * appropriate.
+ */
+ struct xfs_da3_icnode_hdr {
+- __uint32_t forw;
+- __uint32_t back;
+- __uint16_t magic;
+- __uint16_t count;
+- __uint16_t level;
++ uint32_t forw;
++ uint32_t back;
++ uint16_t magic;
++ uint16_t count;
++ uint16_t level;
+ };
+
+ /*
+@@ -187,14 +187,14 @@ struct xfs_da3_icnode_hdr {
+ /*
+ * Byte offset in data block and shortform entry.
+ */
+-typedef __uint16_t xfs_dir2_data_off_t;
++typedef uint16_t xfs_dir2_data_off_t;
+ #define NULLDATAOFF 0xffffU
+ typedef uint xfs_dir2_data_aoff_t; /* argument form */
+
+ /*
+ * Offset in data space of a data entry.
+ */
+-typedef __uint32_t xfs_dir2_dataptr_t;
++typedef uint32_t xfs_dir2_dataptr_t;
+ #define XFS_DIR2_MAX_DATAPTR ((xfs_dir2_dataptr_t)0xffffffff)
+ #define XFS_DIR2_NULL_DATAPTR ((xfs_dir2_dataptr_t)0)
+
+@@ -206,7 +206,7 @@ typedef xfs_off_t xfs_dir2_off_t;
+ /*
+ * Directory block number (logical dirblk in file)
+ */
+-typedef __uint32_t xfs_dir2_db_t;
++typedef uint32_t xfs_dir2_db_t;
+
+ #define XFS_INO32_SIZE 4
+ #define XFS_INO64_SIZE 8
+@@ -226,9 +226,9 @@ typedef __uint32_t xfs_dir2_db_t;
+ * over them.
+ */
+ typedef struct xfs_dir2_sf_hdr {
+- __uint8_t count; /* count of entries */
+- __uint8_t i8count; /* count of 8-byte inode #s */
+- __uint8_t parent[8]; /* parent dir inode number */
++ uint8_t count; /* count of entries */
++ uint8_t i8count; /* count of 8-byte inode #s */
++ uint8_t parent[8]; /* parent dir inode number */
+ } __packed xfs_dir2_sf_hdr_t;
+
+ typedef struct xfs_dir2_sf_entry {
+@@ -447,11 +447,11 @@ struct xfs_dir3_leaf_hdr {
+ };
+
+ struct xfs_dir3_icleaf_hdr {
+- __uint32_t forw;
+- __uint32_t back;
+- __uint16_t magic;
+- __uint16_t count;
+- __uint16_t stale;
++ uint32_t forw;
++ uint32_t back;
++ uint16_t magic;
++ uint16_t count;
++ uint16_t stale;
+ };
+
+ /*
+@@ -538,10 +538,10 @@ struct xfs_dir3_free {
+ * xfs_dir3_free_hdr_from_disk/xfs_dir3_free_hdr_to_disk.
+ */
+ struct xfs_dir3_icfree_hdr {
+- __uint32_t magic;
+- __uint32_t firstdb;
+- __uint32_t nvalid;
+- __uint32_t nused;
++ uint32_t magic;
++ uint32_t firstdb;
++ uint32_t nvalid;
++ uint32_t nused;
+
+ };
+
+@@ -632,10 +632,10 @@ typedef struct xfs_attr_shortform {
+ __u8 padding;
+ } hdr;
+ struct xfs_attr_sf_entry {
+- __uint8_t namelen; /* actual length of name (no NULL) */
+- __uint8_t valuelen; /* actual length of value (no NULL) */
+- __uint8_t flags; /* flags bits (see xfs_attr_leaf.h) */
+- __uint8_t nameval[1]; /* name & value bytes concatenated */
++ uint8_t namelen; /* actual length of name (no NULL) */
++ uint8_t valuelen; /* actual length of value (no NULL) */
++ uint8_t flags; /* flags bits (see xfs_attr_leaf.h) */
++ uint8_t nameval[1]; /* name & value bytes concatenated */
+ } list[1]; /* variable sized array */
+ } xfs_attr_shortform_t;
+
+@@ -725,22 +725,22 @@ struct xfs_attr3_leafblock {
+ * incore, neutral version of the attribute leaf header
+ */
+ struct xfs_attr3_icleaf_hdr {
+- __uint32_t forw;
+- __uint32_t back;
+- __uint16_t magic;
+- __uint16_t count;
+- __uint16_t usedbytes;
++ uint32_t forw;
++ uint32_t back;
++ uint16_t magic;
++ uint16_t count;
++ uint16_t usedbytes;
+ /*
+ * firstused is 32-bit here instead of 16-bit like the on-disk variant
+ * to support maximum fsb size of 64k without overflow issues throughout
+ * the attr code. Instead, the overflow condition is handled on
+ * conversion to/from disk.
+ */
+- __uint32_t firstused;
++ uint32_t firstused;
+ __u8 holes;
+ struct {
+- __uint16_t base;
+- __uint16_t size;
++ uint16_t base;
++ uint16_t size;
+ } freemap[XFS_ATTR_LEAF_MAPSIZE];
+ };
+
+diff --git a/libxfs/xfs_dir2.h b/libxfs/xfs_dir2.h
+index d6e6d9d1..21c8f8bf 100644
+--- a/libxfs/xfs_dir2.h
++++ b/libxfs/xfs_dir2.h
+@@ -47,9 +47,9 @@ struct xfs_dir_ops {
+ struct xfs_dir2_sf_entry *
+ (*sf_nextentry)(struct xfs_dir2_sf_hdr *hdr,
+ struct xfs_dir2_sf_entry *sfep);
+- __uint8_t (*sf_get_ftype)(struct xfs_dir2_sf_entry *sfep);
++ uint8_t (*sf_get_ftype)(struct xfs_dir2_sf_entry *sfep);
+ void (*sf_put_ftype)(struct xfs_dir2_sf_entry *sfep,
+- __uint8_t ftype);
++ uint8_t ftype);
+ xfs_ino_t (*sf_get_ino)(struct xfs_dir2_sf_hdr *hdr,
+ struct xfs_dir2_sf_entry *sfep);
+ void (*sf_put_ino)(struct xfs_dir2_sf_hdr *hdr,
+@@ -60,9 +60,9 @@ struct xfs_dir_ops {
+ xfs_ino_t ino);
+
+ int (*data_entsize)(int len);
+- __uint8_t (*data_get_ftype)(struct xfs_dir2_data_entry *dep);
++ uint8_t (*data_get_ftype)(struct xfs_dir2_data_entry *dep);
+ void (*data_put_ftype)(struct xfs_dir2_data_entry *dep,
+- __uint8_t ftype);
++ uint8_t ftype);
+ __be16 * (*data_entry_tag_p)(struct xfs_dir2_data_entry *dep);
+ struct xfs_dir2_data_free *
+ (*data_bestfree_p)(struct xfs_dir2_data_hdr *hdr);
+diff --git a/libxfs/xfs_dir2_leaf.c b/libxfs/xfs_dir2_leaf.c
+index f80d91fc..40a35b84 100644
+--- a/libxfs/xfs_dir2_leaf.c
++++ b/libxfs/xfs_dir2_leaf.c
+@@ -142,7 +142,7 @@ xfs_dir3_leaf_check_int(
+ static bool
+ xfs_dir3_leaf_verify(
+ struct xfs_buf *bp,
+- __uint16_t magic)
++ uint16_t magic)
+ {
+ struct xfs_mount *mp = bp->b_target->bt_mount;
+ struct xfs_dir2_leaf *leaf = bp->b_addr;
+@@ -151,7 +151,7 @@ xfs_dir3_leaf_verify(
+
+ if (xfs_sb_version_hascrc(&mp->m_sb)) {
+ struct xfs_dir3_leaf_hdr *leaf3 = bp->b_addr;
+- __uint16_t magic3;
++ uint16_t magic3;
+
+ magic3 = (magic == XFS_DIR2_LEAF1_MAGIC) ? XFS_DIR3_LEAF1_MAGIC
+ : XFS_DIR3_LEAFN_MAGIC;
+@@ -175,7 +175,7 @@ xfs_dir3_leaf_verify(
+ static void
+ __read_verify(
+ struct xfs_buf *bp,
+- __uint16_t magic)
++ uint16_t magic)
+ {
+ struct xfs_mount *mp = bp->b_target->bt_mount;
+
+@@ -192,7 +192,7 @@ __read_verify(
+ static void
+ __write_verify(
+ struct xfs_buf *bp,
+- __uint16_t magic)
++ uint16_t magic)
+ {
+ struct xfs_mount *mp = bp->b_target->bt_mount;
+ struct xfs_buf_log_item *bip = bp->b_fspriv;
+@@ -296,7 +296,7 @@ xfs_dir3_leaf_init(
+ struct xfs_trans *tp,
+ struct xfs_buf *bp,
+ xfs_ino_t owner,
+- __uint16_t type)
++ uint16_t type)
+ {
+ struct xfs_dir2_leaf *leaf = bp->b_addr;
+
+@@ -340,7 +340,7 @@ xfs_dir3_leaf_get_buf(
+ xfs_da_args_t *args,
+ xfs_dir2_db_t bno,
+ struct xfs_buf **bpp,
+- __uint16_t magic)
++ uint16_t magic)
+ {
+ struct xfs_inode *dp = args->dp;
+ struct xfs_trans *tp = args->trans;
+diff --git a/libxfs/xfs_dir2_priv.h b/libxfs/xfs_dir2_priv.h
+index 39f8604f..011df4da 100644
+--- a/libxfs/xfs_dir2_priv.h
++++ b/libxfs/xfs_dir2_priv.h
+@@ -69,7 +69,7 @@ extern void xfs_dir3_leaf_compact_x1(struct xfs_dir3_icleaf_hdr *leafhdr,
+ struct xfs_dir2_leaf_entry *ents, int *indexp,
+ int *lowstalep, int *highstalep, int *lowlogp, int *highlogp);
+ extern int xfs_dir3_leaf_get_buf(struct xfs_da_args *args, xfs_dir2_db_t bno,
+- struct xfs_buf **bpp, __uint16_t magic);
++ struct xfs_buf **bpp, uint16_t magic);
+ extern void xfs_dir3_leaf_log_ents(struct xfs_da_args *args,
+ struct xfs_buf *bp, int first, int last);
+ extern void xfs_dir3_leaf_log_header(struct xfs_da_args *args,
+diff --git a/libxfs/xfs_dir2_sf.c b/libxfs/xfs_dir2_sf.c
+index 195f816d..0c453988 100644
+--- a/libxfs/xfs_dir2_sf.c
++++ b/libxfs/xfs_dir2_sf.c
+@@ -125,7 +125,7 @@ xfs_dir2_block_sfsize(
+ * Calculate the new size, see if we should give up yet.
+ */
+ size = xfs_dir2_sf_hdr_size(i8count) + /* header */
+- count * 3 * sizeof(__u8) + /* namelen + offset */
++ count * 3 * sizeof(u8) + /* namelen + offset */
+ namelen + /* name */
+ (i8count ? /* inumber */
+ count * XFS_INO64_SIZE :
+@@ -645,7 +645,7 @@ xfs_dir2_sf_verify(
+ int offset;
+ int size;
+ int error;
+- __uint8_t filetype;
++ uint8_t filetype;
+
+ ASSERT(ip->i_d.di_format == XFS_DINODE_FMT_LOCAL);
+ /*
+diff --git a/libxfs/xfs_format.h b/libxfs/xfs_format.h
+index 4c3ed1fd..a53f035f 100644
+--- a/libxfs/xfs_format.h
++++ b/libxfs/xfs_format.h
+@@ -103,8 +103,8 @@ struct xfs_ifork;
+ * Must be padded to 64 bit alignment.
+ */
+ typedef struct xfs_sb {
+- __uint32_t sb_magicnum; /* magic number == XFS_SB_MAGIC */
+- __uint32_t sb_blocksize; /* logical block size, bytes */
++ uint32_t sb_magicnum; /* magic number == XFS_SB_MAGIC */
++ uint32_t sb_blocksize; /* logical block size, bytes */
+ xfs_rfsblock_t sb_dblocks; /* number of data blocks */
+ xfs_rfsblock_t sb_rblocks; /* number of realtime blocks */
+ xfs_rtblock_t sb_rextents; /* number of realtime extents */
+@@ -118,45 +118,45 @@ typedef struct xfs_sb {
+ xfs_agnumber_t sb_agcount; /* number of allocation groups */
+ xfs_extlen_t sb_rbmblocks; /* number of rt bitmap blocks */
+ xfs_extlen_t sb_logblocks; /* number of log blocks */
+- __uint16_t sb_versionnum; /* header version == XFS_SB_VERSION */
+- __uint16_t sb_sectsize; /* volume sector size, bytes */
+- __uint16_t sb_inodesize; /* inode size, bytes */
+- __uint16_t sb_inopblock; /* inodes per block */
++ uint16_t sb_versionnum; /* header version == XFS_SB_VERSION */
++ uint16_t sb_sectsize; /* volume sector size, bytes */
++ uint16_t sb_inodesize; /* inode size, bytes */
++ uint16_t sb_inopblock; /* inodes per block */
+ char sb_fname[12]; /* file system name */
+- __uint8_t sb_blocklog; /* log2 of sb_blocksize */
+- __uint8_t sb_sectlog; /* log2 of sb_sectsize */
+- __uint8_t sb_inodelog; /* log2 of sb_inodesize */
+- __uint8_t sb_inopblog; /* log2 of sb_inopblock */
+- __uint8_t sb_agblklog; /* log2 of sb_agblocks (rounded up) */
+- __uint8_t sb_rextslog; /* log2 of sb_rextents */
+- __uint8_t sb_inprogress; /* mkfs is in progress, don't mount */
+- __uint8_t sb_imax_pct; /* max % of fs for inode space */
++ uint8_t sb_blocklog; /* log2 of sb_blocksize */
++ uint8_t sb_sectlog; /* log2 of sb_sectsize */
++ uint8_t sb_inodelog; /* log2 of sb_inodesize */
++ uint8_t sb_inopblog; /* log2 of sb_inopblock */
++ uint8_t sb_agblklog; /* log2 of sb_agblocks (rounded up) */
++ uint8_t sb_rextslog; /* log2 of sb_rextents */
++ uint8_t sb_inprogress; /* mkfs is in progress, don't mount */
++ uint8_t sb_imax_pct; /* max % of fs for inode space */
+ /* statistics */
+ /*
+ * These fields must remain contiguous. If you really
+ * want to change their layout, make sure you fix the
+ * code in xfs_trans_apply_sb_deltas().
+ */
+- __uint64_t sb_icount; /* allocated inodes */
+- __uint64_t sb_ifree; /* free inodes */
+- __uint64_t sb_fdblocks; /* free data blocks */
+- __uint64_t sb_frextents; /* free realtime extents */
++ uint64_t sb_icount; /* allocated inodes */
++ uint64_t sb_ifree; /* free inodes */
++ uint64_t sb_fdblocks; /* free data blocks */
++ uint64_t sb_frextents; /* free realtime extents */
+ /*
+ * End contiguous fields.
+ */
+ xfs_ino_t sb_uquotino; /* user quota inode */
+ xfs_ino_t sb_gquotino; /* group quota inode */
+- __uint16_t sb_qflags; /* quota flags */
+- __uint8_t sb_flags; /* misc. flags */
+- __uint8_t sb_shared_vn; /* shared version number */
++ uint16_t sb_qflags; /* quota flags */
++ uint8_t sb_flags; /* misc. flags */
++ uint8_t sb_shared_vn; /* shared version number */
+ xfs_extlen_t sb_inoalignmt; /* inode chunk alignment, fsblocks */
+- __uint32_t sb_unit; /* stripe or raid unit */
+- __uint32_t sb_width; /* stripe or raid width */
+- __uint8_t sb_dirblklog; /* log2 of dir block size (fsbs) */
+- __uint8_t sb_logsectlog; /* log2 of the log sector size */
+- __uint16_t sb_logsectsize; /* sector size for the log, bytes */
+- __uint32_t sb_logsunit; /* stripe unit size for the log */
+- __uint32_t sb_features2; /* additional feature bits */
++ uint32_t sb_unit; /* stripe or raid unit */
++ uint32_t sb_width; /* stripe or raid width */
++ uint8_t sb_dirblklog; /* log2 of dir block size (fsbs) */
++ uint8_t sb_logsectlog; /* log2 of the log sector size */
++ uint16_t sb_logsectsize; /* sector size for the log, bytes */
++ uint32_t sb_logsunit; /* stripe unit size for the log */
++ uint32_t sb_features2; /* additional feature bits */
+
+ /*
+ * bad features2 field as a result of failing to pad the sb structure to
+@@ -167,17 +167,17 @@ typedef struct xfs_sb {
+ * the value in sb_features2 when formatting the incore superblock to
+ * the disk buffer.
+ */
+- __uint32_t sb_bad_features2;
++ uint32_t sb_bad_features2;
+
+ /* version 5 superblock fields start here */
+
+ /* feature masks */
+- __uint32_t sb_features_compat;
+- __uint32_t sb_features_ro_compat;
+- __uint32_t sb_features_incompat;
+- __uint32_t sb_features_log_incompat;
++ uint32_t sb_features_compat;
++ uint32_t sb_features_ro_compat;
++ uint32_t sb_features_incompat;
++ uint32_t sb_features_log_incompat;
+
+- __uint32_t sb_crc; /* superblock crc */
++ uint32_t sb_crc; /* superblock crc */
+ xfs_extlen_t sb_spino_align; /* sparse inode chunk alignment */
+
+ xfs_ino_t sb_pquotino; /* project quota inode */
+@@ -449,7 +449,7 @@ static inline void xfs_sb_version_addprojid32bit(struct xfs_sb *sbp)
+ static inline bool
+ xfs_sb_has_compat_feature(
+ struct xfs_sb *sbp,
+- __uint32_t feature)
++ uint32_t feature)
+ {
+ return (sbp->sb_features_compat & feature) != 0;
+ }
+@@ -465,7 +465,7 @@ xfs_sb_has_compat_feature(
+ static inline bool
+ xfs_sb_has_ro_compat_feature(
+ struct xfs_sb *sbp,
+- __uint32_t feature)
++ uint32_t feature)
+ {
+ return (sbp->sb_features_ro_compat & feature) != 0;
+ }
+@@ -482,7 +482,7 @@ xfs_sb_has_ro_compat_feature(
+ static inline bool
+ xfs_sb_has_incompat_feature(
+ struct xfs_sb *sbp,
+- __uint32_t feature)
++ uint32_t feature)
+ {
+ return (sbp->sb_features_incompat & feature) != 0;
+ }
+@@ -492,7 +492,7 @@ xfs_sb_has_incompat_feature(
+ static inline bool
+ xfs_sb_has_incompat_log_feature(
+ struct xfs_sb *sbp,
+- __uint32_t feature)
++ uint32_t feature)
+ {
+ return (sbp->sb_features_log_incompat & feature) != 0;
+ }
+@@ -594,8 +594,8 @@ xfs_is_quota_inode(struct xfs_sb *sbp, xfs_ino_t ino)
+ */
+ #define XFS_FSB_TO_B(mp,fsbno) ((xfs_fsize_t)(fsbno) << (mp)->m_sb.sb_blocklog)
+ #define XFS_B_TO_FSB(mp,b) \
+- ((((__uint64_t)(b)) + (mp)->m_blockmask) >> (mp)->m_sb.sb_blocklog)
+-#define XFS_B_TO_FSBT(mp,b) (((__uint64_t)(b)) >> (mp)->m_sb.sb_blocklog)
++ ((((uint64_t)(b)) + (mp)->m_blockmask) >> (mp)->m_sb.sb_blocklog)
++#define XFS_B_TO_FSBT(mp,b) (((uint64_t)(b)) >> (mp)->m_sb.sb_blocklog)
+ #define XFS_B_FSB_OFFSET(mp,b) ((b) & (mp)->m_blockmask)
+
+ /*
+@@ -1072,7 +1072,7 @@ static inline void xfs_dinode_put_rdev(struct xfs_dinode *dip, xfs_dev_t rdev)
+ * next agno_log bits - ag number
+ * high agno_log-agblklog-inopblog bits - 0
+ */
+-#define XFS_INO_MASK(k) (__uint32_t)((1ULL << (k)) - 1)
++#define XFS_INO_MASK(k) (uint32_t)((1ULL << (k)) - 1)
+ #define XFS_INO_OFFSET_BITS(mp) (mp)->m_sb.sb_inopblog
+ #define XFS_INO_AGBNO_BITS(mp) (mp)->m_sb.sb_agblklog
+ #define XFS_INO_AGINO_BITS(mp) (mp)->m_agino_log
+@@ -1269,16 +1269,16 @@ typedef __be32 xfs_alloc_ptr_t;
+ #define XFS_FIBT_MAGIC 0x46494254 /* 'FIBT' */
+ #define XFS_FIBT_CRC_MAGIC 0x46494233 /* 'FIB3' */
+
+-typedef __uint64_t xfs_inofree_t;
++typedef uint64_t xfs_inofree_t;
+ #define XFS_INODES_PER_CHUNK (NBBY * sizeof(xfs_inofree_t))
+ #define XFS_INODES_PER_CHUNK_LOG (XFS_NBBYLOG + 3)
+ #define XFS_INOBT_ALL_FREE ((xfs_inofree_t)-1)
+ #define XFS_INOBT_MASK(i) ((xfs_inofree_t)1 << (i))
+
+ #define XFS_INOBT_HOLEMASK_FULL 0 /* holemask for full chunk */
+-#define XFS_INOBT_HOLEMASK_BITS (NBBY * sizeof(__uint16_t))
++#define XFS_INOBT_HOLEMASK_BITS (NBBY * sizeof(uint16_t))
+ #define XFS_INODES_PER_HOLEMASK_BIT \
+- (XFS_INODES_PER_CHUNK / (NBBY * sizeof(__uint16_t)))
++ (XFS_INODES_PER_CHUNK / (NBBY * sizeof(uint16_t)))
+
+ static inline xfs_inofree_t xfs_inobt_maskn(int i, int n)
+ {
+@@ -1312,9 +1312,9 @@ typedef struct xfs_inobt_rec {
+
+ typedef struct xfs_inobt_rec_incore {
+ xfs_agino_t ir_startino; /* starting inode number */
+- __uint16_t ir_holemask; /* hole mask for sparse chunks */
+- __uint8_t ir_count; /* total inode count */
+- __uint8_t ir_freecount; /* count of free inodes (set bits) */
++ uint16_t ir_holemask; /* hole mask for sparse chunks */
++ uint8_t ir_count; /* total inode count */
++ uint8_t ir_freecount; /* count of free inodes (set bits) */
+ xfs_inofree_t ir_free; /* free inode mask */
+ } xfs_inobt_rec_incore_t;
+
+@@ -1397,15 +1397,15 @@ struct xfs_rmap_rec {
+ * rm_offset:54-60 aren't used and should be zero
+ * rm_offset:0-53 is the block offset within the inode
+ */
+-#define XFS_RMAP_OFF_ATTR_FORK ((__uint64_t)1ULL << 63)
+-#define XFS_RMAP_OFF_BMBT_BLOCK ((__uint64_t)1ULL << 62)
+-#define XFS_RMAP_OFF_UNWRITTEN ((__uint64_t)1ULL << 61)
++#define XFS_RMAP_OFF_ATTR_FORK ((uint64_t)1ULL << 63)
++#define XFS_RMAP_OFF_BMBT_BLOCK ((uint64_t)1ULL << 62)
++#define XFS_RMAP_OFF_UNWRITTEN ((uint64_t)1ULL << 61)
+
+-#define XFS_RMAP_LEN_MAX ((__uint32_t)~0U)
++#define XFS_RMAP_LEN_MAX ((uint32_t)~0U)
+ #define XFS_RMAP_OFF_FLAGS (XFS_RMAP_OFF_ATTR_FORK | \
+ XFS_RMAP_OFF_BMBT_BLOCK | \
+ XFS_RMAP_OFF_UNWRITTEN)
+-#define XFS_RMAP_OFF_MASK ((__uint64_t)0x3FFFFFFFFFFFFFULL)
++#define XFS_RMAP_OFF_MASK ((uint64_t)0x3FFFFFFFFFFFFFULL)
+
+ #define XFS_RMAP_OFF(off) ((off) & XFS_RMAP_OFF_MASK)
+
+@@ -1431,8 +1431,8 @@ struct xfs_rmap_rec {
+ struct xfs_rmap_irec {
+ xfs_agblock_t rm_startblock; /* extent start block */
+ xfs_extlen_t rm_blockcount; /* extent length */
+- __uint64_t rm_owner; /* extent owner */
+- __uint64_t rm_offset; /* offset within the owner */
++ uint64_t rm_owner; /* extent owner */
++ uint64_t rm_offset; /* offset within the owner */
+ unsigned int rm_flags; /* state flags */
+ };
+
+@@ -1544,11 +1544,11 @@ typedef struct xfs_bmbt_rec {
+ __be64 l0, l1;
+ } xfs_bmbt_rec_t;
+
+-typedef __uint64_t xfs_bmbt_rec_base_t; /* use this for casts */
++typedef uint64_t xfs_bmbt_rec_base_t; /* use this for casts */
+ typedef xfs_bmbt_rec_t xfs_bmdr_rec_t;
+
+ typedef struct xfs_bmbt_rec_host {
+- __uint64_t l0, l1;
++ uint64_t l0, l1;
+ } xfs_bmbt_rec_host_t;
+
+ /*
+diff --git a/libxfs/xfs_fs.h b/libxfs/xfs_fs.h
+index 99f7f881..8a0c0eec 100644
+--- a/libxfs/xfs_fs.h
++++ b/libxfs/xfs_fs.h
+@@ -323,10 +323,10 @@ typedef struct xfs_bstat {
+ * and using two 16bit values to hold new 32bit projid was choosen
+ * to retain compatibility with "old" filesystems).
+ */
+-static inline __uint32_t
++static inline uint32_t
+ bstat_get_projid(struct xfs_bstat *bs)
+ {
+- return (__uint32_t)bs->bs_projid_hi << 16 | bs->bs_projid_lo;
++ return (uint32_t)bs->bs_projid_hi << 16 | bs->bs_projid_lo;
+ }
+
+ /*
+@@ -472,10 +472,10 @@ typedef struct xfs_handle {
+ */
+ typedef struct xfs_swapext
+ {
+- __int64_t sx_version; /* version */
++ int64_t sx_version; /* version */
+ #define XFS_SX_VERSION 0
+- __int64_t sx_fdtarget; /* fd of target file */
+- __int64_t sx_fdtmp; /* fd of tmp file */
++ int64_t sx_fdtarget; /* fd of target file */
++ int64_t sx_fdtmp; /* fd of tmp file */
+ xfs_off_t sx_offset; /* offset into file */
+ xfs_off_t sx_length; /* leng from offset */
+ char sx_pad[16]; /* pad space, unused */
+@@ -562,7 +562,7 @@ typedef struct xfs_swapext
+ #define XFS_IOC_ATTRLIST_BY_HANDLE _IOW ('X', 122, struct xfs_fsop_attrlist_handlereq)
+ #define XFS_IOC_ATTRMULTI_BY_HANDLE _IOW ('X', 123, struct xfs_fsop_attrmulti_handlereq)
+ #define XFS_IOC_FSGEOMETRY _IOR ('X', 124, struct xfs_fsop_geom)
+-#define XFS_IOC_GOINGDOWN _IOR ('X', 125, __uint32_t)
++#define XFS_IOC_GOINGDOWN _IOR ('X', 125, uint32_t)
+ /* XFS_IOC_GETFSUUID ---------- deprecated 140 */
+
+ /* reflink ioctls; these MUST match the btrfs ioctl definitions */
+diff --git a/libxfs/xfs_ialloc.c b/libxfs/xfs_ialloc.c
+index 55cc4507..8d245184 100644
+--- a/libxfs/xfs_ialloc.c
++++ b/libxfs/xfs_ialloc.c
+@@ -134,9 +134,9 @@ xfs_inobt_get_rec(
+ STATIC int
+ xfs_inobt_insert_rec(
+ struct xfs_btree_cur *cur,
+- __uint16_t holemask,
+- __uint8_t count,
+- __int32_t freecount,
++ uint16_t holemask,
++ uint8_t count,
++ int32_t freecount,
+ xfs_inofree_t free,
+ int *stat)
+ {
+diff --git a/libxfs/xfs_ialloc_btree.c b/libxfs/xfs_ialloc_btree.c
+index 7b4be766..5b281054 100644
+--- a/libxfs/xfs_ialloc_btree.c
++++ b/libxfs/xfs_ialloc_btree.c
+@@ -218,12 +218,12 @@ xfs_finobt_init_ptr_from_cur(
+ ptr->s = agi->agi_free_root;
+ }
+
+-STATIC __int64_t
++STATIC int64_t
+ xfs_inobt_key_diff(
+ struct xfs_btree_cur *cur,
+ union xfs_btree_key *key)
+ {
+- return (__int64_t)be32_to_cpu(key->inobt.ir_startino) -
++ return (int64_t)be32_to_cpu(key->inobt.ir_startino) -
+ cur->bc_rec.i.ir_startino;
+ }
+
+diff --git a/libxfs/xfs_inode_buf.c b/libxfs/xfs_inode_buf.c
+index 2972701d..fcc6fb8e 100644
+--- a/libxfs/xfs_inode_buf.c
++++ b/libxfs/xfs_inode_buf.c
+@@ -442,7 +442,7 @@ xfs_dinode_calc_crc(
+ struct xfs_mount *mp,
+ struct xfs_dinode *dip)
+ {
+- __uint32_t crc;
++ uint32_t crc;
+
+ if (dip->di_version < 3)
+ return;
+diff --git a/libxfs/xfs_inode_buf.h b/libxfs/xfs_inode_buf.h
+index 6848a0af..0827d7de 100644
+--- a/libxfs/xfs_inode_buf.h
++++ b/libxfs/xfs_inode_buf.h
+@@ -28,26 +28,26 @@ struct xfs_dinode;
+ * format specific structures at the appropriate time.
+ */
+ struct xfs_icdinode {
+- __int8_t di_version; /* inode version */
+- __int8_t di_format; /* format of di_c data */
+- __uint16_t di_flushiter; /* incremented on flush */
+- __uint32_t di_uid; /* owner's user id */
+- __uint32_t di_gid; /* owner's group id */
+- __uint16_t di_projid_lo; /* lower part of owner's project id */
+- __uint16_t di_projid_hi; /* higher part of owner's project id */
++ int8_t di_version; /* inode version */
++ int8_t di_format; /* format of di_c data */
++ uint16_t di_flushiter; /* incremented on flush */
++ uint32_t di_uid; /* owner's user id */
++ uint32_t di_gid; /* owner's group id */
++ uint16_t di_projid_lo; /* lower part of owner's project id */
++ uint16_t di_projid_hi; /* higher part of owner's project id */
+ xfs_fsize_t di_size; /* number of bytes in file */
+ xfs_rfsblock_t di_nblocks; /* # of direct & btree blocks used */
+ xfs_extlen_t di_extsize; /* basic/minimum extent size for file */
+ xfs_extnum_t di_nextents; /* number of extents in data fork */
+ xfs_aextnum_t di_anextents; /* number of extents in attribute fork*/
+- __uint8_t di_forkoff; /* attr fork offs, <<3 for 64b align */
+- __int8_t di_aformat; /* format of attr fork's data */
+- __uint32_t di_dmevmask; /* DMIG event mask */
+- __uint16_t di_dmstate; /* DMIG state info */
+- __uint16_t di_flags; /* random flags, XFS_DIFLAG_... */
++ uint8_t di_forkoff; /* attr fork offs, <<3 for 64b align */
++ int8_t di_aformat; /* format of attr fork's data */
++ uint32_t di_dmevmask; /* DMIG event mask */
++ uint16_t di_dmstate; /* DMIG state info */
++ uint16_t di_flags; /* random flags, XFS_DIFLAG_... */
+
+- __uint64_t di_flags2; /* more random flags */
+- __uint32_t di_cowextsize; /* basic cow extent size for file */
++ uint64_t di_flags2; /* more random flags */
++ uint32_t di_cowextsize; /* basic cow extent size for file */
+
+ xfs_ictimestamp_t di_crtime; /* time created */
+ };
+diff --git a/libxfs/xfs_log_format.h b/libxfs/xfs_log_format.h
+index 7ae571f8..8372e9bc 100644
+--- a/libxfs/xfs_log_format.h
++++ b/libxfs/xfs_log_format.h
+@@ -31,7 +31,7 @@ struct xfs_trans_res;
+ * through all the log items definitions and everything they encode into the
+ * log.
+ */
+-typedef __uint32_t xlog_tid_t;
++typedef uint32_t xlog_tid_t;
+
+ #define XLOG_MIN_ICLOGS 2
+ #define XLOG_MAX_ICLOGS 8
+@@ -211,7 +211,7 @@ typedef struct xfs_log_iovec {
+ typedef struct xfs_trans_header {
+ uint th_magic; /* magic number */
+ uint th_type; /* transaction type */
+- __int32_t th_tid; /* transaction id (unused) */
++ int32_t th_tid; /* transaction id (unused) */
+ uint th_num_items; /* num items logged by trans */
+ } xfs_trans_header_t;
+
+@@ -265,52 +265,52 @@ typedef struct xfs_trans_header {
+ * must be added on to the end.
+ */
+ typedef struct xfs_inode_log_format {
+- __uint16_t ilf_type; /* inode log item type */
+- __uint16_t ilf_size; /* size of this item */
+- __uint32_t ilf_fields; /* flags for fields logged */
+- __uint16_t ilf_asize; /* size of attr d/ext/root */
+- __uint16_t ilf_dsize; /* size of data/ext/root */
+- __uint64_t ilf_ino; /* inode number */
++ uint16_t ilf_type; /* inode log item type */
++ uint16_t ilf_size; /* size of this item */
++ uint32_t ilf_fields; /* flags for fields logged */
++ uint16_t ilf_asize; /* size of attr d/ext/root */
++ uint16_t ilf_dsize; /* size of data/ext/root */
++ uint64_t ilf_ino; /* inode number */
+ union {
+- __uint32_t ilfu_rdev; /* rdev value for dev inode*/
++ uint32_t ilfu_rdev; /* rdev value for dev inode*/
+ uuid_t ilfu_uuid; /* mount point value */
+ } ilf_u;
+- __int64_t ilf_blkno; /* blkno of inode buffer */
+- __int32_t ilf_len; /* len of inode buffer */
+- __int32_t ilf_boffset; /* off of inode in buffer */
++ int64_t ilf_blkno; /* blkno of inode buffer */
++ int32_t ilf_len; /* len of inode buffer */
++ int32_t ilf_boffset; /* off of inode in buffer */
+ } xfs_inode_log_format_t;
+
+ typedef struct xfs_inode_log_format_32 {
+- __uint16_t ilf_type; /* inode log item type */
+- __uint16_t ilf_size; /* size of this item */
+- __uint32_t ilf_fields; /* flags for fields logged */
+- __uint16_t ilf_asize; /* size of attr d/ext/root */
+- __uint16_t ilf_dsize; /* size of data/ext/root */
+- __uint64_t ilf_ino; /* inode number */
++ uint16_t ilf_type; /* inode log item type */
++ uint16_t ilf_size; /* size of this item */
++ uint32_t ilf_fields; /* flags for fields logged */
++ uint16_t ilf_asize; /* size of attr d/ext/root */
++ uint16_t ilf_dsize; /* size of data/ext/root */
++ uint64_t ilf_ino; /* inode number */
+ union {
+- __uint32_t ilfu_rdev; /* rdev value for dev inode*/
++ uint32_t ilfu_rdev; /* rdev value for dev inode*/
+ uuid_t ilfu_uuid; /* mount point value */
+ } ilf_u;
+- __int64_t ilf_blkno; /* blkno of inode buffer */
+- __int32_t ilf_len; /* len of inode buffer */
+- __int32_t ilf_boffset; /* off of inode in buffer */
++ int64_t ilf_blkno; /* blkno of inode buffer */
++ int32_t ilf_len; /* len of inode buffer */
++ int32_t ilf_boffset; /* off of inode in buffer */
+ } __attribute__((packed)) xfs_inode_log_format_32_t;
+
+ typedef struct xfs_inode_log_format_64 {
+- __uint16_t ilf_type; /* inode log item type */
+- __uint16_t ilf_size; /* size of this item */
+- __uint32_t ilf_fields; /* flags for fields logged */
+- __uint16_t ilf_asize; /* size of attr d/ext/root */
+- __uint16_t ilf_dsize; /* size of data/ext/root */
+- __uint32_t ilf_pad; /* pad for 64 bit boundary */
+- __uint64_t ilf_ino; /* inode number */
++ uint16_t ilf_type; /* inode log item type */
++ uint16_t ilf_size; /* size of this item */
++ uint32_t ilf_fields; /* flags for fields logged */
++ uint16_t ilf_asize; /* size of attr d/ext/root */
++ uint16_t ilf_dsize; /* size of data/ext/root */
++ uint32_t ilf_pad; /* pad for 64 bit boundary */
++ uint64_t ilf_ino; /* inode number */
+ union {
+- __uint32_t ilfu_rdev; /* rdev value for dev inode*/
++ uint32_t ilfu_rdev; /* rdev value for dev inode*/
+ uuid_t ilfu_uuid; /* mount point value */
+ } ilf_u;
+- __int64_t ilf_blkno; /* blkno of inode buffer */
+- __int32_t ilf_len; /* len of inode buffer */
+- __int32_t ilf_boffset; /* off of inode in buffer */
++ int64_t ilf_blkno; /* blkno of inode buffer */
++ int32_t ilf_len; /* len of inode buffer */
++ int32_t ilf_boffset; /* off of inode in buffer */
+ } xfs_inode_log_format_64_t;
+
+
+@@ -379,8 +379,8 @@ static inline int xfs_ilog_fdata(int w)
+ * information.
+ */
+ typedef struct xfs_ictimestamp {
+- __int32_t t_sec; /* timestamp seconds */
+- __int32_t t_nsec; /* timestamp nanoseconds */
++ int32_t t_sec; /* timestamp seconds */
++ int32_t t_nsec; /* timestamp nanoseconds */
+ } xfs_ictimestamp_t;
+
+ /*
+@@ -388,18 +388,18 @@ typedef struct xfs_ictimestamp {
+ * kept identical to struct xfs_dinode except for the endianness annotations.
+ */
+ struct xfs_log_dinode {
+- __uint16_t di_magic; /* inode magic # = XFS_DINODE_MAGIC */
+- __uint16_t di_mode; /* mode and type of file */
+- __int8_t di_version; /* inode version */
+- __int8_t di_format; /* format of di_c data */
+- __uint8_t di_pad3[2]; /* unused in v2/3 inodes */
+- __uint32_t di_uid; /* owner's user id */
+- __uint32_t di_gid; /* owner's group id */
+- __uint32_t di_nlink; /* number of links to file */
+- __uint16_t di_projid_lo; /* lower part of owner's project id */
+- __uint16_t di_projid_hi; /* higher part of owner's project id */
+- __uint8_t di_pad[6]; /* unused, zeroed space */
+- __uint16_t di_flushiter; /* incremented on flush */
++ uint16_t di_magic; /* inode magic # = XFS_DINODE_MAGIC */
++ uint16_t di_mode; /* mode and type of file */
++ int8_t di_version; /* inode version */
++ int8_t di_format; /* format of di_c data */
++ uint8_t di_pad3[2]; /* unused in v2/3 inodes */
++ uint32_t di_uid; /* owner's user id */
++ uint32_t di_gid; /* owner's group id */
++ uint32_t di_nlink; /* number of links to file */
++ uint16_t di_projid_lo; /* lower part of owner's project id */
++ uint16_t di_projid_hi; /* higher part of owner's project id */
++ uint8_t di_pad[6]; /* unused, zeroed space */
++ uint16_t di_flushiter; /* incremented on flush */
+ xfs_ictimestamp_t di_atime; /* time last accessed */
+ xfs_ictimestamp_t di_mtime; /* time last modified */
+ xfs_ictimestamp_t di_ctime; /* time created/inode modified */
+@@ -408,23 +408,23 @@ struct xfs_log_dinode {
+ xfs_extlen_t di_extsize; /* basic/minimum extent size for file */
+ xfs_extnum_t di_nextents; /* number of extents in data fork */
+ xfs_aextnum_t di_anextents; /* number of extents in attribute fork*/
+- __uint8_t di_forkoff; /* attr fork offs, <<3 for 64b align */
+- __int8_t di_aformat; /* format of attr fork's data */
+- __uint32_t di_dmevmask; /* DMIG event mask */
+- __uint16_t di_dmstate; /* DMIG state info */
+- __uint16_t di_flags; /* random flags, XFS_DIFLAG_... */
+- __uint32_t di_gen; /* generation number */
++ uint8_t di_forkoff; /* attr fork offs, <<3 for 64b align */
++ int8_t di_aformat; /* format of attr fork's data */
++ uint32_t di_dmevmask; /* DMIG event mask */
++ uint16_t di_dmstate; /* DMIG state info */
++ uint16_t di_flags; /* random flags, XFS_DIFLAG_... */
++ uint32_t di_gen; /* generation number */
+
+ /* di_next_unlinked is the only non-core field in the old dinode */
+ xfs_agino_t di_next_unlinked;/* agi unlinked list ptr */
+
+ /* start of the extended dinode, writable fields */
+- __uint32_t di_crc; /* CRC of the inode */
+- __uint64_t di_changecount; /* number of attribute changes */
++ uint32_t di_crc; /* CRC of the inode */
++ uint64_t di_changecount; /* number of attribute changes */
+ xfs_lsn_t di_lsn; /* flush sequence */
+- __uint64_t di_flags2; /* more random flags */
+- __uint32_t di_cowextsize; /* basic cow extent size for file */
+- __uint8_t di_pad2[12]; /* more padding for future expansion */
++ uint64_t di_flags2; /* more random flags */
++ uint32_t di_cowextsize; /* basic cow extent size for file */
++ uint8_t di_pad2[12]; /* more padding for future expansion */
+
+ /* fields only written to during inode creation */
+ xfs_ictimestamp_t di_crtime; /* time created */
+@@ -483,7 +483,7 @@ typedef struct xfs_buf_log_format {
+ unsigned short blf_size; /* size of this item */
+ unsigned short blf_flags; /* misc state */
+ unsigned short blf_len; /* number of blocks in this buf */
+- __int64_t blf_blkno; /* starting blkno of this buf */
++ int64_t blf_blkno; /* starting blkno of this buf */
+ unsigned int blf_map_size; /* used size of data bitmap in words */
+ unsigned int blf_data_map[XFS_BLF_DATAMAP_SIZE]; /* dirty bitmap */
+ } xfs_buf_log_format_t;
+@@ -533,7 +533,7 @@ xfs_blft_to_flags(struct xfs_buf_log_format *blf, enum xfs_blft type)
+ blf->blf_flags |= ((type << XFS_BLFT_SHIFT) & XFS_BLFT_MASK);
+ }
+
+-static inline __uint16_t
++static inline uint16_t
+ xfs_blft_from_flags(struct xfs_buf_log_format *blf)
+ {
+ return (blf->blf_flags & XFS_BLFT_MASK) >> XFS_BLFT_SHIFT;
+@@ -554,14 +554,14 @@ typedef struct xfs_extent {
+ * conversion routine.
+ */
+ typedef struct xfs_extent_32 {
+- __uint64_t ext_start;
+- __uint32_t ext_len;
++ uint64_t ext_start;
++ uint32_t ext_len;
+ } __attribute__((packed)) xfs_extent_32_t;
+
+ typedef struct xfs_extent_64 {
+- __uint64_t ext_start;
+- __uint32_t ext_len;
+- __uint32_t ext_pad;
++ uint64_t ext_start;
++ uint32_t ext_len;
++ uint32_t ext_pad;
+ } xfs_extent_64_t;
+
+ /*
+@@ -570,26 +570,26 @@ typedef struct xfs_extent_64 {
+ * size is given by efi_nextents.
+ */
+ typedef struct xfs_efi_log_format {
+- __uint16_t efi_type; /* efi log item type */
+- __uint16_t efi_size; /* size of this item */
+- __uint32_t efi_nextents; /* # extents to free */
+- __uint64_t efi_id; /* efi identifier */
++ uint16_t efi_type; /* efi log item type */
++ uint16_t efi_size; /* size of this item */
++ uint32_t efi_nextents; /* # extents to free */
++ uint64_t efi_id; /* efi identifier */
+ xfs_extent_t efi_extents[1]; /* array of extents to free */
+ } xfs_efi_log_format_t;
+
+ typedef struct xfs_efi_log_format_32 {
+- __uint16_t efi_type; /* efi log item type */
+- __uint16_t efi_size; /* size of this item */
+- __uint32_t efi_nextents; /* # extents to free */
+- __uint64_t efi_id; /* efi identifier */
++ uint16_t efi_type; /* efi log item type */
++ uint16_t efi_size; /* size of this item */
++ uint32_t efi_nextents; /* # extents to free */
++ uint64_t efi_id; /* efi identifier */
+ xfs_extent_32_t efi_extents[1]; /* array of extents to free */
+ } __attribute__((packed)) xfs_efi_log_format_32_t;
+
+ typedef struct xfs_efi_log_format_64 {
+- __uint16_t efi_type; /* efi log item type */
+- __uint16_t efi_size; /* size of this item */
+- __uint32_t efi_nextents; /* # extents to free */
+- __uint64_t efi_id; /* efi identifier */
++ uint16_t efi_type; /* efi log item type */
++ uint16_t efi_size; /* size of this item */
++ uint32_t efi_nextents; /* # extents to free */
++ uint64_t efi_id; /* efi identifier */
+ xfs_extent_64_t efi_extents[1]; /* array of extents to free */
+ } xfs_efi_log_format_64_t;
+
+@@ -599,26 +599,26 @@ typedef struct xfs_efi_log_format_64 {
+ * size is given by efd_nextents;
+ */
+ typedef struct xfs_efd_log_format {
+- __uint16_t efd_type; /* efd log item type */
+- __uint16_t efd_size; /* size of this item */
+- __uint32_t efd_nextents; /* # of extents freed */
+- __uint64_t efd_efi_id; /* id of corresponding efi */
++ uint16_t efd_type; /* efd log item type */
++ uint16_t efd_size; /* size of this item */
++ uint32_t efd_nextents; /* # of extents freed */
++ uint64_t efd_efi_id; /* id of corresponding efi */
+ xfs_extent_t efd_extents[1]; /* array of extents freed */
+ } xfs_efd_log_format_t;
+
+ typedef struct xfs_efd_log_format_32 {
+- __uint16_t efd_type; /* efd log item type */
+- __uint16_t efd_size; /* size of this item */
+- __uint32_t efd_nextents; /* # of extents freed */
+- __uint64_t efd_efi_id; /* id of corresponding efi */
++ uint16_t efd_type; /* efd log item type */
++ uint16_t efd_size; /* size of this item */
++ uint32_t efd_nextents; /* # of extents freed */
++ uint64_t efd_efi_id; /* id of corresponding efi */
+ xfs_extent_32_t efd_extents[1]; /* array of extents freed */
+ } __attribute__((packed)) xfs_efd_log_format_32_t;
+
+ typedef struct xfs_efd_log_format_64 {
+- __uint16_t efd_type; /* efd log item type */
+- __uint16_t efd_size; /* size of this item */
+- __uint32_t efd_nextents; /* # of extents freed */
+- __uint64_t efd_efi_id; /* id of corresponding efi */
++ uint16_t efd_type; /* efd log item type */
++ uint16_t efd_size; /* size of this item */
++ uint32_t efd_nextents; /* # of extents freed */
++ uint64_t efd_efi_id; /* id of corresponding efi */
+ xfs_extent_64_t efd_extents[1]; /* array of extents freed */
+ } xfs_efd_log_format_64_t;
+
+@@ -626,11 +626,11 @@ typedef struct xfs_efd_log_format_64 {
+ * RUI/RUD (reverse mapping) log format definitions
+ */
+ struct xfs_map_extent {
+- __uint64_t me_owner;
+- __uint64_t me_startblock;
+- __uint64_t me_startoff;
+- __uint32_t me_len;
+- __uint32_t me_flags;
++ uint64_t me_owner;
++ uint64_t me_startblock;
++ uint64_t me_startoff;
++ uint32_t me_len;
++ uint32_t me_flags;
+ };
+
+ /* rmap me_flags: upper bits are flags, lower byte is type code */
+@@ -659,10 +659,10 @@ struct xfs_map_extent {
+ * size is given by rui_nextents.
+ */
+ struct xfs_rui_log_format {
+- __uint16_t rui_type; /* rui log item type */
+- __uint16_t rui_size; /* size of this item */
+- __uint32_t rui_nextents; /* # extents to free */
+- __uint64_t rui_id; /* rui identifier */
++ uint16_t rui_type; /* rui log item type */
++ uint16_t rui_size; /* size of this item */
++ uint32_t rui_nextents; /* # extents to free */
++ uint64_t rui_id; /* rui identifier */
+ struct xfs_map_extent rui_extents[]; /* array of extents to rmap */
+ };
+
+@@ -680,19 +680,19 @@ xfs_rui_log_format_sizeof(
+ * size is given by rud_nextents;
+ */
+ struct xfs_rud_log_format {
+- __uint16_t rud_type; /* rud log item type */
+- __uint16_t rud_size; /* size of this item */
+- __uint32_t __pad;
+- __uint64_t rud_rui_id; /* id of corresponding rui */
++ uint16_t rud_type; /* rud log item type */
++ uint16_t rud_size; /* size of this item */
++ uint32_t __pad;
++ uint64_t rud_rui_id; /* id of corresponding rui */
+ };
+
+ /*
+ * CUI/CUD (refcount update) log format definitions
+ */
+ struct xfs_phys_extent {
+- __uint64_t pe_startblock;
+- __uint32_t pe_len;
+- __uint32_t pe_flags;
++ uint64_t pe_startblock;
++ uint32_t pe_len;
++ uint32_t pe_flags;
+ };
+
+ /* refcount pe_flags: upper bits are flags, lower byte is type code */
+@@ -707,10 +707,10 @@ struct xfs_phys_extent {
+ * size is given by cui_nextents.
+ */
+ struct xfs_cui_log_format {
+- __uint16_t cui_type; /* cui log item type */
+- __uint16_t cui_size; /* size of this item */
+- __uint32_t cui_nextents; /* # extents to free */
+- __uint64_t cui_id; /* cui identifier */
++ uint16_t cui_type; /* cui log item type */
++ uint16_t cui_size; /* size of this item */
++ uint32_t cui_nextents; /* # extents to free */
++ uint64_t cui_id; /* cui identifier */
+ struct xfs_phys_extent cui_extents[]; /* array of extents */
+ };
+
+@@ -728,10 +728,10 @@ xfs_cui_log_format_sizeof(
+ * size is given by cud_nextents;
+ */
+ struct xfs_cud_log_format {
+- __uint16_t cud_type; /* cud log item type */
+- __uint16_t cud_size; /* size of this item */
+- __uint32_t __pad;
+- __uint64_t cud_cui_id; /* id of corresponding cui */
++ uint16_t cud_type; /* cud log item type */
++ uint16_t cud_size; /* size of this item */
++ uint32_t __pad;
++ uint64_t cud_cui_id; /* id of corresponding cui */
+ };
+
+ /*
+@@ -755,10 +755,10 @@ struct xfs_cud_log_format {
+ * size is given by bui_nextents.
+ */
+ struct xfs_bui_log_format {
+- __uint16_t bui_type; /* bui log item type */
+- __uint16_t bui_size; /* size of this item */
+- __uint32_t bui_nextents; /* # extents to free */
+- __uint64_t bui_id; /* bui identifier */
++ uint16_t bui_type; /* bui log item type */
++ uint16_t bui_size; /* size of this item */
++ uint32_t bui_nextents; /* # extents to free */
++ uint64_t bui_id; /* bui identifier */
+ struct xfs_map_extent bui_extents[]; /* array of extents to bmap */
+ };
+
+@@ -776,10 +776,10 @@ xfs_bui_log_format_sizeof(
+ * size is given by bud_nextents;
+ */
+ struct xfs_bud_log_format {
+- __uint16_t bud_type; /* bud log item type */
+- __uint16_t bud_size; /* size of this item */
+- __uint32_t __pad;
+- __uint64_t bud_bui_id; /* id of corresponding bui */
++ uint16_t bud_type; /* bud log item type */
++ uint16_t bud_size; /* size of this item */
++ uint32_t __pad;
++ uint64_t bud_bui_id; /* id of corresponding bui */
+ };
+
+ /*
+@@ -789,12 +789,12 @@ struct xfs_bud_log_format {
+ * 32 bits : log_recovery code assumes that.
+ */
+ typedef struct xfs_dq_logformat {
+- __uint16_t qlf_type; /* dquot log item type */
+- __uint16_t qlf_size; /* size of this item */
++ uint16_t qlf_type; /* dquot log item type */
++ uint16_t qlf_size; /* size of this item */
+ xfs_dqid_t qlf_id; /* usr/grp/proj id : 32 bits */
+- __int64_t qlf_blkno; /* blkno of dquot buffer */
+- __int32_t qlf_len; /* len of dquot buffer */
+- __uint32_t qlf_boffset; /* off of dquot in buffer */
++ int64_t qlf_blkno; /* blkno of dquot buffer */
++ int32_t qlf_len; /* len of dquot buffer */
++ uint32_t qlf_boffset; /* off of dquot in buffer */
+ } xfs_dq_logformat_t;
+
+ /*
+@@ -853,8 +853,8 @@ typedef struct xfs_qoff_logformat {
+ * decoding can be done correctly.
+ */
+ struct xfs_icreate_log {
+- __uint16_t icl_type; /* type of log format structure */
+- __uint16_t icl_size; /* size of log format structure */
++ uint16_t icl_type; /* type of log format structure */
++ uint16_t icl_size; /* size of log format structure */
+ __be32 icl_ag; /* ag being allocated in */
+ __be32 icl_agbno; /* start block of inode range */
+ __be32 icl_count; /* number of inodes to initialise */
+diff --git a/libxfs/xfs_quota_defs.h b/libxfs/xfs_quota_defs.h
+index 8eed5127..d69c7722 100644
+--- a/libxfs/xfs_quota_defs.h
++++ b/libxfs/xfs_quota_defs.h
+@@ -27,8 +27,8 @@
+ * they may need 64-bit accounting. Hence, 64-bit quota-counters,
+ * and quota-limits. This is a waste in the common case, but hey ...
+ */
+-typedef __uint64_t xfs_qcnt_t;
+-typedef __uint16_t xfs_qwarncnt_t;
++typedef uint64_t xfs_qcnt_t;
++typedef uint16_t xfs_qwarncnt_t;
+
+ /*
+ * flags for q_flags field in the dquot.
+diff --git a/libxfs/xfs_refcount_btree.c b/libxfs/xfs_refcount_btree.c
+index 2814f94f..bd1a8f2d 100644
+--- a/libxfs/xfs_refcount_btree.c
++++ b/libxfs/xfs_refcount_btree.c
+@@ -201,7 +201,7 @@ xfs_refcountbt_init_ptr_from_cur(
+ ptr->s = agf->agf_refcount_root;
+ }
+
+-STATIC __int64_t
++STATIC int64_t
+ xfs_refcountbt_key_diff(
+ struct xfs_btree_cur *cur,
+ union xfs_btree_key *key)
+@@ -209,16 +209,16 @@ xfs_refcountbt_key_diff(
+ struct xfs_refcount_irec *rec = &cur->bc_rec.rc;
+ struct xfs_refcount_key *kp = &key->refc;
+
+- return (__int64_t)be32_to_cpu(kp->rc_startblock) - rec->rc_startblock;
++ return (int64_t)be32_to_cpu(kp->rc_startblock) - rec->rc_startblock;
+ }
+
+-STATIC __int64_t
++STATIC int64_t
+ xfs_refcountbt_diff_two_keys(
+ struct xfs_btree_cur *cur,
+ union xfs_btree_key *k1,
+ union xfs_btree_key *k2)
+ {
+- return (__int64_t)be32_to_cpu(k1->refc.rc_startblock) -
++ return (int64_t)be32_to_cpu(k1->refc.rc_startblock) -
+ be32_to_cpu(k2->refc.rc_startblock);
+ }
+
+diff --git a/libxfs/xfs_rmap.c b/libxfs/xfs_rmap.c
+index f78771d1..0d6b5d41 100644
+--- a/libxfs/xfs_rmap.c
++++ b/libxfs/xfs_rmap.c
+@@ -2059,7 +2059,7 @@ int
+ xfs_rmap_finish_one(
+ struct xfs_trans *tp,
+ enum xfs_rmap_intent_type type,
+- __uint64_t owner,
++ uint64_t owner,
+ int whichfork,
+ xfs_fileoff_t startoff,
+ xfs_fsblock_t startblock,
+@@ -2180,7 +2180,7 @@ __xfs_rmap_add(
+ struct xfs_mount *mp,
+ struct xfs_defer_ops *dfops,
+ enum xfs_rmap_intent_type type,
+- __uint64_t owner,
++ uint64_t owner,
+ int whichfork,
+ struct xfs_bmbt_irec *bmap)
+ {
+@@ -2264,7 +2264,7 @@ xfs_rmap_alloc_extent(
+ xfs_agnumber_t agno,
+ xfs_agblock_t bno,
+ xfs_extlen_t len,
+- __uint64_t owner)
++ uint64_t owner)
+ {
+ struct xfs_bmbt_irec bmap;
+
+@@ -2288,7 +2288,7 @@ xfs_rmap_free_extent(
+ xfs_agnumber_t agno,
+ xfs_agblock_t bno,
+ xfs_extlen_t len,
+- __uint64_t owner)
++ uint64_t owner)
+ {
+ struct xfs_bmbt_irec bmap;
+
+diff --git a/libxfs/xfs_rmap.h b/libxfs/xfs_rmap.h
+index 98f908fe..265116d0 100644
+--- a/libxfs/xfs_rmap.h
++++ b/libxfs/xfs_rmap.h
+@@ -179,7 +179,7 @@ enum xfs_rmap_intent_type {
+ struct xfs_rmap_intent {
+ struct list_head ri_list;
+ enum xfs_rmap_intent_type ri_type;
+- __uint64_t ri_owner;
++ uint64_t ri_owner;
+ int ri_whichfork;
+ struct xfs_bmbt_irec ri_bmap;
+ };
+@@ -196,15 +196,15 @@ int xfs_rmap_convert_extent(struct xfs_mount *mp, struct xfs_defer_ops *dfops,
+ struct xfs_bmbt_irec *imap);
+ int xfs_rmap_alloc_extent(struct xfs_mount *mp, struct xfs_defer_ops *dfops,
+ xfs_agnumber_t agno, xfs_agblock_t bno, xfs_extlen_t len,
+- __uint64_t owner);
++ uint64_t owner);
+ int xfs_rmap_free_extent(struct xfs_mount *mp, struct xfs_defer_ops *dfops,
+ xfs_agnumber_t agno, xfs_agblock_t bno, xfs_extlen_t len,
+- __uint64_t owner);
++ uint64_t owner);
+
+ void xfs_rmap_finish_one_cleanup(struct xfs_trans *tp,
+ struct xfs_btree_cur *rcur, int error);
+ int xfs_rmap_finish_one(struct xfs_trans *tp, enum xfs_rmap_intent_type type,
+- __uint64_t owner, int whichfork, xfs_fileoff_t startoff,
++ uint64_t owner, int whichfork, xfs_fileoff_t startoff,
+ xfs_fsblock_t startblock, xfs_filblks_t blockcount,
+ xfs_exntst_t state, struct xfs_btree_cur **pcur);
+
+diff --git a/libxfs/xfs_rmap_btree.c b/libxfs/xfs_rmap_btree.c
+index a186c872..45ac436f 100644
+--- a/libxfs/xfs_rmap_btree.c
++++ b/libxfs/xfs_rmap_btree.c
+@@ -197,7 +197,7 @@ xfs_rmapbt_init_high_key_from_rec(
+ union xfs_btree_key *key,
+ union xfs_btree_rec *rec)
+ {
+- __uint64_t off;
++ uint64_t off;
+ int adj;
+
+ adj = be32_to_cpu(rec->rmap.rm_blockcount) - 1;
+@@ -239,7 +239,7 @@ xfs_rmapbt_init_ptr_from_cur(
+ ptr->s = agf->agf_roots[cur->bc_btnum];
+ }
+
+-STATIC __int64_t
++STATIC int64_t
+ xfs_rmapbt_key_diff(
+ struct xfs_btree_cur *cur,
+ union xfs_btree_key *key)
+@@ -247,9 +247,9 @@ xfs_rmapbt_key_diff(
+ struct xfs_rmap_irec *rec = &cur->bc_rec.r;
+ struct xfs_rmap_key *kp = &key->rmap;
+ __u64 x, y;
+- __int64_t d;
++ int64_t d;
+
+- d = (__int64_t)be32_to_cpu(kp->rm_startblock) - rec->rm_startblock;
++ d = (int64_t)be32_to_cpu(kp->rm_startblock) - rec->rm_startblock;
+ if (d)
+ return d;
+
+@@ -269,7 +269,7 @@ xfs_rmapbt_key_diff(
+ return 0;
+ }
+
+-STATIC __int64_t
++STATIC int64_t
+ xfs_rmapbt_diff_two_keys(
+ struct xfs_btree_cur *cur,
+ union xfs_btree_key *k1,
+@@ -277,10 +277,10 @@ xfs_rmapbt_diff_two_keys(
+ {
+ struct xfs_rmap_key *kp1 = &k1->rmap;
+ struct xfs_rmap_key *kp2 = &k2->rmap;
+- __int64_t d;
++ int64_t d;
+ __u64 x, y;
+
+- d = (__int64_t)be32_to_cpu(kp1->rm_startblock) -
++ d = (int64_t)be32_to_cpu(kp1->rm_startblock) -
+ be32_to_cpu(kp2->rm_startblock);
+ if (d)
+ return d;
+@@ -382,10 +382,10 @@ xfs_rmapbt_keys_inorder(
+ union xfs_btree_key *k1,
+ union xfs_btree_key *k2)
+ {
+- __uint32_t x;
+- __uint32_t y;
+- __uint64_t a;
+- __uint64_t b;
++ uint32_t x;
++ uint32_t y;
++ uint64_t a;
++ uint64_t b;
+
+ x = be32_to_cpu(k1->rmap.rm_startblock);
+ y = be32_to_cpu(k2->rmap.rm_startblock);
+@@ -412,10 +412,10 @@ xfs_rmapbt_recs_inorder(
+ union xfs_btree_rec *r1,
+ union xfs_btree_rec *r2)
+ {
+- __uint32_t x;
+- __uint32_t y;
+- __uint64_t a;
+- __uint64_t b;
++ uint32_t x;
++ uint32_t y;
++ uint64_t a;
++ uint64_t b;
+
+ x = be32_to_cpu(r1->rmap.rm_startblock);
+ y = be32_to_cpu(r2->rmap.rm_startblock);
+diff --git a/libxfs/xfs_rtbitmap.c b/libxfs/xfs_rtbitmap.c
+index dbd2f881..8f8a99d6 100644
+--- a/libxfs/xfs_rtbitmap.c
++++ b/libxfs/xfs_rtbitmap.c
+@@ -1006,7 +1006,7 @@ xfs_rtfree_extent(
+ mp->m_sb.sb_rextents) {
+ if (!(mp->m_rbmip->i_d.di_flags & XFS_DIFLAG_NEWRTBM))
+ mp->m_rbmip->i_d.di_flags |= XFS_DIFLAG_NEWRTBM;
+- *(__uint64_t *)&VFS_I(mp->m_rbmip)->i_atime = 0;
++ *(uint64_t *)&VFS_I(mp->m_rbmip)->i_atime = 0;
+ xfs_trans_log_inode(tp, mp->m_rbmip, XFS_ILOG_CORE);
+ }
+ return 0;
+diff --git a/libxfs/xfs_sb.c b/libxfs/xfs_sb.c
+index 93a18190..51f69704 100644
+--- a/libxfs/xfs_sb.c
++++ b/libxfs/xfs_sb.c
+@@ -430,7 +430,7 @@ xfs_sb_quota_to_disk(
+ struct xfs_dsb *to,
+ struct xfs_sb *from)
+ {
+- __uint16_t qflags = from->sb_qflags;
++ uint16_t qflags = from->sb_qflags;
+
+ to->sb_uquotino = cpu_to_be64(from->sb_uquotino);
+ if (xfs_sb_version_has_pquotino(from)) {
+@@ -738,7 +738,7 @@ xfs_sb_mount_common(
+ mp->m_refc_mnr[1] = mp->m_refc_mxr[1] / 2;
+
+ mp->m_bsize = XFS_FSB_TO_BB(mp, 1);
+- mp->m_ialloc_inos = (int)MAX((__uint16_t)XFS_INODES_PER_CHUNK,
++ mp->m_ialloc_inos = (int)MAX((uint16_t)XFS_INODES_PER_CHUNK,
+ sbp->sb_inopblock);
+ mp->m_ialloc_blks = mp->m_ialloc_inos >> sbp->sb_inopblog;
+
+diff --git a/libxfs/xfs_types.h b/libxfs/xfs_types.h
+index 717909f2..0220159b 100644
+--- a/libxfs/xfs_types.h
++++ b/libxfs/xfs_types.h
+@@ -18,34 +18,34 @@
+ #ifndef __XFS_TYPES_H__
+ #define __XFS_TYPES_H__
+
+-typedef __uint32_t prid_t; /* project ID */
++typedef uint32_t prid_t; /* project ID */
+
+-typedef __uint32_t xfs_agblock_t; /* blockno in alloc. group */
+-typedef __uint32_t xfs_agino_t; /* inode # within allocation grp */
+-typedef __uint32_t xfs_extlen_t; /* extent length in blocks */
+-typedef __uint32_t xfs_agnumber_t; /* allocation group number */
+-typedef __int32_t xfs_extnum_t; /* # of extents in a file */
+-typedef __int16_t xfs_aextnum_t; /* # extents in an attribute fork */
+-typedef __int64_t xfs_fsize_t; /* bytes in a file */
+-typedef __uint64_t xfs_ufsize_t; /* unsigned bytes in a file */
++typedef uint32_t xfs_agblock_t; /* blockno in alloc. group */
++typedef uint32_t xfs_agino_t; /* inode # within allocation grp */
++typedef uint32_t xfs_extlen_t; /* extent length in blocks */
++typedef uint32_t xfs_agnumber_t; /* allocation group number */
++typedef int32_t xfs_extnum_t; /* # of extents in a file */
++typedef int16_t xfs_aextnum_t; /* # extents in an attribute fork */
++typedef int64_t xfs_fsize_t; /* bytes in a file */
++typedef uint64_t xfs_ufsize_t; /* unsigned bytes in a file */
+
+-typedef __int32_t xfs_suminfo_t; /* type of bitmap summary info */
+-typedef __int32_t xfs_rtword_t; /* word type for bitmap manipulations */
++typedef int32_t xfs_suminfo_t; /* type of bitmap summary info */
++typedef int32_t xfs_rtword_t; /* word type for bitmap manipulations */
+
+-typedef __int64_t xfs_lsn_t; /* log sequence number */
+-typedef __int32_t xfs_tid_t; /* transaction identifier */
++typedef int64_t xfs_lsn_t; /* log sequence number */
++typedef int32_t xfs_tid_t; /* transaction identifier */
+
+-typedef __uint32_t xfs_dablk_t; /* dir/attr block number (in file) */
+-typedef __uint32_t xfs_dahash_t; /* dir/attr hash value */
++typedef uint32_t xfs_dablk_t; /* dir/attr block number (in file) */
++typedef uint32_t xfs_dahash_t; /* dir/attr hash value */
+
+-typedef __uint64_t xfs_fsblock_t; /* blockno in filesystem (agno|agbno) */
+-typedef __uint64_t xfs_rfsblock_t; /* blockno in filesystem (raw) */
+-typedef __uint64_t xfs_rtblock_t; /* extent (block) in realtime area */
+-typedef __uint64_t xfs_fileoff_t; /* block number in a file */
+-typedef __uint64_t xfs_filblks_t; /* number of blocks in a file */
++typedef uint64_t xfs_fsblock_t; /* blockno in filesystem (agno|agbno) */
++typedef uint64_t xfs_rfsblock_t; /* blockno in filesystem (raw) */
++typedef uint64_t xfs_rtblock_t; /* extent (block) in realtime area */
++typedef uint64_t xfs_fileoff_t; /* block number in a file */
++typedef uint64_t xfs_filblks_t; /* number of blocks in a file */
+
+-typedef __int64_t xfs_srtblock_t; /* signed version of xfs_rtblock_t */
+-typedef __int64_t xfs_sfiloff_t; /* signed block number in a file */
++typedef int64_t xfs_srtblock_t; /* signed version of xfs_rtblock_t */
++typedef int64_t xfs_sfiloff_t; /* signed block number in a file */
+
+ /*
+ * Null values for the types.
+@@ -125,7 +125,7 @@ struct xfs_name {
+ * uid_t and gid_t are hard-coded to 32 bits in the inode.
+ * Hence, an 'id' in a dquot is 32 bits..
+ */
+-typedef __uint32_t xfs_dqid_t;
++typedef uint32_t xfs_dqid_t;
+
+ /*
+ * Constants for bit manipulations.
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-xfsprogs-remove-double-underscore-integer-types.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-xfsprogs-remove-double-underscore-integer-types.patch
new file mode 100644
index 000000000..5e08f0d84
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-xfsprogs-remove-double-underscore-integer-types.patch
@@ -0,0 +1,3800 @@
+From 14f8b6810bd240cc58131483790a099fcf56c073 Mon Sep 17 00:00:00 2001
+From: "Darrick J. Wong" <darrick.wong@oracle.com>
+Date: Fri, 4 Aug 2017 16:33:51 -0500
+Subject: [PATCH] xfsprogs: remove double-underscore integer types
+
+This is a purely mechanical patch that removes the private
+__{u,}int{8,16,32,64}_t typedefs in favor of using the system
+{u,}int{8,16,32,64}_t typedefs. This is the sed script used to perform
+the transformation and fix the resulting whitespace and indentation
+errors:
+
+s/typedef\t__uint8_t/typedef __uint8_t\t/g
+s/typedef\t__uint/typedef __uint/g
+s/typedef\t__int\([0-9]*\)_t/typedef int\1_t\t/g
+s/__uint8_t\t/__uint8_t\t\t/g
+s/__uint/uint/g
+s/__int\([0-9]*\)_t\t/__int\1_t\t\t/g
+s/__int/int/g
+/^typedef.*int[0-9]*_t;$/d
+
+Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
+Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
+[sandeen: fix whitespace incidentals]
+Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
+Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
+---
+ copy/xfs_copy.c | 14 ++++-----
+ copy/xfs_copy.h | 2 +-
+ db/attr.c | 8 ++---
+ db/attrshort.c | 4 +--
+ db/bit.c | 4 +--
+ db/bit.h | 2 +-
+ db/block.c | 8 ++---
+ db/check.c | 18 +++++------
+ db/convert.c | 28 ++++++++---------
+ db/faddr.c | 14 ++++-----
+ db/field.c | 44 +++++++++++++--------------
+ db/fprint.c | 8 ++---
+ db/frag.c | 8 ++---
+ db/inode.c | 34 ++++++++++-----------
+ db/io.c | 2 +-
+ db/io.h | 6 ++--
+ db/metadump.c | 12 ++++----
+ db/sb.c | 6 ++--
+ fsr/xfs_fsr.c | 2 +-
+ include/darwin.h | 18 +++++------
+ include/freebsd.h | 6 ++--
+ include/gnukfreebsd.h | 6 ++--
+ include/libxcmd.h | 6 ++--
+ include/linux.h | 8 ++---
+ include/xfs_arch.h | 22 +++++++-------
+ include/xfs_inode.h | 4 +--
+ include/xfs_log_recover.h | 2 +-
+ include/xfs_metadump.h | 4 +--
+ include/xfs_mount.h | 22 +++++++-------
+ libhandle/handle.c | 2 +-
+ libhandle/jdm.c | 2 +-
+ libxcmd/topology.c | 14 ++++-----
+ libxfs/darwin.c | 2 +-
+ libxfs/freebsd.c | 2 +-
+ libxfs/init.c | 2 +-
+ libxfs/irix.c | 2 +-
+ libxfs/libxfs_priv.h | 4 +--
+ libxfs/linux.c | 2 +-
+ libxfs/logitem.c | 2 +-
+ libxfs/radix-tree.c | 8 ++---
+ libxfs/rdwr.c | 6 ++--
+ libxfs/util.c | 8 ++---
+ logprint/log_misc.c | 6 ++--
+ mdrestore/xfs_mdrestore.c | 2 +-
+ mkfs/proto.c | 2 +-
+ mkfs/xfs_mkfs.c | 76 +++++++++++++++++++++++------------------------
+ quota/edit.c | 64 +++++++++++++++++++--------------------
+ quota/free.c | 44 +++++++++++++--------------
+ quota/quot.c | 24 +++++++--------
+ quota/quota.c | 4 +--
+ quota/quota.h | 12 ++++----
+ quota/report.c | 4 +--
+ quota/state.c | 2 +-
+ quota/util.c | 66 ++++++++++++++++++++--------------------
+ repair/README | 2 +-
+ repair/agheader.h | 14 ++++-----
+ repair/attr_repair.h | 26 ++++++++--------
+ repair/avl64.c | 38 ++++++++++++------------
+ repair/avl64.h | 18 +++++------
+ repair/dinode.c | 38 ++++++++++++------------
+ repair/dinode.h | 4 +--
+ repair/dir2.c | 2 +-
+ repair/globals.h | 18 +++++------
+ repair/incore.c | 10 +++----
+ repair/incore.h | 46 ++++++++++++++--------------
+ repair/incore_ext.c | 6 ++--
+ repair/incore_ino.c | 72 ++++++++++++++++++++++----------------------
+ repair/phase2.c | 2 +-
+ repair/phase3.c | 6 ++--
+ repair/phase4.c | 4 +--
+ repair/phase5.c | 28 ++++++++---------
+ repair/phase6.c | 16 +++++-----
+ repair/phase7.c | 6 ++--
+ repair/progress.c | 30 +++++++++----------
+ repair/progress.h | 4 +--
+ repair/rmap.c | 18 +++++------
+ repair/rmap.h | 2 +-
+ repair/sb.c | 24 +++++++--------
+ repair/scan.c | 50 +++++++++++++++----------------
+ repair/scan.h | 12 ++++----
+ 80 files changed, 590 insertions(+), 590 deletions(-)
+
+diff --git a/copy/xfs_copy.c b/copy/xfs_copy.c
+index a7da824f..33e05dfd 100644
+--- a/copy/xfs_copy.c
++++ b/copy/xfs_copy.c
+@@ -43,7 +43,7 @@ unsigned int source_sectorsize; /* source disk sectorsize */
+
+ xfs_agblock_t first_agbno;
+
+-__uint64_t barcount[11];
++uint64_t barcount[11];
+
+ unsigned int num_targets;
+ target_control *target;
+@@ -313,7 +313,7 @@ usage(void)
+ }
+
+ void
+-init_bar(__uint64_t source_blocks)
++init_bar(uint64_t source_blocks)
+ {
+ int i;
+
+@@ -322,7 +322,7 @@ init_bar(__uint64_t source_blocks)
+ }
+
+ int
+-bump_bar(int tenths, __uint64_t numblocks)
++bump_bar(int tenths, uint64_t numblocks)
+ {
+ static char *bar[11] = {
+ " 0% ",
+@@ -534,8 +534,8 @@ main(int argc, char **argv)
+ xfs_off_t pos;
+ size_t length;
+ int c;
+- __uint64_t size, sizeb;
+- __uint64_t numblocks = 0;
++ uint64_t size, sizeb;
++ uint64_t numblocks = 0;
+ int wblocks = 0;
+ int num_threads = 0;
+ struct dioattr d;
+@@ -951,8 +951,8 @@ main(int argc, char **argv)
+ num_ags = mp->m_sb.sb_agcount;
+
+ init_bar(mp->m_sb.sb_blocksize / BBSIZE
+- * ((__uint64_t)mp->m_sb.sb_dblocks
+- - (__uint64_t)mp->m_sb.sb_fdblocks + 10 * num_ags));
++ * ((uint64_t)mp->m_sb.sb_dblocks
++ - (uint64_t)mp->m_sb.sb_fdblocks + 10 * num_ags));
+
+ kids = num_targets;
+
+diff --git a/copy/xfs_copy.h b/copy/xfs_copy.h
+index 27370688..53c6e42c 100644
+--- a/copy/xfs_copy.h
++++ b/copy/xfs_copy.h
+@@ -76,7 +76,7 @@ typedef struct {
+
+ typedef int thread_id;
+ typedef int tm_index; /* index into thread mask array */
+-typedef __uint32_t thread_mask; /* a thread mask */
++typedef uint32_t thread_mask; /* a thread mask */
+
+ typedef struct {
+ char *name;
+diff --git a/db/attr.c b/db/attr.c
+index 31536a8b..23ffcd5f 100644
+--- a/db/attr.c
++++ b/db/attr.c
+@@ -77,16 +77,16 @@ const field_t attr_leaf_entry_flds[] = {
+ { "nameidx", FLDT_UINT16D, OI(LEOFF(nameidx)), C1, 0, TYP_NONE },
+ { "flags", FLDT_UINT8X, OI(LEOFF(flags)), C1, FLD_SKIPALL, TYP_NONE },
+ { "incomplete", FLDT_UINT1,
+- OI(LEOFF(flags) + bitsz(__uint8_t) - XFS_ATTR_INCOMPLETE_BIT - 1), C1,
++ OI(LEOFF(flags) + bitsz(uint8_t) - XFS_ATTR_INCOMPLETE_BIT - 1), C1,
+ 0, TYP_NONE },
+ { "root", FLDT_UINT1,
+- OI(LEOFF(flags) + bitsz(__uint8_t) - XFS_ATTR_ROOT_BIT - 1), C1, 0,
++ OI(LEOFF(flags) + bitsz(uint8_t) - XFS_ATTR_ROOT_BIT - 1), C1, 0,
+ TYP_NONE },
+ { "secure", FLDT_UINT1,
+- OI(LEOFF(flags) + bitsz(__uint8_t) - XFS_ATTR_SECURE_BIT - 1), C1, 0,
++ OI(LEOFF(flags) + bitsz(uint8_t) - XFS_ATTR_SECURE_BIT - 1), C1, 0,
+ TYP_NONE },
+ { "local", FLDT_UINT1,
+- OI(LEOFF(flags) + bitsz(__uint8_t) - XFS_ATTR_LOCAL_BIT - 1), C1, 0,
++ OI(LEOFF(flags) + bitsz(uint8_t) - XFS_ATTR_LOCAL_BIT - 1), C1, 0,
+ TYP_NONE },
+ { "pad2", FLDT_UINT8X, OI(LEOFF(pad2)), C1, FLD_SKIPALL, TYP_NONE },
+ { NULL }
+diff --git a/db/attrshort.c b/db/attrshort.c
+index d82559cc..2ef358f5 100644
+--- a/db/attrshort.c
++++ b/db/attrshort.c
+@@ -51,10 +51,10 @@ const field_t attr_sf_entry_flds[] = {
+ { "valuelen", FLDT_UINT8D, OI(EOFF(valuelen)), C1, 0, TYP_NONE },
+ { "flags", FLDT_UINT8X, OI(EOFF(flags)), C1, FLD_SKIPALL, TYP_NONE },
+ { "root", FLDT_UINT1,
+- OI(EOFF(flags) + bitsz(__uint8_t) - XFS_ATTR_ROOT_BIT - 1), C1, 0,
++ OI(EOFF(flags) + bitsz(uint8_t) - XFS_ATTR_ROOT_BIT - 1), C1, 0,
+ TYP_NONE },
+ { "secure", FLDT_UINT1,
+- OI(EOFF(flags) + bitsz(__uint8_t) - XFS_ATTR_SECURE_BIT - 1), C1, 0,
++ OI(EOFF(flags) + bitsz(uint8_t) - XFS_ATTR_SECURE_BIT - 1), C1, 0,
+ TYP_NONE },
+ { "name", FLDT_CHARNS, OI(EOFF(nameval)), attr_sf_entry_name_count,
+ FLD_COUNT, TYP_NONE },
+diff --git a/db/bit.c b/db/bit.c
+index 24872bf7..f5ebf681 100644
+--- a/db/bit.c
++++ b/db/bit.c
+@@ -60,7 +60,7 @@ setbit(
+ }
+ }
+
+-__int64_t
++int64_t
+ getbitval(
+ void *obj,
+ int bitoff,
+@@ -70,7 +70,7 @@ getbitval(
+ int bit;
+ int i;
+ char *p;
+- __int64_t rval;
++ int64_t rval;
+ int signext;
+ int z1, z2, z3, z4;
+
+diff --git a/db/bit.h b/db/bit.h
+index 80ba24c4..9fd71f4b 100644
+--- a/db/bit.h
++++ b/db/bit.h
+@@ -25,5 +25,5 @@
+ #define BVUNSIGNED 0
+ #define BVSIGNED 1
+
+-extern __int64_t getbitval(void *obj, int bitoff, int nbits, int flags);
++extern int64_t getbitval(void *obj, int bitoff, int nbits, int flags);
+ extern void setbitval(void *obuf, int bitoff, int nbits, void *ibuf);
+diff --git a/db/block.c b/db/block.c
+index 4a357ced..5ecd687a 100644
+--- a/db/block.c
++++ b/db/block.c
+@@ -98,7 +98,7 @@ ablock_f(
+ }
+ dfsbno = bm.startblock + (bno - bm.startoff);
+ ASSERT(typtab[TYP_ATTR].typnm == TYP_ATTR);
+- set_cur(&typtab[TYP_ATTR], (__int64_t)XFS_FSB_TO_DADDR(mp, dfsbno),
++ set_cur(&typtab[TYP_ATTR], (int64_t)XFS_FSB_TO_DADDR(mp, dfsbno),
+ blkbb, DB_RING_ADD, NULL);
+ return 0;
+ }
+@@ -128,14 +128,14 @@ daddr_f(
+ int argc,
+ char **argv)
+ {
+- __int64_t d;
++ int64_t d;
+ char *p;
+
+ if (argc == 1) {
+ dbprintf(_("current daddr is %lld\n"), iocur_top->off >> BBSHIFT);
+ return 0;
+ }
+- d = (__int64_t)strtoull(argv[1], &p, 0);
++ d = (int64_t)strtoull(argv[1], &p, 0);
+ if (*p != '\0' ||
+ d >= mp->m_sb.sb_dblocks << (mp->m_sb.sb_blocklog - BBSHIFT)) {
+ dbprintf(_("bad daddr %s\n"), argv[1]);
+@@ -197,7 +197,7 @@ dblock_f(
+ ASSERT(typtab[type].typnm == type);
+ if (nex > 1)
+ make_bbmap(&bbmap, nex, bmp);
+- set_cur(&typtab[type], (__int64_t)XFS_FSB_TO_DADDR(mp, dfsbno),
++ set_cur(&typtab[type], (int64_t)XFS_FSB_TO_DADDR(mp, dfsbno),
+ nb * blkbb, DB_RING_ADD, nex > 1 ? &bbmap : NULL);
+ free(bmp);
+ return 0;
+diff --git a/db/check.c b/db/check.c
+index 8e618a23..81ba63a6 100644
+--- a/db/check.c
++++ b/db/check.c
+@@ -114,8 +114,8 @@ typedef struct dirhash {
+
+ static xfs_extlen_t agffreeblks;
+ static xfs_extlen_t agflongest;
+-static __uint64_t agf_aggr_freeblks; /* aggregate count over all */
+-static __uint32_t agfbtreeblks;
++static uint64_t agf_aggr_freeblks; /* aggregate count over all */
++static uint32_t agfbtreeblks;
+ static int lazycount;
+ static xfs_agino_t agicount;
+ static xfs_agino_t agifreecount;
+@@ -124,10 +124,10 @@ static int blist_size;
+ static char **dbmap; /* really dbm_t:8 */
+ static dirhash_t **dirhash;
+ static int error;
+-static __uint64_t fdblocks;
+-static __uint64_t frextents;
+-static __uint64_t icount;
+-static __uint64_t ifree;
++static uint64_t fdblocks;
++static uint64_t frextents;
++static uint64_t icount;
++static uint64_t ifree;
+ static inodata_t ***inodata;
+ static int inodata_hash_size;
+ static inodata_t ***inomap;
+@@ -1187,7 +1187,7 @@ blocktrash_f(
+ goto out;
+ }
+ for (i = 0; i < count; i++) {
+- randb = (xfs_rfsblock_t)((((__int64_t)random() << 32) |
++ randb = (xfs_rfsblock_t)((((int64_t)random() << 32) |
+ random()) % blocks);
+ for (bi = 0, agno = 0, done = 0;
+ !done && agno < mp->m_sb.sb_agcount;
+@@ -3032,7 +3032,7 @@ process_leaf_node_dir_v2(
+ }
+ if (v)
+ dbprintf(_("dir inode %lld block %u=%llu\n"), id->ino,
+- (__uint32_t)dbno,
++ (uint32_t)dbno,
+ (xfs_fsblock_t)bmp->startblock);
+ push_cur();
+ if (nex > 1)
+@@ -3045,7 +3045,7 @@ process_leaf_node_dir_v2(
+ if (!sflag || v)
+ dbprintf(_("can't read block %u for directory "
+ "inode %lld\n"),
+- (__uint32_t)dbno, id->ino);
++ (uint32_t)dbno, id->ino);
+ error++;
+ pop_cur();
+ dbno += mp->m_dir_geo->fsbcount - 1;
+diff --git a/db/convert.c b/db/convert.c
+index a337abea..fa4f9623 100644
+--- a/db/convert.c
++++ b/db/convert.c
+@@ -24,13 +24,13 @@
+
+ #define M(A) (1 << CT_ ## A)
+ #define agblock_to_bytes(x) \
+- ((__uint64_t)(x) << mp->m_sb.sb_blocklog)
++ ((uint64_t)(x) << mp->m_sb.sb_blocklog)
+ #define agino_to_bytes(x) \
+- ((__uint64_t)(x) << mp->m_sb.sb_inodelog)
++ ((uint64_t)(x) << mp->m_sb.sb_inodelog)
+ #define agnumber_to_bytes(x) \
+- agblock_to_bytes((__uint64_t)(x) * mp->m_sb.sb_agblocks)
++ agblock_to_bytes((uint64_t)(x) * mp->m_sb.sb_agblocks)
+ #define daddr_to_bytes(x) \
+- ((__uint64_t)(x) << BBSHIFT)
++ ((uint64_t)(x) << BBSHIFT)
+ #define fsblock_to_bytes(x) \
+ (agnumber_to_bytes(XFS_FSB_TO_AGNO(mp, (x))) + \
+ agblock_to_bytes(XFS_FSB_TO_AGBNO(mp, (x))))
+@@ -38,7 +38,7 @@
+ (agnumber_to_bytes(XFS_INO_TO_AGNO(mp, (x))) + \
+ agino_to_bytes(XFS_INO_TO_AGINO(mp, (x))))
+ #define inoidx_to_bytes(x) \
+- ((__uint64_t)(x) << mp->m_sb.sb_inodelog)
++ ((uint64_t)(x) << mp->m_sb.sb_inodelog)
+
+ typedef enum {
+ CT_NONE = -1,
+@@ -68,7 +68,7 @@ typedef union {
+ xfs_agnumber_t agnumber;
+ int bboff;
+ int blkoff;
+- __uint64_t byte;
++ uint64_t byte;
+ xfs_daddr_t daddr;
+ xfs_fsblock_t fsblock;
+ xfs_ino_t ino;
+@@ -76,7 +76,7 @@ typedef union {
+ int inooff;
+ } cval_t;
+
+-static __uint64_t bytevalue(ctype_t ctype, cval_t *val);
++static uint64_t bytevalue(ctype_t ctype, cval_t *val);
+ static int convert_f(int argc, char **argv);
+ static int getvalue(char *s, ctype_t ctype, cval_t *val);
+ static ctype_t lookupcty(char *ctyname);
+@@ -118,7 +118,7 @@ static const cmdinfo_t convert_cmd =
+ { "convert", NULL, convert_f, 3, 9, 0, "type num [type num]... type",
+ "convert from one address form to another", NULL };
+
+-static __uint64_t
++static uint64_t
+ bytevalue(ctype_t ctype, cval_t *val)
+ {
+ switch (ctype) {
+@@ -129,9 +129,9 @@ bytevalue(ctype_t ctype, cval_t *val)
+ case CT_AGNUMBER:
+ return agnumber_to_bytes(val->agnumber);
+ case CT_BBOFF:
+- return (__uint64_t)val->bboff;
++ return (uint64_t)val->bboff;
+ case CT_BLKOFF:
+- return (__uint64_t)val->blkoff;
++ return (uint64_t)val->blkoff;
+ case CT_BYTE:
+ return val->byte;
+ case CT_DADDR:
+@@ -143,7 +143,7 @@ bytevalue(ctype_t ctype, cval_t *val)
+ case CT_INOIDX:
+ return inoidx_to_bytes(val->inoidx);
+ case CT_INOOFF:
+- return (__uint64_t)val->inooff;
++ return (uint64_t)val->inooff;
+ case CT_NONE:
+ case NCTS:
+ break;
+@@ -160,7 +160,7 @@ convert_f(int argc, char **argv)
+ cval_t cvals[NCTS] = {};
+ int i;
+ int mask;
+- __uint64_t v;
++ uint64_t v;
+ ctype_t wtype;
+
+ /* move past the "convert" command */
+@@ -262,7 +262,7 @@ static int
+ getvalue(char *s, ctype_t ctype, cval_t *val)
+ {
+ char *p;
+- __uint64_t v;
++ uint64_t v;
+
+ v = strtoull(s, &p, 0);
+ if (*p != '\0') {
+@@ -286,7 +286,7 @@ getvalue(char *s, ctype_t ctype, cval_t *val)
+ val->blkoff = (int)v;
+ break;
+ case CT_BYTE:
+- val->byte = (__uint64_t)v;
++ val->byte = (uint64_t)v;
+ break;
+ case CT_DADDR:
+ val->daddr = (xfs_daddr_t)v;
+diff --git a/db/faddr.c b/db/faddr.c
+index 877200bf..56207648 100644
+--- a/db/faddr.c
++++ b/db/faddr.c
+@@ -79,11 +79,11 @@ fa_attrblock(
+ typnm_t next)
+ {
+ bmap_ext_t bm;
+- __uint32_t bno;
++ uint32_t bno;
+ xfs_fsblock_t dfsbno;
+ int nex;
+
+- bno = (__uint32_t)getbitval(obj, bit, bitsz(bno), BVUNSIGNED);
++ bno = (uint32_t)getbitval(obj, bit, bitsz(bno), BVUNSIGNED);
+ if (bno == 0) {
+ dbprintf(_("null attribute block number, cannot set new addr\n"));
+ return;
+@@ -96,7 +96,7 @@ fa_attrblock(
+ }
+ dfsbno = bm.startblock + (bno - bm.startoff);
+ ASSERT(typtab[next].typnm == next);
+- set_cur(&typtab[next], (__int64_t)XFS_FSB_TO_DADDR(mp, dfsbno), blkbb,
++ set_cur(&typtab[next], (int64_t)XFS_FSB_TO_DADDR(mp, dfsbno), blkbb,
+ DB_RING_ADD, NULL);
+ }
+
+@@ -276,11 +276,11 @@ fa_dirblock(
+ {
+ bbmap_t bbmap;
+ bmap_ext_t *bmp;
+- __uint32_t bno;
++ uint32_t bno;
+ xfs_fsblock_t dfsbno;
+ int nex;
+
+- bno = (__uint32_t)getbitval(obj, bit, bitsz(bno), BVUNSIGNED);
++ bno = (uint32_t)getbitval(obj, bit, bitsz(bno), BVUNSIGNED);
+ if (bno == 0) {
+ dbprintf(_("null directory block number, cannot set new addr\n"));
+ return;
+@@ -297,7 +297,7 @@ fa_dirblock(
+ ASSERT(typtab[next].typnm == next);
+ if (nex > 1)
+ make_bbmap(&bbmap, nex, bmp);
+- set_cur(&typtab[next], (__int64_t)XFS_FSB_TO_DADDR(mp, dfsbno),
++ set_cur(&typtab[next], (int64_t)XFS_FSB_TO_DADDR(mp, dfsbno),
+ XFS_FSB_TO_BB(mp, mp->m_dir_geo->fsbcount), DB_RING_ADD,
+ nex > 1 ? &bbmap : NULL);
+ free(bmp);
+@@ -317,7 +317,7 @@ fa_drfsbno(
+ return;
+ }
+ ASSERT(typtab[next].typnm == next);
+- set_cur(&typtab[next], (__int64_t)XFS_FSB_TO_BB(mp, bno), blkbb,
++ set_cur(&typtab[next], (int64_t)XFS_FSB_TO_BB(mp, bno), blkbb,
+ DB_RING_ADD, NULL);
+ }
+
+diff --git a/db/field.c b/db/field.c
+index 865b0b71..f1e5f35e 100644
+--- a/db/field.c
++++ b/db/field.c
+@@ -83,7 +83,7 @@ const ftattr_t ftattrtab[] = {
+ attr_sf_entry_size, FTARG_SIZE, NULL, attr_sf_entry_flds },
+ { FLDT_ATTR_SF_HDR, "attr_sf_hdr", NULL, (char *)attr_sf_hdr_flds,
+ SI(bitsz(struct xfs_attr_sf_hdr)), 0, NULL, attr_sf_hdr_flds },
+- { FLDT_ATTRBLOCK, "attrblock", fp_num, "%u", SI(bitsz(__uint32_t)), 0,
++ { FLDT_ATTRBLOCK, "attrblock", fp_num, "%u", SI(bitsz(uint32_t)), 0,
+ fa_attrblock, NULL },
+ { FLDT_ATTRSHORT, "attrshort", NULL, (char *)attr_shortform_flds,
+ attrshort_size, FTARG_SIZE, NULL, attr_shortform_flds },
+@@ -199,7 +199,7 @@ const ftattr_t ftattrtab[] = {
+ SI(bitsz(struct xfs_refcount_rec)), 0, NULL, refcbt_rec_flds },
+
+ /* CRC field */
+- { FLDT_CRC, "crc", fp_crc, "%#x (%s)", SI(bitsz(__uint32_t)),
++ { FLDT_CRC, "crc", fp_crc, "%#x (%s)", SI(bitsz(uint32_t)),
+ 0, NULL, NULL },
+
+ { FLDT_DEV, "dev", fp_num, "%#x", SI(bitsz(xfs_dev_t)), 0, NULL, NULL },
+@@ -214,7 +214,7 @@ const ftattr_t ftattrtab[] = {
+ { FLDT_DINODE_CORE, "dinode_core", NULL, (char *)inode_core_flds,
+ SI(bitsz(xfs_dinode_t)), 0, NULL, inode_core_flds },
+ { FLDT_DINODE_FMT, "dinode_fmt", fp_dinode_fmt, NULL,
+- SI(bitsz(__int8_t)), 0, NULL, NULL },
++ SI(bitsz(int8_t)), 0, NULL, NULL },
+ { FLDT_DINODE_U, "dinode_u", NULL, (char *)inode_u_flds, inode_u_size,
+ FTARG_SIZE|FTARG_OKEMPTY, NULL, inode_u_flds },
+ { FLDT_DINODE_V3, "dinode_v3", NULL, (char *)inode_v3_flds,
+@@ -295,7 +295,7 @@ const ftattr_t ftattrtab[] = {
+ { FLDT_DA3_NODE_HDR, "dir_node_hdr", NULL, (char *)da3_node_hdr_flds,
+ SI(bitsz(struct xfs_da3_node_hdr)), 0, NULL, da3_node_hdr_flds },
+
+- { FLDT_DIRBLOCK, "dirblock", fp_num, "%u", SI(bitsz(__uint32_t)), 0,
++ { FLDT_DIRBLOCK, "dirblock", fp_num, "%u", SI(bitsz(uint32_t)), 0,
+ fa_dirblock, NULL },
+ { FLDT_DISK_DQUOT, "disk_dquot", NULL, (char *)disk_dquot_flds,
+ SI(bitsz(xfs_disk_dquot_t)), 0, NULL, disk_dquot_flds },
+@@ -335,15 +335,15 @@ const ftattr_t ftattrtab[] = {
+ FTARG_SIZE, NULL, inode_crc_flds },
+ { FLDT_INOFREE, "inofree", fp_num, "%#llx", SI(bitsz(xfs_inofree_t)), 0,
+ NULL, NULL },
+- { FLDT_INT16D, "int16d", fp_num, "%d", SI(bitsz(__int16_t)),
++ { FLDT_INT16D, "int16d", fp_num, "%d", SI(bitsz(int16_t)),
+ FTARG_SIGNED, NULL, NULL },
+- { FLDT_INT32D, "int32d", fp_num, "%d", SI(bitsz(__int32_t)),
++ { FLDT_INT32D, "int32d", fp_num, "%d", SI(bitsz(int32_t)),
+ FTARG_SIGNED, NULL, NULL },
+- { FLDT_INT64D, "int64d", fp_num, "%lld", SI(bitsz(__int64_t)),
++ { FLDT_INT64D, "int64d", fp_num, "%lld", SI(bitsz(int64_t)),
+ FTARG_SIGNED, NULL, NULL },
+- { FLDT_INT8D, "int8d", fp_num, "%d", SI(bitsz(__int8_t)), FTARG_SIGNED,
++ { FLDT_INT8D, "int8d", fp_num, "%d", SI(bitsz(int8_t)), FTARG_SIGNED,
+ NULL, NULL },
+- { FLDT_NSEC, "nsec", fp_num, "%09d", SI(bitsz(__int32_t)), FTARG_SIGNED,
++ { FLDT_NSEC, "nsec", fp_num, "%09d", SI(bitsz(int32_t)), FTARG_SIGNED,
+ NULL, NULL },
+ { FLDT_QCNT, "qcnt", fp_num, "%llu", SI(bitsz(xfs_qcnt_t)), 0, NULL,
+ NULL },
+@@ -356,34 +356,34 @@ const ftattr_t ftattrtab[] = {
+ { FLDT_SYMLINK_CRC, "symlink", NULL, (char *)symlink_crc_flds,
+ symlink_size, FTARG_SIZE, NULL, symlink_crc_flds },
+
+- { FLDT_TIME, "time", fp_time, NULL, SI(bitsz(__int32_t)), FTARG_SIGNED,
++ { FLDT_TIME, "time", fp_time, NULL, SI(bitsz(int32_t)), FTARG_SIGNED,
+ NULL, NULL },
+ { FLDT_TIMESTAMP, "timestamp", NULL, (char *)timestamp_flds,
+ SI(bitsz(xfs_timestamp_t)), 0, NULL, timestamp_flds },
+ { FLDT_UINT1, "uint1", fp_num, "%u", SI(1), 0, NULL, NULL },
+- { FLDT_UINT16D, "uint16d", fp_num, "%u", SI(bitsz(__uint16_t)), 0, NULL,
++ { FLDT_UINT16D, "uint16d", fp_num, "%u", SI(bitsz(uint16_t)), 0, NULL,
+ NULL },
+- { FLDT_UINT16O, "uint16o", fp_num, "%#o", SI(bitsz(__uint16_t)), 0,
++ { FLDT_UINT16O, "uint16o", fp_num, "%#o", SI(bitsz(uint16_t)), 0,
+ NULL, NULL },
+- { FLDT_UINT16X, "uint16x", fp_num, "%#x", SI(bitsz(__uint16_t)), 0,
++ { FLDT_UINT16X, "uint16x", fp_num, "%#x", SI(bitsz(uint16_t)), 0,
+ NULL, NULL },
+- { FLDT_UINT32D, "uint32d", fp_num, "%u", SI(bitsz(__uint32_t)), 0, NULL,
++ { FLDT_UINT32D, "uint32d", fp_num, "%u", SI(bitsz(uint32_t)), 0, NULL,
+ NULL },
+- { FLDT_UINT32O, "uint32o", fp_num, "%#o", SI(bitsz(__uint32_t)), 0,
++ { FLDT_UINT32O, "uint32o", fp_num, "%#o", SI(bitsz(uint32_t)), 0,
+ NULL, NULL },
+- { FLDT_UINT32X, "uint32x", fp_num, "%#x", SI(bitsz(__uint32_t)), 0,
++ { FLDT_UINT32X, "uint32x", fp_num, "%#x", SI(bitsz(uint32_t)), 0,
+ NULL, NULL },
+- { FLDT_UINT64D, "uint64d", fp_num, "%llu", SI(bitsz(__uint64_t)), 0,
++ { FLDT_UINT64D, "uint64d", fp_num, "%llu", SI(bitsz(uint64_t)), 0,
+ NULL, NULL },
+- { FLDT_UINT64O, "uint64o", fp_num, "%#llo", SI(bitsz(__uint64_t)), 0,
++ { FLDT_UINT64O, "uint64o", fp_num, "%#llo", SI(bitsz(uint64_t)), 0,
+ NULL, NULL },
+- { FLDT_UINT64X, "uint64x", fp_num, "%#llx", SI(bitsz(__uint64_t)), 0,
++ { FLDT_UINT64X, "uint64x", fp_num, "%#llx", SI(bitsz(uint64_t)), 0,
+ NULL, NULL },
+- { FLDT_UINT8D, "uint8d", fp_num, "%u", SI(bitsz(__uint8_t)), 0, NULL,
++ { FLDT_UINT8D, "uint8d", fp_num, "%u", SI(bitsz(uint8_t)), 0, NULL,
+ NULL },
+- { FLDT_UINT8O, "uint8o", fp_num, "%#o", SI(bitsz(__uint8_t)), 0, NULL,
++ { FLDT_UINT8O, "uint8o", fp_num, "%#o", SI(bitsz(uint8_t)), 0, NULL,
+ NULL },
+- { FLDT_UINT8X, "uint8x", fp_num, "%#x", SI(bitsz(__uint8_t)), 0, NULL,
++ { FLDT_UINT8X, "uint8x", fp_num, "%#x", SI(bitsz(uint8_t)), 0, NULL,
+ NULL },
+ { FLDT_UUID, "uuid", fp_uuid, NULL, SI(bitsz(uuid_t)), 0, NULL, NULL },
+ { FLDT_ZZZ, NULL }
+diff --git a/db/fprint.c b/db/fprint.c
+index fd7e7f45..261a31ef 100644
+--- a/db/fprint.c
++++ b/db/fprint.c
+@@ -80,7 +80,7 @@ fp_num(
+ int bitpos;
+ int i;
+ int isnull;
+- __int64_t val;
++ int64_t val;
+
+ for (i = 0, bitpos = bit;
+ i < count && !seenint();
+@@ -100,7 +100,7 @@ fp_num(
+ else if (size > 32)
+ dbprintf(fmtstr, val);
+ else
+- dbprintf(fmtstr, (__int32_t)val);
++ dbprintf(fmtstr, (int32_t)val);
+ if (i < count - 1)
+ dbprintf(" ");
+ }
+@@ -203,7 +203,7 @@ fp_crc(
+ {
+ int bitpos;
+ int i;
+- __int64_t val;
++ int64_t val;
+ char *ok;
+
+ switch (iocur_crc_valid()) {
+@@ -230,7 +230,7 @@ fp_crc(
+ if (size > 32)
+ dbprintf(fmtstr, val, ok);
+ else
+- dbprintf(fmtstr, (__int32_t)val, ok);
++ dbprintf(fmtstr, (int32_t)val, ok);
+ if (i < count - 1)
+ dbprintf(" ");
+ }
+diff --git a/db/frag.c b/db/frag.c
+index 8005e45d..d224f0c2 100644
+--- a/db/frag.c
++++ b/db/frag.c
+@@ -42,8 +42,8 @@ typedef struct extmap {
+
+ static int aflag;
+ static int dflag;
+-static __uint64_t extcount_actual;
+-static __uint64_t extcount_ideal;
++static uint64_t extcount_actual;
++static uint64_t extcount_ideal;
+ static int fflag;
+ static int lflag;
+ static int qflag;
+@@ -310,8 +310,8 @@ process_inode(
+ xfs_agino_t agino,
+ xfs_dinode_t *dip)
+ {
+- __uint64_t actual;
+- __uint64_t ideal;
++ uint64_t actual;
++ uint64_t ideal;
+ xfs_ino_t ino;
+ int skipa;
+ int skipd;
+diff --git a/db/inode.c b/db/inode.c
+index 8b7a41e4..6cc47d6a 100644
+--- a/db/inode.c
++++ b/db/inode.c
+@@ -119,49 +119,49 @@ const field_t inode_core_flds[] = {
+ { "dmstate", FLDT_UINT16D, OI(COFF(dmstate)), C1, 0, TYP_NONE },
+ { "flags", FLDT_UINT16X, OI(COFF(flags)), C1, FLD_SKIPALL, TYP_NONE },
+ { "newrtbm", FLDT_UINT1,
+- OI(COFF(flags) + bitsz(__uint16_t) - XFS_DIFLAG_NEWRTBM_BIT - 1), C1,
++ OI(COFF(flags) + bitsz(uint16_t) - XFS_DIFLAG_NEWRTBM_BIT - 1), C1,
+ 0, TYP_NONE },
+ { "prealloc", FLDT_UINT1,
+- OI(COFF(flags) + bitsz(__uint16_t) - XFS_DIFLAG_PREALLOC_BIT - 1), C1,
++ OI(COFF(flags) + bitsz(uint16_t) - XFS_DIFLAG_PREALLOC_BIT - 1), C1,
+ 0, TYP_NONE },
+ { "realtime", FLDT_UINT1,
+- OI(COFF(flags) + bitsz(__uint16_t) - XFS_DIFLAG_REALTIME_BIT - 1), C1,
++ OI(COFF(flags) + bitsz(uint16_t) - XFS_DIFLAG_REALTIME_BIT - 1), C1,
+ 0, TYP_NONE },
+ { "immutable", FLDT_UINT1,
+- OI(COFF(flags) + bitsz(__uint16_t) - XFS_DIFLAG_IMMUTABLE_BIT-1), C1,
++ OI(COFF(flags) + bitsz(uint16_t) - XFS_DIFLAG_IMMUTABLE_BIT-1), C1,
+ 0, TYP_NONE },
+ { "append", FLDT_UINT1,
+- OI(COFF(flags) + bitsz(__uint16_t) - XFS_DIFLAG_APPEND_BIT - 1), C1,
++ OI(COFF(flags) + bitsz(uint16_t) - XFS_DIFLAG_APPEND_BIT - 1), C1,
+ 0, TYP_NONE },
+ { "sync", FLDT_UINT1,
+- OI(COFF(flags) + bitsz(__uint16_t) - XFS_DIFLAG_SYNC_BIT - 1), C1,
++ OI(COFF(flags) + bitsz(uint16_t) - XFS_DIFLAG_SYNC_BIT - 1), C1,
+ 0, TYP_NONE },
+ { "noatime", FLDT_UINT1,
+- OI(COFF(flags) + bitsz(__uint16_t) - XFS_DIFLAG_NOATIME_BIT - 1), C1,
++ OI(COFF(flags) + bitsz(uint16_t) - XFS_DIFLAG_NOATIME_BIT - 1), C1,
+ 0, TYP_NONE },
+ { "nodump", FLDT_UINT1,
+- OI(COFF(flags) + bitsz(__uint16_t) - XFS_DIFLAG_NODUMP_BIT - 1), C1,
++ OI(COFF(flags) + bitsz(uint16_t) - XFS_DIFLAG_NODUMP_BIT - 1), C1,
+ 0, TYP_NONE },
+ { "rtinherit", FLDT_UINT1,
+- OI(COFF(flags) + bitsz(__uint16_t) - XFS_DIFLAG_RTINHERIT_BIT-1), C1,
++ OI(COFF(flags) + bitsz(uint16_t) - XFS_DIFLAG_RTINHERIT_BIT-1), C1,
+ 0, TYP_NONE },
+ { "projinherit", FLDT_UINT1,
+- OI(COFF(flags) + bitsz(__uint16_t) - XFS_DIFLAG_PROJINHERIT_BIT-1),C1,
++ OI(COFF(flags) + bitsz(uint16_t) - XFS_DIFLAG_PROJINHERIT_BIT-1), C1,
+ 0, TYP_NONE },
+ { "nosymlinks", FLDT_UINT1,
+- OI(COFF(flags) + bitsz(__uint16_t) - XFS_DIFLAG_NOSYMLINKS_BIT-1), C1,
++ OI(COFF(flags) + bitsz(uint16_t) - XFS_DIFLAG_NOSYMLINKS_BIT-1), C1,
+ 0, TYP_NONE },
+ { "extsz", FLDT_UINT1,
+- OI(COFF(flags) + bitsz(__uint16_t) - XFS_DIFLAG_EXTSIZE_BIT-1),C1,
++ OI(COFF(flags) + bitsz(uint16_t) - XFS_DIFLAG_EXTSIZE_BIT-1), C1,
+ 0, TYP_NONE },
+ { "extszinherit", FLDT_UINT1,
+- OI(COFF(flags) + bitsz(__uint16_t) - XFS_DIFLAG_EXTSZINHERIT_BIT-1),C1,
++ OI(COFF(flags) + bitsz(uint16_t) - XFS_DIFLAG_EXTSZINHERIT_BIT-1), C1,
+ 0, TYP_NONE },
+ { "nodefrag", FLDT_UINT1,
+- OI(COFF(flags) + bitsz(__uint16_t) - XFS_DIFLAG_NODEFRAG_BIT-1),C1,
++ OI(COFF(flags) + bitsz(uint16_t) - XFS_DIFLAG_NODEFRAG_BIT-1), C1,
+ 0, TYP_NONE },
+ { "filestream", FLDT_UINT1,
+- OI(COFF(flags) + bitsz(__uint16_t) - XFS_DIFLAG_FILESTREAM_BIT-1),C1,
++ OI(COFF(flags) + bitsz(uint16_t) - XFS_DIFLAG_FILESTREAM_BIT-1), C1,
+ 0, TYP_NONE },
+ { "gen", FLDT_UINT32D, OI(COFF(gen)), C1, 0, TYP_NONE },
+ { NULL }
+@@ -177,10 +177,10 @@ const field_t inode_v3_flds[] = {
+ { "inumber", FLDT_INO, OI(COFF(ino)), C1, 0, TYP_NONE },
+ { "uuid", FLDT_UUID, OI(COFF(uuid)), C1, 0, TYP_NONE },
+ { "reflink", FLDT_UINT1,
+- OI(COFF(flags2) + bitsz(__uint64_t) - XFS_DIFLAG2_REFLINK_BIT-1), C1,
++ OI(COFF(flags2) + bitsz(uint64_t) - XFS_DIFLAG2_REFLINK_BIT-1), C1,
+ 0, TYP_NONE },
+ { "cowextsz", FLDT_UINT1,
+- OI(COFF(flags2) + bitsz(__uint64_t) - XFS_DIFLAG2_COWEXTSIZE_BIT-1), C1,
++ OI(COFF(flags2) + bitsz(uint64_t) - XFS_DIFLAG2_COWEXTSIZE_BIT-1), C1,
+ 0, TYP_NONE },
+ { NULL }
+ };
+diff --git a/db/io.c b/db/io.c
+index 1f27f6b3..fd9b9f4b 100644
+--- a/db/io.c
++++ b/db/io.c
+@@ -545,7 +545,7 @@ set_cur(
+ struct xfs_buf *bp;
+ xfs_ino_t dirino;
+ xfs_ino_t ino;
+- __uint16_t mode;
++ uint16_t mode;
+ const struct xfs_buf_ops *ops = type ? type->bops : NULL;
+
+ if (iocur_sp < 0) {
+diff --git a/db/io.h b/db/io.h
+index 99730048..df0fdd75 100644
+--- a/db/io.h
++++ b/db/io.h
+@@ -25,7 +25,7 @@ typedef struct bbmap {
+ } bbmap_t;
+
+ typedef struct iocur {
+- __int64_t bb; /* BB number in filesystem of buf */
++ int64_t bb; /* BB number in filesystem of buf */
+ int blen; /* length of "buf", bb's */
+ int boff; /* data - buf */
+ void *buf; /* base address of buffer */
+@@ -33,7 +33,7 @@ typedef struct iocur {
+ xfs_ino_t dirino; /* current directory inode number */
+ xfs_ino_t ino; /* current inode number */
+ int len; /* length of "data", bytes */
+- __uint16_t mode; /* current inode's mode */
++ uint16_t mode; /* current inode's mode */
+ xfs_off_t off; /* fs offset of "data" in bytes */
+ const struct typ *typ; /* type of "data" */
+ bbmap_t *bbmap; /* map daddr if fragmented */
+@@ -57,7 +57,7 @@ extern void off_cur(int off, int len);
+ extern void pop_cur(void);
+ extern void print_iocur(char *tag, iocur_t *ioc);
+ extern void push_cur(void);
+-extern int read_buf(__int64_t daddr, int count, void *bufp);
++extern int read_buf(int64_t daddr, int count, void *bufp);
+ extern void write_cur(void);
+ extern void set_cur(const struct typ *type, xfs_daddr_t blknum,
+ int len, int ring_add, bbmap_t *bbmap);
+diff --git a/db/metadump.c b/db/metadump.c
+index 31bb5959..67bdf14e 100644
+--- a/db/metadump.c
++++ b/db/metadump.c
+@@ -175,7 +175,7 @@ write_index(void)
+ static int
+ write_buf_segment(
+ char *data,
+- __int64_t off,
++ int64_t off,
+ int len)
+ {
+ int i;
+@@ -1256,7 +1256,7 @@ process_sf_dir(
+ {
+ struct xfs_dir2_sf_hdr *sfp;
+ xfs_dir2_sf_entry_t *sfep;
+- __uint64_t ino_dir_size;
++ uint64_t ino_dir_size;
+ int i;
+
+ sfp = (struct xfs_dir2_sf_hdr *)XFS_DFORK_DPTR(dip);
+@@ -1322,7 +1322,7 @@ process_sf_dir(
+ static void
+ obfuscate_path_components(
+ char *buf,
+- __uint64_t len)
++ uint64_t len)
+ {
+ unsigned char *comp = (unsigned char *)buf;
+ unsigned char *end = comp + len;
+@@ -1359,7 +1359,7 @@ static void
+ process_sf_symlink(
+ xfs_dinode_t *dip)
+ {
+- __uint64_t len;
++ uint64_t len;
+ char *buf;
+
+ len = be64_to_cpu(dip->di_size);
+@@ -1631,7 +1631,7 @@ process_attr_block(
+ xfs_attr_leaf_entry_t *entry;
+ xfs_attr_leaf_name_local_t *local;
+ xfs_attr_leaf_name_remote_t *remote;
+- __uint32_t bs = mp->m_sb.sb_blocksize;
++ uint32_t bs = mp->m_sb.sb_blocksize;
+ char *first_name;
+
+
+@@ -2270,7 +2270,7 @@ done:
+ return success;
+ }
+
+-static __uint32_t inodes_copied = 0;
++static uint32_t inodes_copied;
+
+ static int
+ copy_inode_chunk(
+diff --git a/db/sb.c b/db/sb.c
+index 8e7722cd..f19248d7 100644
+--- a/db/sb.c
++++ b/db/sb.c
+@@ -606,7 +606,7 @@ version_help(void)
+ }
+
+ static int
+-do_version(xfs_agnumber_t agno, __uint16_t version, __uint32_t features)
++do_version(xfs_agnumber_t agno, uint16_t version, uint32_t features)
+ {
+ xfs_sb_t tsb;
+
+@@ -710,8 +710,8 @@ version_f(
+ int argc,
+ char **argv)
+ {
+- __uint16_t version = 0;
+- __uint32_t features = 0;
++ uint16_t version = 0;
++ uint32_t features = 0;
+ xfs_agnumber_t ag;
+
+ if (argc == 2) { /* WRITE VERSION */
+diff --git a/fsr/xfs_fsr.c b/fsr/xfs_fsr.c
+index 517b75f0..d4846a32 100644
+--- a/fsr/xfs_fsr.c
++++ b/fsr/xfs_fsr.c
+@@ -54,7 +54,7 @@ struct getbmap *outmap = NULL;
+ int outmap_size = 0;
+ int RealUid;
+ int tmp_agi;
+-static __int64_t minimumfree = 2048;
++static int64_t minimumfree = 2048;
+
+ #define MNTTYPE_XFS "xfs"
+
+diff --git a/include/darwin.h b/include/darwin.h
+index 7bbd5764..51031c42 100644
+--- a/include/darwin.h
++++ b/include/darwin.h
+@@ -125,15 +125,15 @@ typedef signed int __s32;
+ typedef unsigned long long int __u64;
+ typedef signed long long int __s64;
+
+-#define __int8_t int8_t
+-#define __int16_t int16_t
+-#define __int32_t int32_t
+-#define __int32_t int32_t
+-#define __int64_t int64_t
+-#define __uint8_t u_int8_t
+-#define __uint16_t u_int16_t
+-#define __uint32_t u_int32_t
+-#define __uint64_t u_int64_t
++#define int8_t int8_t
++#define int16_t int16_t
++#define int32_t int32_t
++#define int32_t int32_t
++#define int64_t int64_t
++#define uint8_t u_int8_t
++#define uint16_t u_int16_t
++#define uint32_t u_int32_t
++#define uint64_t u_int64_t
+
+ typedef off_t xfs_off_t;
+ typedef u_int64_t xfs_ino_t;
+diff --git a/include/freebsd.h b/include/freebsd.h
+index fb318b89..f52ed0a9 100644
+--- a/include/freebsd.h
++++ b/include/freebsd.h
+@@ -50,9 +50,9 @@ typedef unsigned long long int __u64;
+ typedef signed long long int __s64;
+
+ typedef off_t xfs_off_t;
+-typedef __uint64_t xfs_ino_t;
+-typedef __uint32_t xfs_dev_t;
+-typedef __int64_t xfs_daddr_t;
++typedef uint64_t xfs_ino_t;
++typedef uint32_t xfs_dev_t;
++typedef int64_t xfs_daddr_t;
+ typedef __u32 xfs_nlink_t;
+
+ #define O_LARGEFILE 0
+diff --git a/include/gnukfreebsd.h b/include/gnukfreebsd.h
+index 6916e65a..1db3f4f0 100644
+--- a/include/gnukfreebsd.h
++++ b/include/gnukfreebsd.h
+@@ -46,9 +46,9 @@ typedef unsigned long long int __u64;
+ typedef signed long long int __s64;
+
+ typedef off_t xfs_off_t;
+-typedef __uint64_t xfs_ino_t;
+-typedef __uint32_t xfs_dev_t;
+-typedef __int64_t xfs_daddr_t;
++typedef uint64_t xfs_ino_t;
++typedef uint32_t xfs_dev_t;
++typedef int64_t xfs_daddr_t;
+ typedef __u32 xfs_nlink_t;
+
+ #define HAVE_FID 1
+diff --git a/include/libxcmd.h b/include/libxcmd.h
+index e8d2ffc8..6806380c 100644
+--- a/include/libxcmd.h
++++ b/include/libxcmd.h
+@@ -42,10 +42,10 @@ get_topology(
+ extern void
+ calc_default_ag_geometry(
+ int blocklog,
+- __uint64_t dblocks,
++ uint64_t dblocks,
+ int multidisk,
+- __uint64_t *agsize,
+- __uint64_t *agcount);
++ uint64_t *agsize,
++ uint64_t *agcount);
+
+ extern int
+ check_overwrite(
+diff --git a/include/linux.h b/include/linux.h
+index 9611a37f..6ce344c5 100644
+--- a/include/linux.h
++++ b/include/linux.h
+@@ -132,7 +132,7 @@ static __inline__ void platform_uuid_copy(uuid_t *dst, uuid_t *src)
+ static __inline__ int
+ platform_discard_blocks(int fd, uint64_t start, uint64_t len)
+ {
+- __uint64_t range[2] = { start, len };
++ uint64_t range[2] = { start, len };
+
+ if (ioctl(fd, BLKDISCARD, &range) < 0)
+ return errno;
+@@ -144,9 +144,9 @@ platform_discard_blocks(int fd, uint64_t start, uint64_t len)
+ #define EFSBADCRC EBADMSG /* Bad CRC detected */
+
+ typedef off_t xfs_off_t;
+-typedef __uint64_t xfs_ino_t;
+-typedef __uint32_t xfs_dev_t;
+-typedef __int64_t xfs_daddr_t;
++typedef uint64_t xfs_ino_t;
++typedef uint32_t xfs_dev_t;
++typedef int64_t xfs_daddr_t;
+ typedef __u32 xfs_nlink_t;
+
+ /**
+diff --git a/include/xfs_arch.h b/include/xfs_arch.h
+index 12cd43e6..186cadba 100644
+--- a/include/xfs_arch.h
++++ b/include/xfs_arch.h
+@@ -244,39 +244,39 @@ static inline void be64_add_cpu(__be64 *a, __s64 b)
+ *a = cpu_to_be64(be64_to_cpu(*a) + b);
+ }
+
+-static inline __uint16_t get_unaligned_be16(void *p)
++static inline uint16_t get_unaligned_be16(void *p)
+ {
+- __uint8_t *__p = p;
++ uint8_t *__p = p;
+ return __p[0] << 8 | __p[1];
+ }
+
+-static inline __uint32_t get_unaligned_be32(void *p)
++static inline uint32_t get_unaligned_be32(void *p)
+ {
+- __uint8_t *__p = p;
++ uint8_t *__p = p;
+ return __p[0] << 24 | __p[1] << 16 | __p[2] << 8 | __p[3];
+ }
+
+-static inline __uint64_t get_unaligned_be64(void *p)
++static inline uint64_t get_unaligned_be64(void *p)
+ {
+- return (__uint64_t)get_unaligned_be32(p) << 32 |
++ return (uint64_t)get_unaligned_be32(p) << 32 |
+ get_unaligned_be32(p + 4);
+ }
+
+-static inline void put_unaligned_be16(__uint16_t val, void *p)
++static inline void put_unaligned_be16(uint16_t val, void *p)
+ {
+- __uint8_t *__p = p;
++ uint8_t *__p = p;
+ *__p++ = val >> 8;
+ *__p++ = val;
+ }
+
+-static inline void put_unaligned_be32(__uint32_t val, void *p)
++static inline void put_unaligned_be32(uint32_t val, void *p)
+ {
+- __uint8_t *__p = p;
++ uint8_t *__p = p;
+ put_unaligned_be16(val >> 16, __p);
+ put_unaligned_be16(val, __p + 2);
+ }
+
+-static inline void put_unaligned_be64(__uint64_t val, void *p)
++static inline void put_unaligned_be64(uint64_t val, void *p)
+ {
+ put_unaligned_be32(val >> 32, p);
+ put_unaligned_be32(val, p + 4);
+diff --git a/include/xfs_inode.h b/include/xfs_inode.h
+index fb6b5429..8766024e 100644
+--- a/include/xfs_inode.h
++++ b/include/xfs_inode.h
+@@ -123,8 +123,8 @@ xfs_get_projid(struct xfs_icdinode *id)
+ static inline void
+ xfs_set_projid(struct xfs_icdinode *id, prid_t projid)
+ {
+- id->di_projid_hi = (__uint16_t) (projid >> 16);
+- id->di_projid_lo = (__uint16_t) (projid & 0xffff);
++ id->di_projid_hi = (uint16_t) (projid >> 16);
++ id->di_projid_lo = (uint16_t) (projid & 0xffff);
+ }
+
+ static inline bool xfs_is_reflink_inode(struct xfs_inode *ip)
+diff --git a/include/xfs_log_recover.h b/include/xfs_log_recover.h
+index 7582676b..0d098628 100644
+--- a/include/xfs_log_recover.h
++++ b/include/xfs_log_recover.h
+@@ -26,7 +26,7 @@
+ #define XLOG_RHASH_SIZE 16
+ #define XLOG_RHASH_SHIFT 2
+ #define XLOG_RHASH(tid) \
+- ((((__uint32_t)tid)>>XLOG_RHASH_SHIFT) & (XLOG_RHASH_SIZE-1))
++ ((((uint32_t)tid)>>XLOG_RHASH_SHIFT) & (XLOG_RHASH_SIZE-1))
+
+ #define XLOG_MAX_REGIONS_IN_ITEM (XFS_MAX_BLOCKSIZE / XFS_BLF_CHUNK / 2 + 1)
+
+diff --git a/include/xfs_metadump.h b/include/xfs_metadump.h
+index 7f3039eb..13afb8dd 100644
+--- a/include/xfs_metadump.h
++++ b/include/xfs_metadump.h
+@@ -24,8 +24,8 @@
+ typedef struct xfs_metablock {
+ __be32 mb_magic;
+ __be16 mb_count;
+- __uint8_t mb_blocklog;
+- __uint8_t mb_info;
++ uint8_t mb_blocklog;
++ uint8_t mb_info;
+ /* followed by an array of xfs_daddr_t */
+ } xfs_metablock_t;
+
+diff --git a/include/xfs_mount.h b/include/xfs_mount.h
+index 5ff24ebf..5b323bb1 100644
+--- a/include/xfs_mount.h
++++ b/include/xfs_mount.h
+@@ -48,12 +48,12 @@ typedef struct xfs_mount {
+ #define m_dev m_ddev_targp
+ #define m_logdev m_logdev_targp
+ #define m_rtdev m_rtdev_targp
+- __uint8_t m_dircook_elog; /* log d-cookie entry bits */
+- __uint8_t m_blkbit_log; /* blocklog + NBBY */
+- __uint8_t m_blkbb_log; /* blocklog - BBSHIFT */
+- __uint8_t m_sectbb_log; /* sectorlog - BBSHIFT */
+- __uint8_t m_agno_log; /* log #ag's */
+- __uint8_t m_agino_log; /* #bits for agino in inum */
++ uint8_t m_dircook_elog; /* log d-cookie entry bits */
++ uint8_t m_blkbit_log; /* blocklog + NBBY */
++ uint8_t m_blkbb_log; /* blocklog - BBSHIFT */
++ uint8_t m_sectbb_log; /* sectorlog - BBSHIFT */
++ uint8_t m_agno_log; /* log #ag's */
++ uint8_t m_agino_log; /* #bits for agino in inum */
+ uint m_inode_cluster_size;/* min inode buf size */
+ uint m_blockmask; /* sb_blocksize-1 */
+ uint m_blockwsize; /* sb_blocksize in words */
+@@ -88,7 +88,7 @@ typedef struct xfs_mount {
+ int m_litino; /* size of inode union area */
+ int m_inoalign_mask;/* mask sb_inoalignmt if used */
+ struct xfs_trans_resv m_resv; /* precomputed res values */
+- __uint64_t m_maxicount; /* maximum inode count */
++ uint64_t m_maxicount; /* maximum inode count */
+ int m_dalign; /* stripe unit */
+ int m_swidth; /* stripe width */
+ int m_sinoalign; /* stripe unit inode alignmnt */
+@@ -144,12 +144,12 @@ typedef struct xfs_perag {
+ char pagi_init; /* this agi's entry is initialized */
+ char pagf_metadata; /* the agf is preferred to be metadata */
+ char pagi_inodeok; /* The agi is ok for inodes */
+- __uint8_t pagf_levels[XFS_BTNUM_AGF];
++ uint8_t pagf_levels[XFS_BTNUM_AGF];
+ /* # of levels in bno & cnt btree */
+- __uint32_t pagf_flcount; /* count of blocks in freelist */
++ uint32_t pagf_flcount; /* count of blocks in freelist */
+ xfs_extlen_t pagf_freeblks; /* total free blocks */
+ xfs_extlen_t pagf_longest; /* longest free space */
+- __uint32_t pagf_btreeblks; /* # of blocks held in AGF btrees */
++ uint32_t pagf_btreeblks; /* # of blocks held in AGF btrees */
+ xfs_agino_t pagi_freecount; /* number of free inodes */
+ xfs_agino_t pagi_count; /* number of allocated inodes */
+
+@@ -169,7 +169,7 @@ typedef struct xfs_perag {
+ struct xfs_ag_resv pag_agfl_resv;
+
+ /* reference count */
+- __uint8_t pagf_refcount_level;
++ uint8_t pagf_refcount_level;
+ } xfs_perag_t;
+
+ static inline struct xfs_ag_resv *
+diff --git a/libhandle/handle.c b/libhandle/handle.c
+index 236ed22a..00127b3c 100644
+--- a/libhandle/handle.c
++++ b/libhandle/handle.c
+@@ -232,7 +232,7 @@ obj_to_handle(
+ {
+ char hbuf [MAXHANSIZ];
+ int ret;
+- __uint32_t handlen;
++ uint32_t handlen;
+ xfs_fsop_handlereq_t hreq;
+
+ if (opcode == XFS_IOC_FD_TO_HANDLE) {
+diff --git a/libhandle/jdm.c b/libhandle/jdm.c
+index e52f5d83..821061b4 100644
+--- a/libhandle/jdm.c
++++ b/libhandle/jdm.c
+@@ -36,7 +36,7 @@ typedef struct filehandle {
+ fshandle_t fh_fshandle; /* handle of fs containing this inode */
+ int16_t fh_sz_following; /* bytes in handle after this member */
+ char fh_pad[FILEHANDLE_SZ_PAD]; /* padding, must be zeroed */
+- __uint32_t fh_gen; /* generation count */
++ uint32_t fh_gen; /* generation count */
+ xfs_ino_t fh_ino; /* 64 bit ino */
+ } filehandle_t;
+
+diff --git a/libxcmd/topology.c b/libxcmd/topology.c
+index 8b0276a7..f66dd1bc 100644
+--- a/libxcmd/topology.c
++++ b/libxcmd/topology.c
+@@ -23,19 +23,19 @@
+ #endif /* ENABLE_BLKID */
+ #include "xfs_multidisk.h"
+
+-#define TERABYTES(count, blog) ((__uint64_t)(count) << (40 - (blog)))
+-#define GIGABYTES(count, blog) ((__uint64_t)(count) << (30 - (blog)))
+-#define MEGABYTES(count, blog) ((__uint64_t)(count) << (20 - (blog)))
++#define TERABYTES(count, blog) ((uint64_t)(count) << (40 - (blog)))
++#define GIGABYTES(count, blog) ((uint64_t)(count) << (30 - (blog)))
++#define MEGABYTES(count, blog) ((uint64_t)(count) << (20 - (blog)))
+
+ void
+ calc_default_ag_geometry(
+ int blocklog,
+- __uint64_t dblocks,
++ uint64_t dblocks,
+ int multidisk,
+- __uint64_t *agsize,
+- __uint64_t *agcount)
++ uint64_t *agsize,
++ uint64_t *agcount)
+ {
+- __uint64_t blocks = 0;
++ uint64_t blocks = 0;
+ int shift = 0;
+
+ /*
+diff --git a/libxfs/darwin.c b/libxfs/darwin.c
+index 74507e81..16d2c35c 100644
+--- a/libxfs/darwin.c
++++ b/libxfs/darwin.c
+@@ -68,7 +68,7 @@ platform_flush_device(int fd, dev_t device)
+ void
+ platform_findsizes(char *path, int fd, long long *sz, int *bsz)
+ {
+- __uint64_t size;
++ uint64_t size;
+ struct stat st;
+
+ if (fstat(fd, &st) < 0) {
+diff --git a/libxfs/freebsd.c b/libxfs/freebsd.c
+index 4667d1f5..d7bca142 100644
+--- a/libxfs/freebsd.c
++++ b/libxfs/freebsd.c
+@@ -109,7 +109,7 @@ void
+ platform_findsizes(char *path, int fd, long long *sz, int *bsz)
+ {
+ struct stat st;
+- __int64_t size;
++ int64_t size;
+ u_int ssize;
+
+ if (fstat(fd, &st) < 0) {
+diff --git a/libxfs/init.c b/libxfs/init.c
+index fc14c5e4..0f41a853 100644
+--- a/libxfs/init.c
++++ b/libxfs/init.c
+@@ -546,7 +546,7 @@ libxfs_initialize_perag(
+ * the max inode percentage.
+ */
+ if (mp->m_maxicount) {
+- __uint64_t icount;
++ uint64_t icount;
+
+ icount = sbp->sb_dblocks * sbp->sb_imax_pct;
+ do_div(icount, 100);
+diff --git a/libxfs/irix.c b/libxfs/irix.c
+index 32fcb3e5..0f14aec7 100644
+--- a/libxfs/irix.c
++++ b/libxfs/irix.c
+@@ -22,7 +22,7 @@
+
+ int platform_has_uuid = 0;
+ extern char *progname;
+-extern __int64_t findsize(char *);
++extern int64_t findsize(char *);
+
+ int
+ platform_check_ismounted(char *name, char *block, struct stat *s, int verbose)
+diff --git a/libxfs/libxfs_priv.h b/libxfs/libxfs_priv.h
+index b4f766db..d525b667 100644
+--- a/libxfs/libxfs_priv.h
++++ b/libxfs/libxfs_priv.h
+@@ -296,8 +296,8 @@ roundup_pow_of_two(uint v)
+ return 0;
+ }
+
+-static inline __uint64_t
+-roundup_64(__uint64_t x, __uint32_t y)
++static inline uint64_t
++roundup_64(uint64_t x, uint32_t y)
+ {
+ x += y - 1;
+ do_div(x, y);
+diff --git a/libxfs/linux.c b/libxfs/linux.c
+index 69f04ad9..0bace3eb 100644
+--- a/libxfs/linux.c
++++ b/libxfs/linux.c
+@@ -163,7 +163,7 @@ void
+ platform_findsizes(char *path, int fd, long long *sz, int *bsz)
+ {
+ struct stat st;
+- __uint64_t size;
++ uint64_t size;
+ int error;
+
+ if (fstat(fd, &st) < 0) {
+diff --git a/libxfs/logitem.c b/libxfs/logitem.c
+index 7e93f609..466b4421 100644
+--- a/libxfs/logitem.c
++++ b/libxfs/logitem.c
+@@ -121,7 +121,7 @@ xfs_buf_item_init(
+ bip->bli_item.li_mountp = mp;
+ bip->bli_buf = bp;
+ bip->bli_format.blf_type = XFS_LI_BUF;
+- bip->bli_format.blf_blkno = (__int64_t)XFS_BUF_ADDR(bp);
++ bip->bli_format.blf_blkno = (int64_t)XFS_BUF_ADDR(bp);
+ bip->bli_format.blf_len = (unsigned short)BTOBB(XFS_BUF_COUNT(bp));
+ XFS_BUF_SET_FSPRIVATE(bp, bip);
+ }
+diff --git a/libxfs/radix-tree.c b/libxfs/radix-tree.c
+index eef9c36d..3f0257fe 100644
+--- a/libxfs/radix-tree.c
++++ b/libxfs/radix-tree.c
+@@ -66,21 +66,21 @@ static unsigned long height_to_maxindex[RADIX_TREE_MAX_PATH];
+ static inline void tag_set(struct radix_tree_node *node, unsigned int tag,
+ int offset)
+ {
+- *((__uint32_t *)node->tags[tag] + (offset >> 5)) |= (1 << (offset & 31));
++ *((uint32_t *)node->tags[tag] + (offset >> 5)) |= (1 << (offset & 31));
+ }
+
+ static inline void tag_clear(struct radix_tree_node *node, unsigned int tag,
+ int offset)
+ {
+- __uint32_t *p = (__uint32_t*)node->tags[tag] + (offset >> 5);
+- __uint32_t m = 1 << (offset & 31);
++ uint32_t *p = (uint32_t*)node->tags[tag] + (offset >> 5);
++ uint32_t m = 1 << (offset & 31);
+ *p &= ~m;
+ }
+
+ static inline int tag_get(struct radix_tree_node *node, unsigned int tag,
+ int offset)
+ {
+- return 1 & (((const __uint32_t *)node->tags[tag])[offset >> 5] >> (offset & 31));
++ return 1 & (((const uint32_t *)node->tags[tag])[offset >> 5] >> (offset & 31));
+ }
+
+ /*
+diff --git a/libxfs/rdwr.c b/libxfs/rdwr.c
+index 21c42f14..474e5ebc 100644
+--- a/libxfs/rdwr.c
++++ b/libxfs/rdwr.c
+@@ -118,9 +118,9 @@ static void unmount_record(void *p)
+ xlog_op_header_t *op = (xlog_op_header_t *)p;
+ /* the data section must be 32 bit size aligned */
+ struct {
+- __uint16_t magic;
+- __uint16_t pad1;
+- __uint32_t pad2; /* may as well make it 64 bits */
++ uint16_t magic;
++ uint16_t pad1;
++ uint32_t pad2; /* may as well make it 64 bits */
+ } magic = { XLOG_UNMOUNT_TYPE, 0, 0 };
+
+ memset(p, 0, BBSIZE);
+diff --git a/libxfs/util.c b/libxfs/util.c
+index dcfca397..7938e317 100644
+--- a/libxfs/util.c
++++ b/libxfs/util.c
+@@ -170,8 +170,8 @@ libxfs_trans_ichgtime(
+ if (flags & XFS_ICHGTIME_CHG)
+ VFS_I(ip)->i_ctime = tv;
+ if (flags & XFS_ICHGTIME_CREATE) {
+- ip->i_d.di_crtime.t_sec = (__int32_t)tv.tv_sec;
+- ip->i_d.di_crtime.t_nsec = (__int32_t)tv.tv_nsec;
++ ip->i_d.di_crtime.t_sec = (int32_t)tv.tv_sec;
++ ip->i_d.di_crtime.t_nsec = (int32_t)tv.tv_nsec;
+ }
+ }
+
+@@ -261,8 +261,8 @@ libxfs_ialloc(
+ ASSERT(uuid_equal(&ip->i_d.di_uuid, &mp->m_sb.sb_meta_uuid));
+ VFS_I(ip)->i_version = 1;
+ ip->i_d.di_flags2 = 0;
+- ip->i_d.di_crtime.t_sec = (__int32_t)VFS_I(ip)->i_mtime.tv_sec;
+- ip->i_d.di_crtime.t_nsec = (__int32_t)VFS_I(ip)->i_mtime.tv_nsec;
++ ip->i_d.di_crtime.t_sec = (int32_t)VFS_I(ip)->i_mtime.tv_sec;
++ ip->i_d.di_crtime.t_nsec = (int32_t)VFS_I(ip)->i_mtime.tv_nsec;
+ }
+
+ flags = XFS_ILOG_CORE;
+diff --git a/logprint/log_misc.c b/logprint/log_misc.c
+index 0dfcfd19..2fd01ceb 100644
+--- a/logprint/log_misc.c
++++ b/logprint/log_misc.c
+@@ -166,12 +166,12 @@ xlog_print_trans_header(char **ptr, int len)
+ {
+ xfs_trans_header_t *h;
+ char *cptr = *ptr;
+- __uint32_t magic;
++ uint32_t magic;
+ char *magic_c = (char *)&magic;
+
+ *ptr += len;
+
+- magic=*(__uint32_t*)cptr; /* XXX be32_to_cpu soon */
++ magic = *(uint32_t *)cptr; /* XXX be32_to_cpu soon */
+
+ if (len >= 4) {
+ #if __BYTE_ORDER == __LITTLE_ENDIAN
+@@ -201,7 +201,7 @@ xlog_print_trans_buffer(char **ptr, int len, int *i, int num_ops)
+ int num, skip;
+ int super_block = 0;
+ int bucket, col, buckets;
+- __int64_t blkno;
++ int64_t blkno;
+ xfs_buf_log_format_t lbuf;
+ int size, blen, map_size, struct_size;
+ __be64 x, y;
+diff --git a/mdrestore/xfs_mdrestore.c b/mdrestore/xfs_mdrestore.c
+index 9d1b4e80..c49c13aa 100644
+--- a/mdrestore/xfs_mdrestore.c
++++ b/mdrestore/xfs_mdrestore.c
+@@ -66,7 +66,7 @@ perform_restore(
+ int mb_count;
+ xfs_metablock_t tmb;
+ xfs_sb_t sb;
+- __int64_t bytes_read;
++ int64_t bytes_read;
+
+ /*
+ * read in first blocks (superblock 0), set "inprogress" flag for it,
+diff --git a/mkfs/proto.c b/mkfs/proto.c
+index 89cd2379..cf8cc391 100644
+--- a/mkfs/proto.c
++++ b/mkfs/proto.c
+@@ -667,7 +667,7 @@ rtinit(
+ mp->m_sb.sb_rbmino = rbmip->i_ino;
+ rbmip->i_d.di_size = mp->m_sb.sb_rbmblocks * mp->m_sb.sb_blocksize;
+ rbmip->i_d.di_flags = XFS_DIFLAG_NEWRTBM;
+- *(__uint64_t *)&VFS_I(rbmip)->i_atime = 0;
++ *(uint64_t *)&VFS_I(rbmip)->i_atime = 0;
+ libxfs_trans_log_inode(tp, rbmip, XFS_ILOG_CORE);
+ libxfs_log_sb(tp);
+ mp->m_rbmip = rbmip;
+diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c
+index b5c3a57e..7bb6408f 100644
+--- a/mkfs/xfs_mkfs.c
++++ b/mkfs/xfs_mkfs.c
+@@ -705,9 +705,9 @@ struct opt_params mopts = {
+ },
+ };
+
+-#define TERABYTES(count, blog) ((__uint64_t)(count) << (40 - (blog)))
+-#define GIGABYTES(count, blog) ((__uint64_t)(count) << (30 - (blog)))
+-#define MEGABYTES(count, blog) ((__uint64_t)(count) << (20 - (blog)))
++#define TERABYTES(count, blog) ((uint64_t)(count) << (40 - (blog)))
++#define GIGABYTES(count, blog) ((uint64_t)(count) << (30 - (blog)))
++#define MEGABYTES(count, blog) ((uint64_t)(count) << (20 - (blog)))
+
+ /*
+ * Use this macro before we have superblock and mount structure
+@@ -878,7 +878,7 @@ fixup_log_stripe_unit(
+ xfs_rfsblock_t *logblocks,
+ int blocklog)
+ {
+- __uint64_t tmp_logblocks;
++ uint64_t tmp_logblocks;
+
+ /*
+ * Make sure that the log size is a multiple of the stripe unit
+@@ -910,7 +910,7 @@ fixup_internal_log_stripe(
+ xfs_mount_t *mp,
+ int lsflag,
+ xfs_fsblock_t logstart,
+- __uint64_t agsize,
++ uint64_t agsize,
+ int sunit,
+ xfs_rfsblock_t *logblocks,
+ int blocklog,
+@@ -934,7 +934,7 @@ fixup_internal_log_stripe(
+ }
+
+ void
+-validate_log_size(__uint64_t logblocks, int blocklog, int min_logblocks)
++validate_log_size(uint64_t logblocks, int blocklog, int min_logblocks)
+ {
+ if (logblocks < min_logblocks) {
+ fprintf(stderr,
+@@ -959,7 +959,7 @@ validate_log_size(__uint64_t logblocks, int blocklog, int min_logblocks)
+ static int
+ calc_default_imaxpct(
+ int blocklog,
+- __uint64_t dblocks)
++ uint64_t dblocks)
+ {
+ /*
+ * This returns the % of the disk space that is used for
+@@ -981,9 +981,9 @@ calc_default_imaxpct(
+ static void
+ validate_ag_geometry(
+ int blocklog,
+- __uint64_t dblocks,
+- __uint64_t agsize,
+- __uint64_t agcount)
++ uint64_t dblocks,
++ uint64_t agsize,
++ uint64_t agcount)
+ {
+ if (agsize < XFS_AG_MIN_BLOCKS(blocklog)) {
+ fprintf(stderr,
+@@ -1059,7 +1059,7 @@ zero_old_xfs_structures(
+ {
+ void *buf;
+ xfs_sb_t sb;
+- __uint32_t bsize;
++ uint32_t bsize;
+ int i;
+ xfs_off_t off;
+
+@@ -1112,8 +1112,8 @@ zero_old_xfs_structures(
+ i != sb.sb_blocklog)
+ goto done;
+
+- if (sb.sb_dblocks > ((__uint64_t)sb.sb_agcount * sb.sb_agblocks) ||
+- sb.sb_dblocks < ((__uint64_t)(sb.sb_agcount - 1) *
++ if (sb.sb_dblocks > ((uint64_t)sb.sb_agcount * sb.sb_agblocks) ||
++ sb.sb_dblocks < ((uint64_t)(sb.sb_agcount - 1) *
+ sb.sb_agblocks + XFS_MIN_AG_BLOCKS))
+ goto done;
+
+@@ -1133,7 +1133,7 @@ done:
+ }
+
+ static void
+-discard_blocks(dev_t dev, __uint64_t nsectors)
++discard_blocks(dev_t dev, uint64_t nsectors)
+ {
+ int fd;
+
+@@ -1395,11 +1395,11 @@ main(
+ int argc,
+ char **argv)
+ {
+- __uint64_t agcount;
++ uint64_t agcount;
+ xfs_agf_t *agf;
+ xfs_agi_t *agi;
+ xfs_agnumber_t agno;
+- __uint64_t agsize;
++ uint64_t agsize;
+ xfs_alloc_rec_t *arec;
+ struct xfs_btree_block *block;
+ int blflag;
+@@ -1475,10 +1475,10 @@ main(
+ char *rtsize;
+ xfs_sb_t *sbp;
+ int sectorlog;
+- __uint64_t sector_mask;
++ uint64_t sector_mask;
+ int slflag;
+ int ssflag;
+- __uint64_t tmp_agsize;
++ uint64_t tmp_agsize;
+ uuid_t uuid;
+ int worst_freelist;
+ libxfs_init_t xi;
+@@ -2167,7 +2167,7 @@ _("rmapbt not supported with realtime devices\n"));
+
+
+ if (dsize) {
+- __uint64_t dbytes;
++ uint64_t dbytes;
+
+ dbytes = getnum(dsize, &dopts, D_SIZE);
+ if (dbytes % XFS_MIN_BLOCKSIZE) {
+@@ -2199,7 +2199,7 @@ _("rmapbt not supported with realtime devices\n"));
+ }
+
+ if (logsize) {
+- __uint64_t logbytes;
++ uint64_t logbytes;
+
+ logbytes = getnum(logsize, &lopts, L_SIZE);
+ if (logbytes % XFS_MIN_BLOCKSIZE) {
+@@ -2216,7 +2216,7 @@ _("rmapbt not supported with realtime devices\n"));
+ (long long)(logblocks << blocklog));
+ }
+ if (rtsize) {
+- __uint64_t rtbytes;
++ uint64_t rtbytes;
+
+ rtbytes = getnum(rtsize, &ropts, R_SIZE);
+ if (rtbytes % XFS_MIN_BLOCKSIZE) {
+@@ -2236,7 +2236,7 @@ _("rmapbt not supported with realtime devices\n"));
+ * If specified, check rt extent size against its constraints.
+ */
+ if (rtextsize) {
+- __uint64_t rtextbytes;
++ uint64_t rtextbytes;
+
+ rtextbytes = getnum(rtextsize, &ropts, R_EXTSIZE);
+ if (rtextbytes % blocksize) {
+@@ -2252,8 +2252,8 @@ _("rmapbt not supported with realtime devices\n"));
+ * and the underlying volume is striped, then set rtextblocks
+ * to the stripe width.
+ */
+- __uint64_t rswidth;
+- __uint64_t rtextbytes;
++ uint64_t rswidth;
++ uint64_t rtextbytes;
+
+ if (!norsflag && !xi.risfile && !(!rtsize && xi.disfile))
+ rswidth = ft.rtswidth;
+@@ -2335,10 +2335,10 @@ _("rmapbt not supported with realtime devices\n"));
+ * multiple of the sector size, or 1024, whichever is larger.
+ */
+
+- sector_mask = (__uint64_t)-1 << (MAX(sectorlog, 10) - BBSHIFT);
++ sector_mask = (uint64_t)-1 << (MAX(sectorlog, 10) - BBSHIFT);
+ xi.dsize &= sector_mask;
+ xi.rtsize &= sector_mask;
+- xi.logBBsize &= (__uint64_t)-1 << (MAX(lsectorlog, 10) - BBSHIFT);
++ xi.logBBsize &= (uint64_t)-1 << (MAX(lsectorlog, 10) - BBSHIFT);
+
+
+ /* don't do discards on print-only runs or on files */
+@@ -2696,9 +2696,9 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"),
+ mp = &mbuf;
+ sbp = &mp->m_sb;
+ memset(mp, 0, sizeof(xfs_mount_t));
+- sbp->sb_blocklog = (__uint8_t)blocklog;
+- sbp->sb_sectlog = (__uint8_t)sectorlog;
+- sbp->sb_agblklog = (__uint8_t)libxfs_log2_roundup((unsigned int)agsize);
++ sbp->sb_blocklog = (uint8_t)blocklog;
++ sbp->sb_sectlog = (uint8_t)sectorlog;
++ sbp->sb_agblklog = (uint8_t)libxfs_log2_roundup((unsigned int)agsize);
+ sbp->sb_agblocks = (xfs_agblock_t)agsize;
+ mp->m_blkbb_log = sbp->sb_blocklog - BBSHIFT;
+ mp->m_sectbb_log = sbp->sb_sectlog - BBSHIFT;
+@@ -2805,14 +2805,14 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"),
+ sbp->sb_agcount = (xfs_agnumber_t)agcount;
+ sbp->sb_rbmblocks = nbmblocks;
+ sbp->sb_logblocks = (xfs_extlen_t)logblocks;
+- sbp->sb_sectsize = (__uint16_t)sectorsize;
+- sbp->sb_inodesize = (__uint16_t)isize;
+- sbp->sb_inopblock = (__uint16_t)(blocksize / isize);
+- sbp->sb_sectlog = (__uint8_t)sectorlog;
+- sbp->sb_inodelog = (__uint8_t)inodelog;
+- sbp->sb_inopblog = (__uint8_t)(blocklog - inodelog);
++ sbp->sb_sectsize = (uint16_t)sectorsize;
++ sbp->sb_inodesize = (uint16_t)isize;
++ sbp->sb_inopblock = (uint16_t)(blocksize / isize);
++ sbp->sb_sectlog = (uint8_t)sectorlog;
++ sbp->sb_inodelog = (uint8_t)inodelog;
++ sbp->sb_inopblog = (uint8_t)(blocklog - inodelog);
+ sbp->sb_rextslog =
+- (__uint8_t)(rtextents ?
++ (uint8_t)(rtextents ?
+ libxfs_highbit32((unsigned int)rtextents) : 0);
+ sbp->sb_inprogress = 1; /* mkfs is in progress */
+ sbp->sb_imax_pct = imaxpct;
+@@ -2840,8 +2840,8 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"),
+ } else
+ sbp->sb_inoalignmt = 0;
+ if (lsectorsize != BBSIZE || sectorsize != BBSIZE) {
+- sbp->sb_logsectlog = (__uint8_t)lsectorlog;
+- sbp->sb_logsectsize = (__uint16_t)lsectorsize;
++ sbp->sb_logsectlog = (uint8_t)lsectorlog;
++ sbp->sb_logsectsize = (uint16_t)lsectorsize;
+ } else {
+ sbp->sb_logsectlog = 0;
+ sbp->sb_logsectsize = 0;
+diff --git a/quota/edit.c b/quota/edit.c
+index 36b327a5..8418e858 100644
+--- a/quota/edit.c
++++ b/quota/edit.c
+@@ -115,16 +115,16 @@ warn_help(void)
+
+ static void
+ set_limits(
+- __uint32_t id,
++ uint32_t id,
+ uint type,
+ uint mask,
+ char *dev,
+- __uint64_t *bsoft,
+- __uint64_t *bhard,
+- __uint64_t *isoft,
+- __uint64_t *ihard,
+- __uint64_t *rtbsoft,
+- __uint64_t *rtbhard)
++ uint64_t *bsoft,
++ uint64_t *bhard,
++ uint64_t *isoft,
++ uint64_t *ihard,
++ uint64_t *rtbsoft,
++ uint64_t *rtbhard)
+ {
+ fs_disk_quota_t d;
+
+@@ -152,12 +152,12 @@ set_user_limits(
+ char *name,
+ uint type,
+ uint mask,
+- __uint64_t *bsoft,
+- __uint64_t *bhard,
+- __uint64_t *isoft,
+- __uint64_t *ihard,
+- __uint64_t *rtbsoft,
+- __uint64_t *rtbhard)
++ uint64_t *bsoft,
++ uint64_t *bhard,
++ uint64_t *isoft,
++ uint64_t *ihard,
++ uint64_t *rtbsoft,
++ uint64_t *rtbhard)
+ {
+ uid_t uid = uid_from_string(name);
+
+@@ -175,12 +175,12 @@ set_group_limits(
+ char *name,
+ uint type,
+ uint mask,
+- __uint64_t *bsoft,
+- __uint64_t *bhard,
+- __uint64_t *isoft,
+- __uint64_t *ihard,
+- __uint64_t *rtbsoft,
+- __uint64_t *rtbhard)
++ uint64_t *bsoft,
++ uint64_t *bhard,
++ uint64_t *isoft,
++ uint64_t *ihard,
++ uint64_t *rtbsoft,
++ uint64_t *rtbhard)
+ {
+ gid_t gid = gid_from_string(name);
+
+@@ -198,12 +198,12 @@ set_project_limits(
+ char *name,
+ uint type,
+ uint mask,
+- __uint64_t *bsoft,
+- __uint64_t *bhard,
+- __uint64_t *isoft,
+- __uint64_t *ihard,
+- __uint64_t *rtbsoft,
+- __uint64_t *rtbhard)
++ uint64_t *bsoft,
++ uint64_t *bhard,
++ uint64_t *isoft,
++ uint64_t *ihard,
++ uint64_t *rtbsoft,
++ uint64_t *rtbhard)
+ {
+ prid_t prid = prid_from_string(name);
+
+@@ -224,7 +224,7 @@ extractb(
+ int length,
+ uint blocksize,
+ uint sectorsize,
+- __uint64_t *value)
++ uint64_t *value)
+ {
+ long long v;
+ char *s = string;
+@@ -238,7 +238,7 @@ extractb(
+ progname, s);
+ return 0;
+ }
+- *value = (__uint64_t)v >> 9; /* syscalls use basic blocks */
++ *value = (uint64_t)v >> 9; /* syscalls use basic blocks */
+ if (v > 0 && *value == 0)
+ fprintf(stderr, _("%s: Warning: `%s' in quota blocks is 0 (unlimited).\n"), progname, s);
+ return 1;
+@@ -252,7 +252,7 @@ extracti(
+ char *string,
+ const char *prefix,
+ int length,
+- __uint64_t *value)
++ uint64_t *value)
+ {
+ char *sp, *s = string;
+
+@@ -270,7 +270,7 @@ limit_f(
+ char **argv)
+ {
+ char *name;
+- __uint64_t bsoft, bhard, isoft, ihard, rtbsoft, rtbhard;
++ uint64_t bsoft, bhard, isoft, ihard, rtbsoft, rtbhard;
+ int c, type = 0, mask = 0, flags = 0;
+ uint bsize, ssize, endoptions;
+
+@@ -384,8 +384,8 @@ restore_file(
+ char *dev = NULL;
+ uint mask;
+ int cnt;
+- __uint32_t id;
+- __uint64_t bsoft, bhard, isoft, ihard, rtbsoft, rtbhard;
++ uint32_t id;
++ uint64_t bsoft, bhard, isoft, ihard, rtbsoft, rtbhard;
+
+ while (fgets(buffer, sizeof(buffer), fp) != NULL) {
+ if (strncmp("fs = ", buffer, 5) == 0) {
+@@ -546,7 +546,7 @@ timer_f(
+
+ static void
+ set_warnings(
+- __uint32_t id,
++ uint32_t id,
+ uint type,
+ uint mask,
+ char *dev,
+diff --git a/quota/free.c b/quota/free.c
+index cee15ee9..1f8378d2 100644
+--- a/quota/free.c
++++ b/quota/free.c
+@@ -49,20 +49,20 @@ free_help(void)
+ static int
+ mount_free_space_data(
+ struct fs_path *mount,
+- __uint64_t *bcount,
+- __uint64_t *bused,
+- __uint64_t *bfree,
+- __uint64_t *icount,
+- __uint64_t *iused,
+- __uint64_t *ifree,
+- __uint64_t *rcount,
+- __uint64_t *rused,
+- __uint64_t *rfree)
++ uint64_t *bcount,
++ uint64_t *bused,
++ uint64_t *bfree,
++ uint64_t *icount,
++ uint64_t *iused,
++ uint64_t *ifree,
++ uint64_t *rcount,
++ uint64_t *rused,
++ uint64_t *rfree)
+ {
+ struct xfs_fsop_counts fscounts;
+ struct xfs_fsop_geom fsgeo;
+ struct statfs st;
+- __uint64_t logsize, count, free;
++ uint64_t logsize, count, free;
+ int fd;
+
+ if ((fd = open(mount->fs_dir, O_RDONLY)) < 0) {
+@@ -132,15 +132,15 @@ mount_free_space_data(
+ static int
+ projects_free_space_data(
+ struct fs_path *path,
+- __uint64_t *bcount,
+- __uint64_t *bused,
+- __uint64_t *bfree,
+- __uint64_t *icount,
+- __uint64_t *iused,
+- __uint64_t *ifree,
+- __uint64_t *rcount,
+- __uint64_t *rused,
+- __uint64_t *rfree)
++ uint64_t *bcount,
++ uint64_t *bused,
++ uint64_t *bfree,
++ uint64_t *icount,
++ uint64_t *iused,
++ uint64_t *ifree,
++ uint64_t *rcount,
++ uint64_t *rused,
++ uint64_t *rfree)
+ {
+ fs_quota_stat_t qfs;
+ fs_disk_quota_t d;
+@@ -226,9 +226,9 @@ free_space(
+ fs_path_t *path,
+ uint flags)
+ {
+- __uint64_t bcount, bused, bfree;
+- __uint64_t icount, iused, ifree;
+- __uint64_t rcount, rused, rfree;
++ uint64_t bcount, bused, bfree;
++ uint64_t icount, iused, ifree;
++ uint64_t rcount, rused, rfree;
+ char a[8], s[8], u[8], p[8];
+ int count;
+
+diff --git a/quota/quot.c b/quota/quot.c
+index ccc154f5..6378fbb7 100644
+--- a/quota/quot.c
++++ b/quota/quot.c
+@@ -26,17 +26,17 @@
+
+ typedef struct du {
+ struct du *next;
+- __uint64_t blocks;
+- __uint64_t blocks30;
+- __uint64_t blocks60;
+- __uint64_t blocks90;
+- __uint64_t nfiles;
+- __uint32_t id;
++ uint64_t blocks;
++ uint64_t blocks30;
++ uint64_t blocks60;
++ uint64_t blocks90;
++ uint64_t nfiles;
++ uint32_t id;
+ } du_t;
+
+ #define TSIZE 500
+-static __uint64_t sizes[TSIZE];
+-static __uint64_t overflow;
++static uint64_t sizes[TSIZE];
++static uint64_t overflow;
+
+ #define NDU 60000
+ #define DUHASH 8209
+@@ -84,8 +84,8 @@ quot_bulkstat_add(
+ {
+ du_t *dp;
+ du_t **hp;
+- __uint64_t size;
+- __uint32_t i, id;
++ uint64_t size;
++ uint32_t i, id;
+
+ if ((p->bs_mode & S_IFMT) == 0)
+ return;
+@@ -203,7 +203,7 @@ qcompare(
+ return 0;
+ }
+
+-typedef char *(*idtoname_t)(__uint32_t);
++typedef char *(*idtoname_t)(uint32_t);
+
+ static void
+ quot_report_mount_any_type(
+@@ -291,7 +291,7 @@ quot_histogram_mount(
+ fs_path_t *mount,
+ uint flags)
+ {
+- __uint64_t t = 0;
++ uint64_t t = 0;
+ int i;
+
+ fprintf(fp, _("%s (%s):\n"), mount->fs_name, mount->fs_dir);
+diff --git a/quota/quota.c b/quota/quota.c
+index d09e239b..479b970e 100644
+--- a/quota/quota.c
++++ b/quota/quota.c
+@@ -52,7 +52,7 @@ quota_help(void)
+ static int
+ quota_mount(
+ FILE *fp,
+- __uint32_t id,
++ uint32_t id,
+ char *name,
+ uint form,
+ uint type,
+@@ -181,7 +181,7 @@ quota_mount(
+ static void
+ quota(
+ FILE *fp,
+- __uint32_t id,
++ uint32_t id,
+ char *name,
+ uint form,
+ uint type,
+diff --git a/quota/quota.h b/quota/quota.h
+index 4bde3513..9ed28bee 100644
+--- a/quota/quota.h
++++ b/quota/quota.h
+@@ -53,9 +53,9 @@ enum {
+ extern char *type_to_string(uint __type);
+ extern char *form_to_string(uint __form);
+ extern char *time_to_string(time_t __time, uint __flags);
+-extern char *bbs_to_string(__uint64_t __v, char *__c, uint __size);
+-extern char *num_to_string(__uint64_t __v, char *__c, uint __size);
+-extern char *pct_to_string(__uint64_t __v, __uint64_t __t, char *__c, uint __s);
++extern char *bbs_to_string(uint64_t __v, char *__c, uint __size);
++extern char *num_to_string(uint64_t __v, char *__c, uint __size);
++extern char *pct_to_string(uint64_t __v, uint64_t __t, char *__c, uint __s);
+
+ extern FILE *fopen_write_secure(char *__filename);
+
+@@ -81,7 +81,7 @@ enum {
+ * Identifier (uid/gid/prid) cache routines
+ */
+ #define NMAX 32
+-extern char *uid_to_name(__uint32_t __uid);
+-extern char *gid_to_name(__uint32_t __gid);
+-extern char *prid_to_name(__uint32_t __prid);
++extern char *uid_to_name(uint32_t __uid);
++extern char *gid_to_name(uint32_t __gid);
++extern char *prid_to_name(uint32_t __prid);
+ extern bool isdigits_only(const char *);
+diff --git a/quota/report.c b/quota/report.c
+index d0509c25..b2ea3bbe 100644
+--- a/quota/report.c
++++ b/quota/report.c
+@@ -333,9 +333,9 @@ report_header(
+ static int
+ report_mount(
+ FILE *fp,
+- __uint32_t id,
++ uint32_t id,
+ char *name,
+- __uint32_t *oid,
++ uint32_t *oid,
+ uint form,
+ uint type,
+ fs_path_t *mount,
+diff --git a/quota/state.c b/quota/state.c
+index 09dfa705..b08bf50b 100644
+--- a/quota/state.c
++++ b/quota/state.c
+@@ -135,7 +135,7 @@ static void
+ state_timelimit(
+ FILE *fp,
+ uint form,
+- __uint32_t timelimit)
++ uint32_t timelimit)
+ {
+ fprintf(fp, _("%s grace time: %s\n"),
+ form_to_string(form),
+diff --git a/quota/util.c b/quota/util.c
+index cafd45f5..37840a86 100644
+--- a/quota/util.c
++++ b/quota/util.c
+@@ -94,8 +94,8 @@ round_snprintf(
+ size_t size,
+ const char *fmt_round,
+ const char *fmt_not_round,
+- __uint64_t value,
+- __uint64_t divisor)
++ uint64_t value,
++ uint64_t divisor)
+ {
+ double v = (double)value / divisor;
+
+@@ -107,23 +107,23 @@ round_snprintf(
+ }
+
+ /* Basic blocks (512) bytes are returned from quotactl */
+-#define BBS_TO_EXABYTES(bbs) ((__uint64_t)(bbs)>>51)
+-#define BBS_TO_PETABYTES(bbs) ((__uint64_t)(bbs)>>41)
+-#define BBS_TO_TERABYTES(bbs) ((__uint64_t)(bbs)>>31)
+-#define BBS_TO_GIGABYTES(bbs) ((__uint64_t)(bbs)>>21)
+-#define BBS_TO_MEGABYTES(bbs) ((__uint64_t)(bbs)>>11)
+-#define BBS_TO_KILOBYTES(bbs) ((__uint64_t)(bbs)>>1)
+-
+-#define BBEXABYTE ((__uint64_t)1<<51)
+-#define BBPETABYTE ((__uint64_t)1<<41)
+-#define BBTERABYTE ((__uint64_t)1<<31)
+-#define BBGIGABYTE ((__uint64_t)1<<21)
+-#define BBMEGABYTE ((__uint64_t)1<<11)
+-#define BBKILOBYTE ((__uint64_t)1<< 1)
++#define BBS_TO_EXABYTES(bbs) ((uint64_t)(bbs)>>51)
++#define BBS_TO_PETABYTES(bbs) ((uint64_t)(bbs)>>41)
++#define BBS_TO_TERABYTES(bbs) ((uint64_t)(bbs)>>31)
++#define BBS_TO_GIGABYTES(bbs) ((uint64_t)(bbs)>>21)
++#define BBS_TO_MEGABYTES(bbs) ((uint64_t)(bbs)>>11)
++#define BBS_TO_KILOBYTES(bbs) ((uint64_t)(bbs)>>1)
++
++#define BBEXABYTE ((uint64_t)1<<51)
++#define BBPETABYTE ((uint64_t)1<<41)
++#define BBTERABYTE ((uint64_t)1<<31)
++#define BBGIGABYTE ((uint64_t)1<<21)
++#define BBMEGABYTE ((uint64_t)1<<11)
++#define BBKILOBYTE ((uint64_t)1<< 1)
+
+ char *
+ bbs_to_string(
+- __uint64_t v,
++ uint64_t v,
+ char *sp,
+ uint size)
+ {
+@@ -146,17 +146,17 @@ bbs_to_string(
+ return sp;
+ }
+
+-#define THOUSAND ((__uint64_t)1000)
+-#define MILLION ((__uint64_t)1000*1000)
+-#define BILLION ((__uint64_t)1000*1000*1000)
+-#define TRILLION ((__uint64_t)1000*1000*1000*1000)
+-#define GAZILLION ((__uint64_t)1000*1000*1000*1000*1000)
+-#define RIDICULOUS ((__uint64_t)1000*1000*1000*1000*1000*1000)
+-#define STOPALREADY ((__uint64_t)1000*1000*1000*1000*1000*1000*1000)
++#define THOUSAND ((uint64_t)1000)
++#define MILLION ((uint64_t)1000*1000)
++#define BILLION ((uint64_t)1000*1000*1000)
++#define TRILLION ((uint64_t)1000*1000*1000*1000)
++#define GAZILLION ((uint64_t)1000*1000*1000*1000*1000)
++#define RIDICULOUS ((uint64_t)1000*1000*1000*1000*1000*1000)
++#define STOPALREADY ((uint64_t)1000*1000*1000*1000*1000*1000*1000)
+
+ char *
+ num_to_string(
+- __uint64_t v,
++ uint64_t v,
+ char *sp,
+ uint size)
+ {
+@@ -183,8 +183,8 @@ num_to_string(
+
+ char *
+ pct_to_string(
+- __uint64_t portion,
+- __uint64_t whole,
++ uint64_t portion,
++ uint64_t whole,
+ char *buf,
+ uint size)
+ {
+@@ -237,7 +237,7 @@ type_to_string(
+ #define IDMASK (NID-1)
+
+ typedef struct {
+- __uint32_t id;
++ uint32_t id;
+ char name[NMAX+1];
+ } idcache_t;
+
+@@ -250,7 +250,7 @@ static int pentriesleft = NID;
+
+ static idcache_t *
+ getnextpwent(
+- __uint32_t id,
++ uint32_t id,
+ int byid)
+ {
+ struct passwd *pw;
+@@ -266,7 +266,7 @@ getnextpwent(
+
+ static idcache_t *
+ getnextgrent(
+- __uint32_t id,
++ uint32_t id,
+ int byid)
+ {
+ struct group *gr;
+@@ -281,7 +281,7 @@ getnextgrent(
+
+ static idcache_t *
+ getnextprent(
+- __uint32_t id,
++ uint32_t id,
+ int byid)
+ {
+ fs_project_t *pr;
+@@ -296,7 +296,7 @@ getnextprent(
+
+ char *
+ uid_to_name(
+- __uint32_t id)
++ uint32_t id)
+ {
+ idcache_t *ncp, *idp;
+
+@@ -333,7 +333,7 @@ uid_to_name(
+
+ char *
+ gid_to_name(
+- __uint32_t id)
++ uint32_t id)
+ {
+ idcache_t *ncp, *idp;
+
+@@ -370,7 +370,7 @@ gid_to_name(
+
+ char *
+ prid_to_name(
+- __uint32_t id)
++ uint32_t id)
+ {
+ idcache_t *ncp, *idp;
+
+diff --git a/repair/README b/repair/README
+index 7f168e69..4692463d 100644
+--- a/repair/README
++++ b/repair/README
+@@ -189,7 +189,7 @@ D - 0) look at usage of XFS_MAKE_IPTR(). It does the right
+
+
+ D - 0) look at references to XFS_INODES_PER_CHUNK. change the
+- ones that really mean sizeof(__uint64_t)*NBBY to
++ ones that really mean sizeof(uint64_t)*NBBY to
+ something else (like that only defined as a constant
+ INOS_PER_IREC. this isn't as important since
+ XFS_INODES_PER_CHUNK will never chang
+diff --git a/repair/agheader.h b/repair/agheader.h
+index 6b2974ca..2f7246d2 100644
+--- a/repair/agheader.h
++++ b/repair/agheader.h
+@@ -20,7 +20,7 @@ typedef struct fs_geometry {
+ /*
+ * these types should match the superblock types
+ */
+- __uint32_t sb_blocksize; /* blocksize (bytes) */
++ uint32_t sb_blocksize; /* blocksize (bytes) */
+ xfs_rfsblock_t sb_dblocks; /* # data blocks */
+ xfs_rfsblock_t sb_rblocks; /* # realtime blocks */
+ xfs_rtblock_t sb_rextents; /* # realtime extents */
+@@ -30,9 +30,9 @@ typedef struct fs_geometry {
+ xfs_agnumber_t sb_agcount; /* # of ags */
+ xfs_extlen_t sb_rbmblocks; /* # of rt bitmap blocks */
+ xfs_extlen_t sb_logblocks; /* # of log blocks */
+- __uint16_t sb_sectsize; /* volume sector size (bytes) */
+- __uint16_t sb_inodesize; /* inode size (bytes) */
+- __uint8_t sb_imax_pct; /* max % of fs for inode space */
++ uint16_t sb_sectsize; /* volume sector size (bytes) */
++ uint16_t sb_inodesize; /* inode size (bytes) */
++ uint8_t sb_imax_pct; /* max % of fs for inode space */
+
+ /*
+ * these don't have to match the superblock types but are placed
+@@ -49,10 +49,10 @@ typedef struct fs_geometry {
+ /*
+ * fields after this point have to be checked manually in compare_sb()
+ */
+- __uint8_t sb_shared_vn; /* shared version number */
++ uint8_t sb_shared_vn; /* shared version number */
+ xfs_extlen_t sb_inoalignmt; /* inode chunk alignment, fsblocks */
+- __uint32_t sb_unit; /* stripe or raid unit */
+- __uint32_t sb_width; /* stripe or width unit */
++ uint32_t sb_unit; /* stripe or raid unit */
++ uint32_t sb_width; /* stripe or width unit */
+
+ /*
+ * these don't have to match, they track superblock properties
+diff --git a/repair/attr_repair.h b/repair/attr_repair.h
+index 7010e4ff..294fad44 100644
+--- a/repair/attr_repair.h
++++ b/repair/attr_repair.h
+@@ -32,10 +32,10 @@
+ #define ACL_WRITE 02
+ #define ACL_EXECUTE 01
+
+-typedef __uint16_t xfs_acl_perm_t;
+-typedef __int32_t xfs_acl_type_t;
+-typedef __int32_t xfs_acl_tag_t;
+-typedef __int32_t xfs_acl_id_t;
++typedef uint16_t xfs_acl_perm_t;
++typedef int32_t xfs_acl_type_t;
++typedef int32_t xfs_acl_tag_t;
++typedef int32_t xfs_acl_id_t;
+
+ /*
+ * "icacl" = in-core ACL. There is no equivalent in the XFS kernel code,
+@@ -50,7 +50,7 @@ struct xfs_icacl_entry {
+ };
+
+ struct xfs_icacl {
+- __int32_t acl_cnt;
++ int32_t acl_cnt;
+ struct xfs_icacl_entry acl_entry[0];
+ };
+
+@@ -59,14 +59,14 @@ struct xfs_icacl {
+ */
+ #define XFS_MAC_MAX_SETS 250
+ typedef struct xfs_mac_label {
+- __uint8_t ml_msen_type; /* MSEN label type */
+- __uint8_t ml_mint_type; /* MINT label type */
+- __uint8_t ml_level; /* Hierarchical level */
+- __uint8_t ml_grade; /* Hierarchical grade */
+- __uint16_t ml_catcount; /* Category count */
+- __uint16_t ml_divcount; /* Division count */
++ uint8_t ml_msen_type; /* MSEN label type */
++ uint8_t ml_mint_type; /* MINT label type */
++ uint8_t ml_level; /* Hierarchical level */
++ uint8_t ml_grade; /* Hierarchical grade */
++ uint16_t ml_catcount; /* Category count */
++ uint16_t ml_divcount; /* Division count */
+ /* Category set, then Division set */
+- __uint16_t ml_list[XFS_MAC_MAX_SETS];
++ uint16_t ml_list[XFS_MAC_MAX_SETS];
+ } xfs_mac_label_t;
+
+ /* MSEN label type names. Choose an upper case ASCII character. */
+@@ -93,7 +93,7 @@ typedef struct xfs_mac_label {
+ /*
+ * Capabilities (IRIX)
+ */
+-typedef __uint64_t xfs_cap_value_t;
++typedef uint64_t xfs_cap_value_t;
+
+ typedef struct xfs_cap_set {
+ xfs_cap_value_t cap_effective; /* use in capability checks */
+diff --git a/repair/avl64.c b/repair/avl64.c
+index 51cd624c..8f4a1211 100644
+--- a/repair/avl64.c
++++ b/repair/avl64.c
+@@ -70,8 +70,8 @@ avl64_checktree(
+ avl64node_t *root)
+ {
+ avl64node_t *nlast, *nnext, *np;
+- __uint64_t offset = 0;
+- __uint64_t end;
++ uint64_t offset = 0;
++ uint64_t end;
+
+ nlast = nnext = root;
+
+@@ -583,8 +583,8 @@ attach:
+ avl64node_t *
+ avl64_findanyrange(
+ avl64tree_desc_t *tree,
+- __uint64_t start,
+- __uint64_t end,
++ uint64_t start,
++ uint64_t end,
+ int checklen)
+ {
+ avl64node_t *np = tree->avl_root;
+@@ -655,7 +655,7 @@ avl64_findanyrange(
+ avl64node_t *
+ avl64_findrange(
+ avl64tree_desc_t *tree,
+- __uint64_t value)
++ uint64_t value)
+ {
+ avl64node_t *np = tree->avl_root;
+
+@@ -682,10 +682,10 @@ avl64_findrange(
+ avl64node_t *
+ avl64_find(
+ avl64tree_desc_t *tree,
+- __uint64_t value)
++ uint64_t value)
+ {
+ avl64node_t *np = tree->avl_root;
+- __uint64_t nvalue;
++ uint64_t nvalue;
+
+ while (np) {
+ nvalue = AVL_START(tree, np);
+@@ -909,8 +909,8 @@ static
+ avl64node_t *
+ avl64_insert_find_growth(
+ avl64tree_desc_t *tree,
+- __uint64_t start, /* range start at start, */
+- __uint64_t end, /* exclusive */
++ uint64_t start, /* range start at start, */
++ uint64_t end, /* exclusive */
+ int *growthp) /* OUT */
+ {
+ avl64node_t *root = tree->avl_root;
+@@ -963,7 +963,7 @@ avl64_insert_grow(
+ int growth)
+ {
+ avl64node_t *nnext;
+- __uint64_t start = AVL_START(tree, newnode);
++ uint64_t start = AVL_START(tree, newnode);
+
+ if (growth == AVL_BACK) {
+
+@@ -1005,8 +1005,8 @@ avl64_insert(
+ avl64node_t *newnode)
+ {
+ avl64node_t *np;
+- __uint64_t start = AVL_START(tree, newnode);
+- __uint64_t end = AVL_END(tree, newnode);
++ uint64_t start = AVL_START(tree, newnode);
++ uint64_t end = AVL_END(tree, newnode);
+ int growth;
+
+ ASSERT(newnode);
+@@ -1159,16 +1159,16 @@ avl64ops_t avl_debug_ops = {
+ avl_debug_end,
+ }
+
+-static __uint64_t
++static uint64_t
+ avl64_debug_start(avl64node_t *node)
+ {
+- return (__uint64_t)(struct avl_debug_node *)node->avl_start;
++ return (uint64_t)(struct avl_debug_node *)node->avl_start;
+ }
+
+-static __uint64_t
++static uint64_t
+ avl64_debug_end(avl64node_t *node)
+ {
+- return (__uint64_t)
++ return (uint64_t)
+ ((struct avl_debug_node *)node->avl_start +
+ (struct avl_debug_node *)node->avl_size);
+ }
+@@ -1304,7 +1304,7 @@ main()
+ avl64node_t *
+ avl64_findadjacent(
+ avl64tree_desc_t *tree,
+- __uint64_t value,
++ uint64_t value,
+ int dir)
+ {
+ avl64node_t *np = tree->avl_root;
+@@ -1378,8 +1378,8 @@ avl64_findadjacent(
+ void
+ avl64_findranges(
+ avl64tree_desc_t *tree,
+- __uint64_t start,
+- __uint64_t end,
++ uint64_t start,
++ uint64_t end,
+ avl64node_t **startp,
+ avl64node_t **endp)
+ {
+diff --git a/repair/avl64.h b/repair/avl64.h
+index fd193218..cd079a00 100644
+--- a/repair/avl64.h
++++ b/repair/avl64.h
+@@ -32,8 +32,8 @@ typedef struct avl64node {
+ * avl-tree operations
+ */
+ typedef struct avl64ops {
+- __uint64_t (*avl_start)(avl64node_t *);
+- __uint64_t (*avl_end)(avl64node_t *);
++ uint64_t (*avl_start)(avl64node_t *);
++ uint64_t (*avl_end)(avl64node_t *);
+ } avl64ops_t;
+
+ /*
+@@ -89,32 +89,32 @@ avl64_init_tree(
+ avl64node_t *
+ avl64_findrange(
+ avl64tree_desc_t *tree,
+- __uint64_t value);
++ uint64_t value);
+
+ avl64node_t *
+ avl64_find(
+ avl64tree_desc_t *tree,
+- __uint64_t value);
++ uint64_t value);
+
+ avl64node_t *
+ avl64_findanyrange(
+ avl64tree_desc_t *tree,
+- __uint64_t start,
+- __uint64_t end,
++ uint64_t start,
++ uint64_t end,
+ int checklen);
+
+
+ avl64node_t *
+ avl64_findadjacent(
+ avl64tree_desc_t *tree,
+- __uint64_t value,
++ uint64_t value,
+ int dir);
+
+ void
+ avl64_findranges(
+ avl64tree_desc_t *tree,
+- __uint64_t start,
+- __uint64_t end,
++ uint64_t start,
++ uint64_t end,
+ avl64node_t **startp,
+ avl64node_t **endp);
+
+diff --git a/repair/dinode.c b/repair/dinode.c
+index d664f87a..da872178 100644
+--- a/repair/dinode.c
++++ b/repair/dinode.c
+@@ -746,7 +746,7 @@ _("%s fork in ino %" PRIu64 " claims dup extent, "
+ case XR_E_FREE1:
+ do_warn(
+ _("%s fork in ino %" PRIu64 " claims free block %" PRIu64 "\n"),
+- forkname, ino, (__uint64_t) b);
++ forkname, ino, (uint64_t) b);
+ /* fall through ... */
+ case XR_E_INUSE1: /* seen by rmap */
+ case XR_E_UNKNOWN:
+@@ -923,7 +923,7 @@ process_btinode(
+ int type,
+ int *dirty,
+ xfs_rfsblock_t *tot,
+- __uint64_t *nex,
++ uint64_t *nex,
+ blkmap_t **blkmapp,
+ int whichfork,
+ int check_dups)
+@@ -939,7 +939,7 @@ process_btinode(
+ int level;
+ int numrecs;
+ bmap_cursor_t cursor;
+- __uint64_t magic;
++ uint64_t magic;
+
+ dib = (xfs_bmdr_block_t *)XFS_DFORK_PTR(dip, whichfork);
+ lino = XFS_AGINO_TO_INO(mp, agno, ino);
+@@ -1098,7 +1098,7 @@ process_exinode(
+ int type,
+ int *dirty,
+ xfs_rfsblock_t *tot,
+- __uint64_t *nex,
++ uint64_t *nex,
+ blkmap_t **blkmapp,
+ int whichfork,
+ int check_dups)
+@@ -1200,14 +1200,14 @@ process_symlink_extlist(xfs_mount_t *mp, xfs_ino_t lino, xfs_dinode_t *dino)
+ do_warn(
+ _("mismatch between format (%d) and size (%" PRId64 ") in symlink ino %" PRIu64 "\n"),
+ dino->di_format,
+- (__int64_t)be64_to_cpu(dino->di_size), lino);
++ (int64_t)be64_to_cpu(dino->di_size), lino);
+ return 1;
+ }
+ if (dino->di_format == XFS_DINODE_FMT_LOCAL) {
+ do_warn(
+ _("mismatch between format (%d) and size (%" PRId64 ") in symlink inode %" PRIu64 "\n"),
+ dino->di_format,
+- (__int64_t)be64_to_cpu(dino->di_size), lino);
++ (int64_t)be64_to_cpu(dino->di_size), lino);
+ return 1;
+ }
+
+@@ -1454,22 +1454,22 @@ _("inode %" PRIu64 " has bad inode type (IFMNT)\n"), lino);
+ case XR_INO_CHRDEV:
+ do_warn(
+ _("size of character device inode %" PRIu64 " != 0 (%" PRId64 " bytes)\n"), lino,
+- (__int64_t)be64_to_cpu(dino->di_size));
++ (int64_t)be64_to_cpu(dino->di_size));
+ break;
+ case XR_INO_BLKDEV:
+ do_warn(
+ _("size of block device inode %" PRIu64 " != 0 (%" PRId64 " bytes)\n"), lino,
+- (__int64_t)be64_to_cpu(dino->di_size));
++ (int64_t)be64_to_cpu(dino->di_size));
+ break;
+ case XR_INO_SOCK:
+ do_warn(
+ _("size of socket inode %" PRIu64 " != 0 (%" PRId64 " bytes)\n"), lino,
+- (__int64_t)be64_to_cpu(dino->di_size));
++ (int64_t)be64_to_cpu(dino->di_size));
+ break;
+ case XR_INO_FIFO:
+ do_warn(
+ _("size of fifo inode %" PRIu64 " != 0 (%" PRId64 " bytes)\n"), lino,
+- (__int64_t)be64_to_cpu(dino->di_size));
++ (int64_t)be64_to_cpu(dino->di_size));
+ break;
+ default:
+ do_warn(_("Internal error - process_misc_ino_types, "
+@@ -1743,12 +1743,12 @@ _("found inode %" PRIu64 " claiming to be a real-time file\n"), lino);
+ break;
+
+ case XR_INO_RTBITMAP:
+- if (size != (__int64_t)mp->m_sb.sb_rbmblocks *
++ if (size != (int64_t)mp->m_sb.sb_rbmblocks *
+ mp->m_sb.sb_blocksize) {
+ do_warn(
+ _("realtime bitmap inode %" PRIu64 " has bad size %" PRId64 " (should be %" PRIu64 ")\n"),
+ lino, size,
+- (__int64_t) mp->m_sb.sb_rbmblocks *
++ (int64_t) mp->m_sb.sb_rbmblocks *
+ mp->m_sb.sb_blocksize);
+ return 1;
+ }
+@@ -1817,8 +1817,8 @@ static int
+ process_inode_blocks_and_extents(
+ xfs_dinode_t *dino,
+ xfs_rfsblock_t nblocks,
+- __uint64_t nextents,
+- __uint64_t anextents,
++ uint64_t nextents,
++ uint64_t anextents,
+ xfs_ino_t lino,
+ int *dirty)
+ {
+@@ -1908,7 +1908,7 @@ process_inode_data_fork(
+ int type,
+ int *dirty,
+ xfs_rfsblock_t *totblocks,
+- __uint64_t *nextents,
++ uint64_t *nextents,
+ blkmap_t **dblkmap,
+ int check_dups)
+ {
+@@ -2017,7 +2017,7 @@ process_inode_attr_fork(
+ int type,
+ int *dirty,
+ xfs_rfsblock_t *atotblocks,
+- __uint64_t *anextents,
++ uint64_t *anextents,
+ int check_dups,
+ int extra_attr_check,
+ int *retval)
+@@ -2228,8 +2228,8 @@ process_dinode_int(xfs_mount_t *mp,
+ int di_mode;
+ int type;
+ int retval = 0;
+- __uint64_t nextents;
+- __uint64_t anextents;
++ uint64_t nextents;
++ uint64_t anextents;
+ xfs_ino_t lino;
+ const int is_free = 0;
+ const int is_used = 1;
+@@ -2346,7 +2346,7 @@ _("inode identifier %llu mismatch on inode %" PRIu64 "\n"),
+ if (!uncertain)
+ do_warn(
+ _("bad (negative) size %" PRId64 " on inode %" PRIu64 "\n"),
+- (__int64_t)be64_to_cpu(dino->di_size),
++ (int64_t)be64_to_cpu(dino->di_size),
+ lino);
+ if (verify_mode)
+ return 1;
+diff --git a/repair/dinode.h b/repair/dinode.h
+index 61d07363..39d6a72f 100644
+--- a/repair/dinode.h
++++ b/repair/dinode.h
+@@ -46,8 +46,8 @@ process_bmbt_reclist(xfs_mount_t *mp,
+ xfs_ino_t ino,
+ xfs_rfsblock_t *tot,
+ struct blkmap **blkmapp,
+- __uint64_t *first_key,
+- __uint64_t *last_key,
++ uint64_t *first_key,
++ uint64_t *last_key,
+ int whichfork);
+
+ int
+diff --git a/repair/dir2.c b/repair/dir2.c
+index e6415e49..73dff902 100644
+--- a/repair/dir2.c
++++ b/repair/dir2.c
+@@ -160,7 +160,7 @@ process_sf_dir2(
+ int bad_sfnamelen;
+ int i;
+ int i8;
+- __int64_t ino_dir_size;
++ int64_t ino_dir_size;
+ int ino_off;
+ ino_tree_node_t *irec_p;
+ int junkit;
+diff --git a/repair/globals.h b/repair/globals.h
+index 4085ccc4..c7bbe6f1 100644
+--- a/repair/globals.h
++++ b/repair/globals.h
+@@ -141,7 +141,7 @@ EXTERN int inodes_per_cluster;
+ EXTERN unsigned int glob_agcount;
+ EXTERN int chunks_pblock; /* # of 64-ino chunks per allocation */
+ EXTERN int max_symlink_blocks;
+-EXTERN __int64_t fs_max_file_offset;
++EXTERN int64_t fs_max_file_offset;
+
+ /* realtime info */
+
+@@ -161,24 +161,24 @@ EXTERN int full_ino_ex_data;/*
+
+ /* superblock counters */
+
+-EXTERN __uint64_t sb_icount; /* allocated (made) inodes */
+-EXTERN __uint64_t sb_ifree; /* free inodes */
+-EXTERN __uint64_t sb_fdblocks; /* free data blocks */
+-EXTERN __uint64_t sb_frextents; /* free realtime extents */
++EXTERN uint64_t sb_icount; /* allocated (made) inodes */
++EXTERN uint64_t sb_ifree; /* free inodes */
++EXTERN uint64_t sb_fdblocks; /* free data blocks */
++EXTERN uint64_t sb_frextents; /* free realtime extents */
+
+ /* superblock geometry info */
+
+ EXTERN xfs_extlen_t sb_inoalignmt;
+-EXTERN __uint32_t sb_unit;
+-EXTERN __uint32_t sb_width;
++EXTERN uint32_t sb_unit;
++EXTERN uint32_t sb_width;
+
+ struct aglock {
+ pthread_mutex_t lock __attribute__((__aligned__(64)));
+ };
+ EXTERN struct aglock *ag_locks;
+
+-EXTERN int report_interval;
+-EXTERN __uint64_t *prog_rpt_done;
++EXTERN int report_interval;
++EXTERN uint64_t *prog_rpt_done;
+
+ EXTERN int ag_stride;
+ EXTERN int thread_count;
+diff --git a/repair/incore.c b/repair/incore.c
+index cb573165..a9191ae2 100644
+--- a/repair/incore.c
++++ b/repair/incore.c
+@@ -179,7 +179,7 @@ get_bmap_ext(
+ static uint64_t *rt_bmap;
+ static size_t rt_bmap_size;
+
+-/* block records fit into __uint64_t's units */
++/* block records fit into uint64_t's units */
+ #define XR_BB_UNIT 64 /* number of bits/unit */
+ #define XR_BB 4 /* bits per block record */
+ #define XR_BB_NUM (XR_BB_UNIT/XR_BB) /* number of records per unit */
+@@ -203,8 +203,8 @@ set_rtbmap(
+ {
+ *(rt_bmap + bno / XR_BB_NUM) =
+ ((*(rt_bmap + bno / XR_BB_NUM) &
+- (~((__uint64_t) XR_BB_MASK << ((bno % XR_BB_NUM) * XR_BB)))) |
+- (((__uint64_t) state) << ((bno % XR_BB_NUM) * XR_BB)));
++ (~((uint64_t) XR_BB_MASK << ((bno % XR_BB_NUM) * XR_BB)))) |
++ (((uint64_t) state) << ((bno % XR_BB_NUM) * XR_BB)));
+ }
+
+ static void
+@@ -222,9 +222,9 @@ init_rt_bmap(
+ return;
+
+ rt_bmap_size = roundup(mp->m_sb.sb_rextents / (NBBY / XR_BB),
+- sizeof(__uint64_t));
++ sizeof(uint64_t));
+
+- rt_bmap = memalign(sizeof(__uint64_t), rt_bmap_size);
++ rt_bmap = memalign(sizeof(uint64_t), rt_bmap_size);
+ if (!rt_bmap) {
+ do_error(
+ _("couldn't allocate realtime block map, size = %" PRIu64 "\n"),
+diff --git a/repair/incore.h b/repair/incore.h
+index c23a3a3c..fd66084f 100644
+--- a/repair/incore.h
++++ b/repair/incore.h
+@@ -257,7 +257,7 @@ typedef xfs_ino_t parent_entry_t;
+ struct nlink_ops;
+
+ typedef struct parent_list {
+- __uint64_t pmask;
++ uint64_t pmask;
+ parent_entry_t *pentries;
+ #ifdef DEBUG
+ short cnt;
+@@ -265,14 +265,14 @@ typedef struct parent_list {
+ } parent_list_t;
+
+ union ino_nlink {
+- __uint8_t *un8;
+- __uint16_t *un16;
+- __uint32_t *un32;
++ uint8_t *un8;
++ uint16_t *un16;
++ uint32_t *un32;
+ };
+
+ typedef struct ino_ex_data {
+- __uint64_t ino_reached; /* bit == 1 if reached */
+- __uint64_t ino_processed; /* reference checked bit mask */
++ uint64_t ino_reached; /* bit == 1 if reached */
++ uint64_t ino_processed; /* reference checked bit mask */
+ parent_list_t *parents;
+ union ino_nlink counted_nlinks;/* counted nlinks in P6 */
+ } ino_ex_data_t;
+@@ -281,22 +281,22 @@ typedef struct ino_tree_node {
+ avlnode_t avl_node;
+ xfs_agino_t ino_startnum; /* starting inode # */
+ xfs_inofree_t ir_free; /* inode free bit mask */
+- __uint64_t ir_sparse; /* sparse inode bitmask */
+- __uint64_t ino_confirmed; /* confirmed bitmask */
+- __uint64_t ino_isa_dir; /* bit == 1 if a directory */
+- __uint64_t ino_was_rl; /* bit == 1 if reflink flag set */
+- __uint64_t ino_is_rl; /* bit == 1 if reflink flag should be set */
+- __uint8_t nlink_size;
++ uint64_t ir_sparse; /* sparse inode bitmask */
++ uint64_t ino_confirmed; /* confirmed bitmask */
++ uint64_t ino_isa_dir; /* bit == 1 if a directory */
++ uint64_t ino_was_rl; /* bit == 1 if reflink flag set */
++ uint64_t ino_is_rl; /* bit == 1 if reflink flag should be set */
++ uint8_t nlink_size;
+ union ino_nlink disk_nlinks; /* on-disk nlinks, set in P3 */
+ union {
+ ino_ex_data_t *ex_data; /* phases 6,7 */
+ parent_list_t *plist; /* phases 2-5 */
+ } ino_un;
+- __uint8_t *ftypes; /* phases 3,6 */
++ uint8_t *ftypes; /* phases 3,6 */
+ } ino_tree_node_t;
+
+-#define INOS_PER_IREC (sizeof(__uint64_t) * NBBY)
+-#define IREC_MASK(i) ((__uint64_t)1 << (i))
++#define INOS_PER_IREC (sizeof(uint64_t) * NBBY)
++#define IREC_MASK(i) ((uint64_t)1 << (i))
+
+ void add_ino_ex_data(xfs_mount_t *mp);
+
+@@ -543,10 +543,10 @@ static inline int inode_is_rl(struct ino_tree_node *irec, int offset)
+ */
+ void add_inode_ref(struct ino_tree_node *irec, int offset);
+ void drop_inode_ref(struct ino_tree_node *irec, int offset);
+-__uint32_t num_inode_references(struct ino_tree_node *irec, int offset);
++uint32_t num_inode_references(struct ino_tree_node *irec, int offset);
+
+-void set_inode_disk_nlinks(struct ino_tree_node *irec, int offset, __uint32_t nlinks);
+-__uint32_t get_inode_disk_nlinks(struct ino_tree_node *irec, int offset);
++void set_inode_disk_nlinks(struct ino_tree_node *irec, int offset, uint32_t nlinks);
++uint32_t get_inode_disk_nlinks(struct ino_tree_node *irec, int offset);
+
+ static inline int is_inode_reached(struct ino_tree_node *irec, int offset)
+ {
+@@ -567,13 +567,13 @@ static inline void add_inode_reached(struct ino_tree_node *irec, int offset)
+ static inline void
+ set_inode_ftype(struct ino_tree_node *irec,
+ int ino_offset,
+- __uint8_t ftype)
++ uint8_t ftype)
+ {
+ if (irec->ftypes)
+ irec->ftypes[ino_offset] = ftype;
+ }
+
+-static inline __uint8_t
++static inline uint8_t
+ get_inode_ftype(
+ struct ino_tree_node *irec,
+ int ino_offset)
+@@ -606,11 +606,11 @@ typedef struct bm_level_state {
+ xfs_fsblock_t fsbno;
+ xfs_fsblock_t left_fsbno;
+ xfs_fsblock_t right_fsbno;
+- __uint64_t first_key;
+- __uint64_t last_key;
++ uint64_t first_key;
++ uint64_t last_key;
+ /*
+ int level;
+- __uint64_t prev_last_key;
++ uint64_t prev_last_key;
+ xfs_buf_t *bp;
+ xfs_bmbt_block_t *block;
+ */
+diff --git a/repair/incore_ext.c b/repair/incore_ext.c
+index 7e6786c5..0a8138a9 100644
+--- a/repair/incore_ext.c
++++ b/repair/incore_ext.c
+@@ -721,13 +721,13 @@ search_rt_dup_extent(xfs_mount_t *mp, xfs_rtblock_t bno)
+ return(ret);
+ }
+
+-static __uint64_t
++static uint64_t
+ avl64_rt_ext_start(avl64node_t *node)
+ {
+ return(((rt_extent_tree_node_t *) node)->rt_startblock);
+ }
+
+-static __uint64_t
++static uint64_t
+ avl64_ext_end(avl64node_t *node)
+ {
+ return(((rt_extent_tree_node_t *) node)->rt_startblock +
+@@ -834,7 +834,7 @@ count_extents(xfs_agnumber_t agno, avltree_desc_t *tree, int whichtree)
+ int
+ count_bno_extents_blocks(xfs_agnumber_t agno, uint *numblocks)
+ {
+- __uint64_t nblocks;
++ uint64_t nblocks;
+ extent_tree_node_t *node;
+ int i = 0;
+
+diff --git a/repair/incore_ino.c b/repair/incore_ino.c
+index 2ec17657..3b6b44d4 100644
+--- a/repair/incore_ino.c
++++ b/repair/incore_ino.c
+@@ -38,7 +38,7 @@ static avltree_desc_t **inode_uncertain_tree_ptrs;
+ /* memory optimised nlink counting for all inodes */
+
+ static void *
+-alloc_nlink_array(__uint8_t nlink_size)
++alloc_nlink_array(uint8_t nlink_size)
+ {
+ void *ptr;
+
+@@ -51,10 +51,10 @@ alloc_nlink_array(__uint8_t nlink_size)
+ static void
+ nlink_grow_8_to_16(ino_tree_node_t *irec)
+ {
+- __uint16_t *new_nlinks;
++ uint16_t *new_nlinks;
+ int i;
+
+- irec->nlink_size = sizeof(__uint16_t);
++ irec->nlink_size = sizeof(uint16_t);
+
+ new_nlinks = alloc_nlink_array(irec->nlink_size);
+ for (i = 0; i < XFS_INODES_PER_CHUNK; i++)
+@@ -76,10 +76,10 @@ nlink_grow_8_to_16(ino_tree_node_t *irec)
+ static void
+ nlink_grow_16_to_32(ino_tree_node_t *irec)
+ {
+- __uint32_t *new_nlinks;
++ uint32_t *new_nlinks;
+ int i;
+
+- irec->nlink_size = sizeof(__uint32_t);
++ irec->nlink_size = sizeof(uint32_t);
+
+ new_nlinks = alloc_nlink_array(irec->nlink_size);
+ for (i = 0; i < XFS_INODES_PER_CHUNK; i++)
+@@ -104,21 +104,21 @@ void add_inode_ref(struct ino_tree_node *irec, int ino_offset)
+ ASSERT(irec->ino_un.ex_data != NULL);
+
+ switch (irec->nlink_size) {
+- case sizeof(__uint8_t):
++ case sizeof(uint8_t):
+ if (irec->ino_un.ex_data->counted_nlinks.un8[ino_offset] < 0xff) {
+ irec->ino_un.ex_data->counted_nlinks.un8[ino_offset]++;
+ break;
+ }
+ nlink_grow_8_to_16(irec);
+ /*FALLTHRU*/
+- case sizeof(__uint16_t):
++ case sizeof(uint16_t):
+ if (irec->ino_un.ex_data->counted_nlinks.un16[ino_offset] < 0xffff) {
+ irec->ino_un.ex_data->counted_nlinks.un16[ino_offset]++;
+ break;
+ }
+ nlink_grow_16_to_32(irec);
+ /*FALLTHRU*/
+- case sizeof(__uint32_t):
++ case sizeof(uint32_t):
+ irec->ino_un.ex_data->counted_nlinks.un32[ino_offset]++;
+ break;
+ default:
+@@ -128,20 +128,20 @@ void add_inode_ref(struct ino_tree_node *irec, int ino_offset)
+
+ void drop_inode_ref(struct ino_tree_node *irec, int ino_offset)
+ {
+- __uint32_t refs = 0;
++ uint32_t refs = 0;
+
+ ASSERT(irec->ino_un.ex_data != NULL);
+
+ switch (irec->nlink_size) {
+- case sizeof(__uint8_t):
++ case sizeof(uint8_t):
+ ASSERT(irec->ino_un.ex_data->counted_nlinks.un8[ino_offset] > 0);
+ refs = --irec->ino_un.ex_data->counted_nlinks.un8[ino_offset];
+ break;
+- case sizeof(__uint16_t):
++ case sizeof(uint16_t):
+ ASSERT(irec->ino_un.ex_data->counted_nlinks.un16[ino_offset] > 0);
+ refs = --irec->ino_un.ex_data->counted_nlinks.un16[ino_offset];
+ break;
+- case sizeof(__uint32_t):
++ case sizeof(uint32_t):
+ ASSERT(irec->ino_un.ex_data->counted_nlinks.un32[ino_offset] > 0);
+ refs = --irec->ino_un.ex_data->counted_nlinks.un32[ino_offset];
+ break;
+@@ -153,16 +153,16 @@ void drop_inode_ref(struct ino_tree_node *irec, int ino_offset)
+ irec->ino_un.ex_data->ino_reached &= ~IREC_MASK(ino_offset);
+ }
+
+-__uint32_t num_inode_references(struct ino_tree_node *irec, int ino_offset)
++uint32_t num_inode_references(struct ino_tree_node *irec, int ino_offset)
+ {
+ ASSERT(irec->ino_un.ex_data != NULL);
+
+ switch (irec->nlink_size) {
+- case sizeof(__uint8_t):
++ case sizeof(uint8_t):
+ return irec->ino_un.ex_data->counted_nlinks.un8[ino_offset];
+- case sizeof(__uint16_t):
++ case sizeof(uint16_t):
+ return irec->ino_un.ex_data->counted_nlinks.un16[ino_offset];
+- case sizeof(__uint32_t):
++ case sizeof(uint32_t):
+ return irec->ino_un.ex_data->counted_nlinks.un32[ino_offset];
+ default:
+ ASSERT(0);
+@@ -171,24 +171,24 @@ __uint32_t num_inode_references(struct ino_tree_node *irec, int ino_offset)
+ }
+
+ void set_inode_disk_nlinks(struct ino_tree_node *irec, int ino_offset,
+- __uint32_t nlinks)
++ uint32_t nlinks)
+ {
+ switch (irec->nlink_size) {
+- case sizeof(__uint8_t):
++ case sizeof(uint8_t):
+ if (nlinks < 0xff) {
+ irec->disk_nlinks.un8[ino_offset] = nlinks;
+ break;
+ }
+ nlink_grow_8_to_16(irec);
+ /*FALLTHRU*/
+- case sizeof(__uint16_t):
++ case sizeof(uint16_t):
+ if (nlinks < 0xffff) {
+ irec->disk_nlinks.un16[ino_offset] = nlinks;
+ break;
+ }
+ nlink_grow_16_to_32(irec);
+ /*FALLTHRU*/
+- case sizeof(__uint32_t):
++ case sizeof(uint32_t):
+ irec->disk_nlinks.un32[ino_offset] = nlinks;
+ break;
+ default:
+@@ -196,14 +196,14 @@ void set_inode_disk_nlinks(struct ino_tree_node *irec, int ino_offset,
+ }
+ }
+
+-__uint32_t get_inode_disk_nlinks(struct ino_tree_node *irec, int ino_offset)
++uint32_t get_inode_disk_nlinks(struct ino_tree_node *irec, int ino_offset)
+ {
+ switch (irec->nlink_size) {
+- case sizeof(__uint8_t):
++ case sizeof(uint8_t):
+ return irec->disk_nlinks.un8[ino_offset];
+- case sizeof(__uint16_t):
++ case sizeof(uint16_t):
+ return irec->disk_nlinks.un16[ino_offset];
+- case sizeof(__uint32_t):
++ case sizeof(uint32_t):
+ return irec->disk_nlinks.un32[ino_offset];
+ default:
+ ASSERT(0);
+@@ -211,11 +211,11 @@ __uint32_t get_inode_disk_nlinks(struct ino_tree_node *irec, int ino_offset)
+ return 0;
+ }
+
+-static __uint8_t *
++static uint8_t *
+ alloc_ftypes_array(
+ struct xfs_mount *mp)
+ {
+- __uint8_t *ptr;
++ uint8_t *ptr;
+
+ if (!xfs_sb_version_hasftype(&mp->m_sb))
+ return NULL;
+@@ -262,23 +262,23 @@ alloc_ino_node(
+ irec->ir_free = (xfs_inofree_t) - 1;
+ irec->ir_sparse = 0;
+ irec->ino_un.ex_data = NULL;
+- irec->nlink_size = sizeof(__uint8_t);
++ irec->nlink_size = sizeof(uint8_t);
+ irec->disk_nlinks.un8 = alloc_nlink_array(irec->nlink_size);
+ irec->ftypes = alloc_ftypes_array(mp);
+ return irec;
+ }
+
+ static void
+-free_nlink_array(union ino_nlink nlinks, __uint8_t nlink_size)
++free_nlink_array(union ino_nlink nlinks, uint8_t nlink_size)
+ {
+ switch (nlink_size) {
+- case sizeof(__uint8_t):
++ case sizeof(uint8_t):
+ free(nlinks.un8);
+ break;
+- case sizeof(__uint16_t):
++ case sizeof(uint16_t):
+ free(nlinks.un16);
+ break;
+- case sizeof(__uint32_t):
++ case sizeof(uint32_t):
+ free(nlinks.un32);
+ break;
+ default:
+@@ -609,7 +609,7 @@ set_inode_parent(
+ int i;
+ int cnt;
+ int target;
+- __uint64_t bitmask;
++ uint64_t bitmask;
+ parent_entry_t *tmp;
+
+ if (full_ino_ex_data)
+@@ -699,7 +699,7 @@ set_inode_parent(
+ xfs_ino_t
+ get_inode_parent(ino_tree_node_t *irec, int offset)
+ {
+- __uint64_t bitmask;
++ uint64_t bitmask;
+ parent_list_t *ptbl;
+ int i;
+ int target;
+@@ -740,15 +740,15 @@ alloc_ex_data(ino_tree_node_t *irec)
+ irec->ino_un.ex_data->parents = ptbl;
+
+ switch (irec->nlink_size) {
+- case sizeof(__uint8_t):
++ case sizeof(uint8_t):
+ irec->ino_un.ex_data->counted_nlinks.un8 =
+ alloc_nlink_array(irec->nlink_size);
+ break;
+- case sizeof(__uint16_t):
++ case sizeof(uint16_t):
+ irec->ino_un.ex_data->counted_nlinks.un16 =
+ alloc_nlink_array(irec->nlink_size);
+ break;
+- case sizeof(__uint32_t):
++ case sizeof(uint32_t):
+ irec->ino_un.ex_data->counted_nlinks.un32 =
+ alloc_nlink_array(irec->nlink_size);
+ break;
+diff --git a/repair/phase2.c b/repair/phase2.c
+index c21778b8..0085732b 100644
+--- a/repair/phase2.c
++++ b/repair/phase2.c
+@@ -179,7 +179,7 @@ phase2(
+
+ bad_ino_btree = 0;
+
+- set_progress_msg(PROG_FMT_SCAN_AG, (__uint64_t) glob_agcount);
++ set_progress_msg(PROG_FMT_SCAN_AG, (uint64_t) glob_agcount);
+
+ scan_ags(mp, scan_threads);
+
+diff --git a/repair/phase3.c b/repair/phase3.c
+index 0890a27d..17b1c28d 100644
+--- a/repair/phase3.c
++++ b/repair/phase3.c
+@@ -122,7 +122,7 @@ phase3(
+ else
+ do_log(_(" - scan (but don't clear) agi unlinked lists...\n"));
+
+- set_progress_msg(PROG_FMT_AGI_UNLINKED, (__uint64_t) glob_agcount);
++ set_progress_msg(PROG_FMT_AGI_UNLINKED, (uint64_t) glob_agcount);
+
+ /* first clear the agi unlinked AGI list */
+ if (!no_modify) {
+@@ -142,7 +142,7 @@ phase3(
+ do_log(_(
+ " - process known inodes and perform inode discovery...\n"));
+
+- set_progress_msg(PROG_FMT_PROCESS_INO, (__uint64_t) mp->m_sb.sb_icount);
++ set_progress_msg(PROG_FMT_PROCESS_INO, (uint64_t) mp->m_sb.sb_icount);
+
+ process_ags(mp);
+
+@@ -152,7 +152,7 @@ phase3(
+ * process newly discovered inode chunks
+ */
+ do_log(_(" - process newly discovered inodes...\n"));
+- set_progress_msg(PROG_FMT_NEW_INODES, (__uint64_t) glob_agcount);
++ set_progress_msg(PROG_FMT_NEW_INODES, (uint64_t) glob_agcount);
+
+ counts = calloc(sizeof(*counts), mp->m_sb.sb_agcount);
+ if (!counts) {
+diff --git a/repair/phase4.c b/repair/phase4.c
+index e59464b1..cc17ec03 100644
+--- a/repair/phase4.c
++++ b/repair/phase4.c
+@@ -290,7 +290,7 @@ phase4(xfs_mount_t *mp)
+ do_log(_("Phase 4 - check for duplicate blocks...\n"));
+ do_log(_(" - setting up duplicate extent list...\n"));
+
+- set_progress_msg(PROG_FMT_DUP_EXTENT, (__uint64_t) glob_agcount);
++ set_progress_msg(PROG_FMT_DUP_EXTENT, (uint64_t) glob_agcount);
+
+ irec = find_inode_rec(mp, XFS_INO_TO_AGNO(mp, mp->m_sb.sb_rootino),
+ XFS_INO_TO_AGINO(mp, mp->m_sb.sb_rootino));
+@@ -404,7 +404,7 @@ phase4(xfs_mount_t *mp)
+ reset_bmaps(mp);
+
+ do_log(_(" - check for inodes claiming duplicate blocks...\n"));
+- set_progress_msg(PROG_FMT_DUP_BLOCKS, (__uint64_t) mp->m_sb.sb_icount);
++ set_progress_msg(PROG_FMT_DUP_BLOCKS, (uint64_t) mp->m_sb.sb_icount);
+
+ /*
+ * ok, now process the inodes -- signal 2-pass check per inode.
+diff --git a/repair/phase5.c b/repair/phase5.c
+index 0b833f13..21dce67a 100644
+--- a/repair/phase5.c
++++ b/repair/phase5.c
+@@ -86,9 +86,9 @@ struct agi_stat {
+ xfs_agino_t freecount;
+ };
+
+-static __uint64_t *sb_icount_ag; /* allocated inodes per ag */
+-static __uint64_t *sb_ifree_ag; /* free inodes per ag */
+-static __uint64_t *sb_fdblocks_ag; /* free data blocks per ag */
++static uint64_t *sb_icount_ag; /* allocated inodes per ag */
++static uint64_t *sb_ifree_ag; /* free inodes per ag */
++static uint64_t *sb_fdblocks_ag; /* free data blocks per ag */
+
+ static int
+ mk_incore_fstree(xfs_mount_t *mp, xfs_agnumber_t agno)
+@@ -886,10 +886,10 @@ build_freespace_tree(xfs_mount_t *mp, xfs_agnumber_t agno,
+ */
+ static void
+ init_ino_cursor(xfs_mount_t *mp, xfs_agnumber_t agno, bt_status_t *btree_curs,
+- __uint64_t *num_inos, __uint64_t *num_free_inos, int finobt)
++ uint64_t *num_inos, uint64_t *num_free_inos, int finobt)
+ {
+- __uint64_t ninos;
+- __uint64_t nfinos;
++ uint64_t ninos;
++ uint64_t nfinos;
+ int rec_nfinos;
+ int rec_ninos;
+ ino_tree_node_t *ino_rec;
+@@ -2193,10 +2193,10 @@ phase5_func(
+ xfs_agnumber_t agno,
+ struct xfs_slab *lost_fsb)
+ {
+- __uint64_t num_inos;
+- __uint64_t num_free_inos;
+- __uint64_t finobt_num_inos;
+- __uint64_t finobt_num_free_inos;
++ uint64_t num_inos;
++ uint64_t num_free_inos;
++ uint64_t finobt_num_inos;
++ uint64_t finobt_num_free_inos;
+ bt_status_t bno_btree_curs;
+ bt_status_t bcnt_btree_curs;
+ bt_status_t ino_btree_curs;
+@@ -2471,7 +2471,7 @@ phase5(xfs_mount_t *mp)
+ int error;
+
+ do_log(_("Phase 5 - rebuild AG headers and trees...\n"));
+- set_progress_msg(PROG_FMT_REBUILD_AG, (__uint64_t )glob_agcount);
++ set_progress_msg(PROG_FMT_REBUILD_AG, (uint64_t)glob_agcount);
+
+ #ifdef XR_BLD_FREE_TRACE
+ fprintf(stderr, "inobt level 1, maxrec = %d, minrec = %d\n",
+@@ -2497,15 +2497,15 @@ phase5(xfs_mount_t *mp)
+ keep_fsinos(mp);
+
+ /* allocate per ag counters */
+- sb_icount_ag = calloc(mp->m_sb.sb_agcount, sizeof(__uint64_t));
++ sb_icount_ag = calloc(mp->m_sb.sb_agcount, sizeof(uint64_t));
+ if (sb_icount_ag == NULL)
+ do_error(_("cannot alloc sb_icount_ag buffers\n"));
+
+- sb_ifree_ag = calloc(mp->m_sb.sb_agcount, sizeof(__uint64_t));
++ sb_ifree_ag = calloc(mp->m_sb.sb_agcount, sizeof(uint64_t));
+ if (sb_ifree_ag == NULL)
+ do_error(_("cannot alloc sb_ifree_ag buffers\n"));
+
+- sb_fdblocks_ag = calloc(mp->m_sb.sb_agcount, sizeof(__uint64_t));
++ sb_fdblocks_ag = calloc(mp->m_sb.sb_agcount, sizeof(uint64_t));
+ if (sb_fdblocks_ag == NULL)
+ do_error(_("cannot alloc sb_fdblocks_ag buffers\n"));
+
+diff --git a/repair/phase6.c b/repair/phase6.c
+index 08636dcf..373b1a5b 100644
+--- a/repair/phase6.c
++++ b/repair/phase6.c
+@@ -82,7 +82,7 @@ typedef struct dir_hash_ent {
+ struct dir_hash_ent *nextbyhash; /* next in name bucket */
+ struct dir_hash_ent *nextbyorder; /* next in order added */
+ xfs_dahash_t hashval; /* hash value of name */
+- __uint32_t address; /* offset of data entry */
++ uint32_t address; /* offset of data entry */
+ xfs_ino_t inum; /* inode num of entry */
+ short junkit; /* name starts with / */
+ short seen; /* have seen leaf entry */
+@@ -170,11 +170,11 @@ static int
+ dir_hash_add(
+ xfs_mount_t *mp,
+ dir_hash_tab_t *hashtab,
+- __uint32_t addr,
++ uint32_t addr,
+ xfs_ino_t inum,
+ int namelen,
+ unsigned char *name,
+- __uint8_t ftype)
++ uint8_t ftype)
+ {
+ xfs_dahash_t hash = 0;
+ int byaddr;
+@@ -357,7 +357,7 @@ static void
+ dir_hash_update_ftype(
+ dir_hash_tab_t *hashtab,
+ xfs_dir2_dataptr_t addr,
+- __uint8_t ftype)
++ uint8_t ftype)
+ {
+ int i;
+ dir_hash_ent_t *p;
+@@ -1791,8 +1791,8 @@ longform_dir2_entry_check_data(
+
+ /* validate ftype field if supported */
+ if (xfs_sb_version_hasftype(&mp->m_sb)) {
+- __uint8_t dir_ftype;
+- __uint8_t ino_ftype;
++ uint8_t dir_ftype;
++ uint8_t ino_ftype;
+
+ dir_ftype = M_DIROPS(mp)->data_get_ftype(dep);
+ ino_ftype = get_inode_ftype(irec, ino_offset);
+@@ -2703,8 +2703,8 @@ _("entry \"%s\" (ino %" PRIu64 ") in dir %" PRIu64 " is a duplicate name"),
+
+ /* validate ftype field if supported */
+ if (xfs_sb_version_hasftype(&mp->m_sb)) {
+- __uint8_t dir_ftype;
+- __uint8_t ino_ftype;
++ uint8_t dir_ftype;
++ uint8_t ino_ftype;
+
+ dir_ftype = M_DIROPS(mp)->sf_get_ftype(sfep);
+ ino_ftype = get_inode_ftype(irec, ino_offset);
+diff --git a/repair/phase7.c b/repair/phase7.c
+index 8bce117d..4ffb81a8 100644
+--- a/repair/phase7.c
++++ b/repair/phase7.c
+@@ -32,7 +32,7 @@ static void
+ update_inode_nlinks(
+ xfs_mount_t *mp,
+ xfs_ino_t ino,
+- __uint32_t nlinks)
++ uint32_t nlinks)
+ {
+ xfs_trans_t *tp;
+ xfs_inode_t *ip;
+@@ -104,7 +104,7 @@ do_link_updates(
+ {
+ ino_tree_node_t *irec;
+ int j;
+- __uint32_t nrefs;
++ uint32_t nrefs;
+
+ for (irec = findfirst_inode_rec(agno); irec;
+ irec = next_ino_rec(irec)) {
+@@ -143,7 +143,7 @@ phase7(
+ else
+ do_log(_("Phase 7 - verify link counts...\n"));
+
+- set_progress_msg(PROGRESS_FMT_CORR_LINK, (__uint64_t) glob_agcount);
++ set_progress_msg(PROGRESS_FMT_CORR_LINK, (uint64_t) glob_agcount);
+
+ create_work_queue(&wq, mp, scan_threads);
+
+diff --git a/repair/progress.c b/repair/progress.c
+index 2a09b239..99d2658c 100644
+--- a/repair/progress.c
++++ b/repair/progress.c
+@@ -85,8 +85,8 @@ pthread_t report_thread;
+ typedef struct msg_block_s {
+ pthread_mutex_t mutex;
+ progress_rpt_t *format;
+- __uint64_t *done;
+- __uint64_t *total;
++ uint64_t *done;
++ uint64_t *total;
+ int count;
+ int interval;
+ } msg_block_t;
+@@ -96,14 +96,14 @@ typedef struct phase_times_s {
+ time_t start;
+ time_t end;
+ time_t duration;
+- __uint64_t item_counts[4];
++ uint64_t item_counts[4];
+ } phase_times_t;
+ static phase_times_t phase_times[8];
+
+ static void *progress_rpt_thread(void *);
+ static int current_phase;
+ static int running;
+-static __uint64_t prog_rpt_total;
++static uint64_t prog_rpt_total;
+
+ void
+ init_progress_rpt (void)
+@@ -113,11 +113,11 @@ init_progress_rpt (void)
+ * allocate the done vector
+ */
+
+- if ((prog_rpt_done = (__uint64_t *)
+- malloc(sizeof(__uint64_t)*glob_agcount)) == NULL ) {
++ if ((prog_rpt_done = (uint64_t *)
++ malloc(sizeof(uint64_t)*glob_agcount)) == NULL) {
+ do_error(_("cannot malloc pointer to done vector\n"));
+ }
+- bzero(prog_rpt_done, sizeof(__uint64_t)*glob_agcount);
++ bzero(prog_rpt_done, sizeof(uint64_t)*glob_agcount);
+
+ /*
+ * Setup comm block, start the thread
+@@ -165,10 +165,10 @@ progress_rpt_thread (void *p)
+ timer_t timerid;
+ struct itimerspec timespec;
+ char *msgbuf;
+- __uint64_t *donep;
+- __uint64_t sum;
++ uint64_t *donep;
++ uint64_t sum;
+ msg_block_t *msgp = (msg_block_t *)p;
+- __uint64_t percent;
++ uint64_t percent;
+
+ /* It's possible to get here very early w/ no progress msg set */
+ if (!msgp->format)
+@@ -286,7 +286,7 @@ progress_rpt_thread (void *p)
+ }
+
+ int
+-set_progress_msg (int report, __uint64_t total)
++set_progress_msg(int report, uint64_t total)
+ {
+
+ if (!ag_stride)
+@@ -300,7 +300,7 @@ set_progress_msg (int report, __uint64_t total)
+
+ /* reset all the accumulative totals */
+ if (prog_rpt_done)
+- bzero(prog_rpt_done, sizeof(__uint64_t)*glob_agcount);
++ bzero(prog_rpt_done, sizeof(uint64_t)*glob_agcount);
+
+ if (pthread_mutex_unlock(&global_msgs.mutex))
+ do_error(_("set_progress_msg: cannot unlock progress mutex\n"));
+@@ -308,14 +308,14 @@ set_progress_msg (int report, __uint64_t total)
+ return (0);
+ }
+
+-__uint64_t
++uint64_t
+ print_final_rpt(void)
+ {
+ int i;
+ struct tm *tmp;
+ time_t now;
+- __uint64_t *donep;
+- __uint64_t sum;
++ uint64_t *donep;
++ uint64_t sum;
+ msg_block_t *msgp = &global_msgs;
+ char msgbuf[DURATION_BUF_SIZE];
+
+diff --git a/repair/progress.h b/repair/progress.h
+index 33db8344..51526483 100644
+--- a/repair/progress.h
++++ b/repair/progress.h
+@@ -32,8 +32,8 @@
+ extern void init_progress_rpt(void);
+ extern void stop_progress_rpt(void);
+ extern void summary_report(void);
+-extern int set_progress_msg(int report, __uint64_t total);
+-extern __uint64_t print_final_rpt(void);
++extern int set_progress_msg(int report, uint64_t total);
++extern uint64_t print_final_rpt(void);
+ extern char *timestamp(int end, int phase, char *buf);
+ extern char *duration(int val, char *buf);
+ extern int do_parallel;
+diff --git a/repair/rmap.c b/repair/rmap.c
+index ab6e5839..01d6f0fc 100644
+--- a/repair/rmap.c
++++ b/repair/rmap.c
+@@ -343,7 +343,7 @@ err:
+
+ static int
+ find_first_zero_bit(
+- __uint64_t mask)
++ uint64_t mask)
+ {
+ int n;
+ int b = 0;
+@@ -356,7 +356,7 @@ find_first_zero_bit(
+
+ static int
+ popcnt(
+- __uint64_t mask)
++ uint64_t mask)
+ {
+ int n;
+ int b = 0;
+@@ -1064,14 +1064,14 @@ err:
+ * Compare the key fields of two rmap records -- positive if key1 > key2,
+ * negative if key1 < key2, and zero if equal.
+ */
+-__int64_t
++int64_t
+ rmap_diffkeys(
+ struct xfs_rmap_irec *kp1,
+ struct xfs_rmap_irec *kp2)
+ {
+ __u64 oa;
+ __u64 ob;
+- __int64_t d;
++ int64_t d;
+ struct xfs_rmap_irec tmp;
+
+ tmp = *kp1;
+@@ -1081,7 +1081,7 @@ rmap_diffkeys(
+ tmp.rm_flags &= ~XFS_RMAP_REC_FLAGS;
+ ob = libxfs_rmap_irec_offset_pack(&tmp);
+
+- d = (__int64_t)kp1->rm_startblock - kp2->rm_startblock;
++ d = (int64_t)kp1->rm_startblock - kp2->rm_startblock;
+ if (d)
+ return d;
+
+@@ -1192,10 +1192,10 @@ fix_inode_reflink_flags(
+ {
+ struct ino_tree_node *irec;
+ int bit;
+- __uint64_t was;
+- __uint64_t is;
+- __uint64_t diff;
+- __uint64_t mask;
++ uint64_t was;
++ uint64_t is;
++ uint64_t diff;
++ uint64_t mask;
+ int error = 0;
+ xfs_agino_t agino;
+
+diff --git a/repair/rmap.h b/repair/rmap.h
+index 752ece82..1616ab7d 100644
+--- a/repair/rmap.h
++++ b/repair/rmap.h
+@@ -44,7 +44,7 @@ extern int rmap_init_cursor(xfs_agnumber_t, struct xfs_slab_cursor **);
+ extern void rmap_avoid_check(void);
+ extern int rmaps_verify_btree(struct xfs_mount *, xfs_agnumber_t);
+
+-extern __int64_t rmap_diffkeys(struct xfs_rmap_irec *kp1,
++extern int64_t rmap_diffkeys(struct xfs_rmap_irec *kp1,
+ struct xfs_rmap_irec *kp2);
+ extern void rmap_high_key_from_rec(struct xfs_rmap_irec *rec,
+ struct xfs_rmap_irec *key);
+diff --git a/repair/sb.c b/repair/sb.c
+index 77e51546..acc92839 100644
+--- a/repair/sb.c
++++ b/repair/sb.c
+@@ -40,7 +40,7 @@ copy_sb(xfs_sb_t *source, xfs_sb_t *dest)
+ xfs_ino_t uquotino;
+ xfs_ino_t gquotino;
+ xfs_ino_t pquotino;
+- __uint16_t versionnum;
++ uint16_t versionnum;
+
+ rootino = dest->sb_rootino;
+ rbmino = dest->sb_rbmino;
+@@ -106,8 +106,8 @@ verify_sb_blocksize(xfs_sb_t *sb)
+ static int
+ __find_secondary_sb(
+ xfs_sb_t *rsb,
+- __uint64_t start,
+- __uint64_t skip)
++ uint64_t start,
++ uint64_t skip)
+ {
+ xfs_off_t off;
+ xfs_sb_t *sb;
+@@ -187,13 +187,13 @@ __find_secondary_sb(
+
+ static int
+ guess_default_geometry(
+- __uint64_t *agsize,
+- __uint64_t *agcount,
++ uint64_t *agsize,
++ uint64_t *agcount,
+ libxfs_init_t *x)
+ {
+ struct fs_topology ft;
+ int blocklog;
+- __uint64_t dblocks;
++ uint64_t dblocks;
+ int multidisk;
+
+ memset(&ft, 0, sizeof(ft));
+@@ -216,9 +216,9 @@ int
+ find_secondary_sb(xfs_sb_t *rsb)
+ {
+ int retval = 0;
+- __uint64_t agcount;
+- __uint64_t agsize;
+- __uint64_t skip;
++ uint64_t agcount;
++ uint64_t agsize;
++ uint64_t skip;
+ int blocklog;
+
+ /*
+@@ -229,7 +229,7 @@ find_secondary_sb(xfs_sb_t *rsb)
+ do_warn(_("\nattempting to find secondary superblock...\n"));
+
+ if (verify_sb_blocksize(rsb) == 0) {
+- skip = (__uint64_t)rsb->sb_agblocks * rsb->sb_blocksize;
++ skip = (uint64_t)rsb->sb_agblocks * rsb->sb_blocksize;
+ if (skip >= XFS_AG_MIN_BYTES && skip <= XFS_AG_MAX_BYTES)
+ retval = __find_secondary_sb(rsb, skip, skip);
+ }
+@@ -343,7 +343,7 @@ sb_validate_ino_align(struct xfs_sb *sb)
+ int
+ verify_sb(char *sb_buf, xfs_sb_t *sb, int is_primary_sb)
+ {
+- __uint32_t bsize;
++ uint32_t bsize;
+ int i;
+ int ret;
+
+@@ -399,7 +399,7 @@ verify_sb(char *sb_buf, xfs_sb_t *sb, int is_primary_sb)
+ sb->sb_dblocks < XFS_MIN_DBLOCKS(sb))
+ return(XR_BAD_FS_SIZE_DATA);
+
+- if (sb->sb_agblklog != (__uint8_t)libxfs_log2_roundup(sb->sb_agblocks))
++ if (sb->sb_agblklog != (uint8_t)libxfs_log2_roundup(sb->sb_agblocks))
+ return(XR_BAD_FS_SIZE_DATA);
+
+ if (sb->sb_inodesize < XFS_DINODE_MIN_SIZE ||
+diff --git a/repair/scan.c b/repair/scan.c
+index b9ef4dc3..447611ac 100644
+--- a/repair/scan.c
++++ b/repair/scan.c
+@@ -42,13 +42,13 @@ struct aghdr_cnts {
+ xfs_agnumber_t agno;
+ xfs_extlen_t agffreeblks;
+ xfs_extlen_t agflongest;
+- __uint64_t agfbtreeblks;
+- __uint32_t agicount;
+- __uint32_t agifreecount;
+- __uint64_t fdblocks;
+- __uint64_t usedblocks;
+- __uint64_t ifreecount;
+- __uint32_t fibtfreecount;
++ uint64_t agfbtreeblks;
++ uint32_t agicount;
++ uint32_t agifreecount;
++ uint64_t fdblocks;
++ uint64_t usedblocks;
++ uint64_t ifreecount;
++ uint32_t fibtfreecount;
+ };
+
+ void
+@@ -70,10 +70,10 @@ scan_sbtree(
+ xfs_agnumber_t agno,
+ int suspect,
+ int isroot,
+- __uint32_t magic,
++ uint32_t magic,
+ void *priv),
+ int isroot,
+- __uint32_t magic,
++ uint32_t magic,
+ void *priv,
+ const struct xfs_buf_ops *ops)
+ {
+@@ -110,23 +110,23 @@ scan_lbtree(
+ xfs_fsblock_t bno,
+ xfs_ino_t ino,
+ xfs_rfsblock_t *tot,
+- __uint64_t *nex,
++ uint64_t *nex,
+ blkmap_t **blkmapp,
+ bmap_cursor_t *bm_cursor,
+ int isroot,
+ int check_dups,
+ int *dirty,
+- __uint64_t magic),
++ uint64_t magic),
+ int type,
+ int whichfork,
+ xfs_ino_t ino,
+ xfs_rfsblock_t *tot,
+- __uint64_t *nex,
++ uint64_t *nex,
+ blkmap_t **blkmapp,
+ bmap_cursor_t *bm_cursor,
+ int isroot,
+ int check_dups,
+- __uint64_t magic,
++ uint64_t magic,
+ const struct xfs_buf_ops *ops)
+ {
+ xfs_buf_t *bp;
+@@ -179,13 +179,13 @@ scan_bmapbt(
+ xfs_fsblock_t bno,
+ xfs_ino_t ino,
+ xfs_rfsblock_t *tot,
+- __uint64_t *nex,
++ uint64_t *nex,
+ blkmap_t **blkmapp,
+ bmap_cursor_t *bm_cursor,
+ int isroot,
+ int check_dups,
+ int *dirty,
+- __uint64_t magic)
++ uint64_t magic)
+ {
+ int i;
+ int err;
+@@ -548,7 +548,7 @@ scan_allocbt(
+ xfs_agnumber_t agno,
+ int suspect,
+ int isroot,
+- __uint32_t magic,
++ uint32_t magic,
+ void *priv)
+ {
+ struct aghdr_cnts *agcnts = priv;
+@@ -930,7 +930,7 @@ scan_rmapbt(
+ xfs_agnumber_t agno,
+ int suspect,
+ int isroot,
+- __uint32_t magic,
++ uint32_t magic,
+ void *priv)
+ {
+ const char *name = "rmap";
+@@ -1233,7 +1233,7 @@ scan_refcbt(
+ xfs_agnumber_t agno,
+ int suspect,
+ int isroot,
+- __uint32_t magic,
++ uint32_t magic,
+ void *priv)
+ {
+ const char *name = "refcount";
+@@ -1939,7 +1939,7 @@ scan_inobt(
+ xfs_agnumber_t agno,
+ int suspect,
+ int isroot,
+- __uint32_t magic,
++ uint32_t magic,
+ void *priv)
+ {
+ struct aghdr_cnts *agcnts = priv;
+@@ -2176,7 +2176,7 @@ validate_agf(
+ struct aghdr_cnts *agcnts)
+ {
+ xfs_agblock_t bno;
+- __uint32_t magic;
++ uint32_t magic;
+
+ bno = be32_to_cpu(agf->agf_roots[XFS_BTNUM_BNO]);
+ if (bno != 0 && verify_agbno(mp, agno, bno)) {
+@@ -2274,7 +2274,7 @@ validate_agi(
+ {
+ xfs_agblock_t bno;
+ int i;
+- __uint32_t magic;
++ uint32_t magic;
+
+ bno = be32_to_cpu(agi->agi_root);
+ if (bno != 0 && verify_agbno(mp, agno, bno)) {
+@@ -2499,10 +2499,10 @@ scan_ags(
+ int scan_threads)
+ {
+ struct aghdr_cnts *agcnts;
+- __uint64_t fdblocks = 0;
+- __uint64_t icount = 0;
+- __uint64_t ifreecount = 0;
+- __uint64_t usedblocks = 0;
++ uint64_t fdblocks = 0;
++ uint64_t icount = 0;
++ uint64_t ifreecount = 0;
++ uint64_t usedblocks = 0;
+ xfs_agnumber_t i;
+ work_queue_t wq;
+
+diff --git a/repair/scan.h b/repair/scan.h
+index ea8c0bf2..9bbe1e69 100644
+--- a/repair/scan.h
++++ b/repair/scan.h
+@@ -30,23 +30,23 @@ int scan_lbtree(
+ xfs_fsblock_t bno,
+ xfs_ino_t ino,
+ xfs_rfsblock_t *tot,
+- __uint64_t *nex,
++ uint64_t *nex,
+ struct blkmap **blkmapp,
+ bmap_cursor_t *bm_cursor,
+ int isroot,
+ int check_dups,
+ int *dirty,
+- __uint64_t magic),
++ uint64_t magic),
+ int type,
+ int whichfork,
+ xfs_ino_t ino,
+ xfs_rfsblock_t *tot,
+- __uint64_t *nex,
++ uint64_t *nex,
+ struct blkmap **blkmapp,
+ bmap_cursor_t *bm_cursor,
+ int isroot,
+ int check_dups,
+- __uint64_t magic,
++ uint64_t magic,
+ const struct xfs_buf_ops *ops);
+
+ int scan_bmapbt(
+@@ -57,13 +57,13 @@ int scan_bmapbt(
+ xfs_fsblock_t bno,
+ xfs_ino_t ino,
+ xfs_rfsblock_t *tot,
+- __uint64_t *nex,
++ uint64_t *nex,
+ struct blkmap **blkmapp,
+ bmap_cursor_t *bm_cursor,
+ int isroot,
+ int check_dups,
+ int *dirty,
+- __uint64_t magic);
++ uint64_t magic);
+
+ void
+ scan_ags(
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/link_needed_libs.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/link_needed_libs.patch
deleted file mode 100644
index 1de634ed7..000000000
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/link_needed_libs.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-Index: xfsprogs-4.10.0/libxcmd/Makefile
-===================================================================
---- xfsprogs-4.10.0.orig/libxcmd/Makefile
-+++ xfsprogs-4.10.0/libxcmd/Makefile
-@@ -30,10 +30,21 @@ LCFLAGS += -DENABLE_EDITLINE
- LTLIBS += $(LIBEDITLINE) $(LIBTERMCAP)
- endif
-
-+ifeq ($(ENABLE_BLKID),yes)
-+LCFLAGS += -DENABLE_BLKID
-+LTLIBS += $(LIBBLKID)
-+endif
-+
-+LTLIBS += $(LIBXFS)
-+
- default: ltdepend $(LTLIBRARY)
-
- include $(BUILDRULES)
-
--install install-dev: default
-+install: default
-+ $(INSTALL_LTLIB)
-+
-+install-dev: default
-+ $(INSTALL_LTLIB_DEV)
-
- -include .ltdep
-Index: xfsprogs-4.10.0/libxfs/Makefile
-===================================================================
---- xfsprogs-4.10.0.orig/libxfs/Makefile
-+++ xfsprogs-4.10.0/libxfs/Makefile
-@@ -137,6 +137,7 @@ include $(BUILDRULES)
-
- install: default
- $(INSTALL) -m 755 -d $(PKG_INC_DIR)
-+ $(INSTALL_LTLIB)
-
- install-headers: $(addsuffix -hdrs, $(PKGHFILES))
-
-Index: xfsprogs-4.10.0/libxlog/Makefile
-===================================================================
---- xfsprogs-4.10.0.orig/libxlog/Makefile
-+++ xfsprogs-4.10.0/libxlog/Makefile
-@@ -19,6 +19,10 @@ default: ltdepend $(LTLIBRARY)
-
- include $(BUILDRULES)
-
--install install-dev: default
-+install: default
-+ $(INSTALL_LTLIB)
-+
-+install-dev: default
-+ $(INSTALL_LTLIB_DEV)
-
- -include .ltdep
-Index: xfsprogs-4.10.0/io/Makefile
-===================================================================
---- xfsprogs-4.10.0.orig/io/Makefile
-+++ xfsprogs-4.10.0/io/Makefile
-@@ -13,7 +13,7 @@
- getrusage.c imap.c link.c mmap.c open.c parent.c pread.c prealloc.c \
- pwrite.c reflink.c seek.c shutdown.c sync.c truncate.c utimes.c
-
--LLDLIBS = $(LIBXCMD) $(LIBHANDLE) $(LIBPTHREAD)
-+LLDLIBS = $(LIBXCMD) $(LIBHANDLE) $(LIBUUID) $(LIBPTHREAD)
- LTDEPENDENCIES = $(LIBXCMD) $(LIBHANDLE)
- LLDFLAGS = -static-libtool-libs
-
-Index: xfsprogs-4.10.0/quota/Makefile
-===================================================================
---- xfsprogs-4.10.0.orig/quota/Makefile
-+++ xfsprogs-4.10.0/quotq/Makefile
-@@ -14,7 +14,7 @@
- PCFILES = darwin.c freebsd.c irix.c linux.c
- LSRCFILES = $(shell echo $(PCFILES) | sed -e "s/$(PKG_PLATFORM).c//g")
-
--LLDLIBS = $(LIBXCMD)
-+LLDLIBS = $(LIBXCMD) $(LIBUUID)
- LTDEPENDENCIES = $(LIBXCMD)
- LLDFLAGS = -static
-
-
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/remove_flags_from_build_flags.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/remove_flags_from_build_flags.patch
new file mode 100644
index 000000000..bba9a25c2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/remove_flags_from_build_flags.patch
@@ -0,0 +1,13 @@
+Index: xfsprogs-4.12.0/include/builddefs.in
+===================================================================
+--- xfsprogs-4.12.0.orig/include/builddefs.in
++++ xfsprogs-4.12.0/include/builddefs.in
+@@ -164,7 +164,7 @@ ifeq ($(ENABLE_GETTEXT),yes)
+ GCFLAGS += -DENABLE_GETTEXT
+ endif
+
+-BUILD_CFLAGS += $(GCFLAGS) $(PCFLAGS)
++BUILD_CFLAGS += $(GCFLAGS)
+ # First, Global, Platform, Local CFLAGS
+ CFLAGS += $(FCFLAGS) $(OPTIMIZER) $(GCFLAGS) $(PCFLAGS) $(LCFLAGS)
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/xfsprogs-4.12.0-fix_musl.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/xfsprogs-4.12.0-fix_musl.patch
new file mode 100644
index 000000000..efc57e4f6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/xfsprogs-4.12.0-fix_musl.patch
@@ -0,0 +1,117 @@
+From 21253610f9ef87db8e2a75b863b7fcfbd0cdb421 Mon Sep 17 00:00:00 2001
+From: "Darrick J. Wong" <darrick.wong@oracle.com>
+Date: Tue, 25 Jul 2017 13:45:01 -0500
+Subject: [PATCH] In patch 4944defad4 ("xfs_db: redirect printfs when
+ metadumping to stdout"), we solved the problem of xfs_db printfs ending up in
+ the metadump stream by reassigning stdout for the duration of a stdout
+ metadump. Unfortunately, musl doesn't allow stdout to be reassigned (in
+ their view "extern FILE *stdout" means "extern FILE * const stdout"), so we
+ abandon the old approach in favor of playing games with dup() to switch the
+ raw file descriptors.
+
+While we're at it, fix a regression where an unconverted outf test
+allows progress info to end up in the metadump stream.
+
+Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
+---
+ db/metadump.c | 47 ++++++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 36 insertions(+), 11 deletions(-)
+
+diff --git a/db/metadump.c b/db/metadump.c
+index 96641e0..4e2f648 100644
+--- a/db/metadump.c
++++ b/db/metadump.c
+@@ -78,6 +78,7 @@ static int obfuscate = 1;
+ static int zero_stale_data = 1;
+ static int show_warnings = 0;
+ static int progress_since_warning = 0;
++static bool stdout_metadump;
+
+ void
+ metadump_init(void)
+@@ -137,7 +138,7 @@ print_progress(const char *fmt, ...)
+ va_end(ap);
+ buf[sizeof(buf)-1] = '\0';
+
+- f = (outf == stdout) ? stderr : stdout;
++ f = stdout_metadump ? stderr : stdout;
+ fprintf(f, "\r%-59s", buf);
+ fflush(f);
+ progress_since_warning = 1;
+@@ -2750,7 +2751,8 @@ metadump_f(
+ xfs_agnumber_t agno;
+ int c;
+ int start_iocur_sp;
+- bool stdout_metadump = false;
++ int outfd = -1;
++ int ret;
+ char *p;
+
+ exitcode = 1;
+@@ -2870,16 +2872,35 @@ metadump_f(
+ * metadump operation so that dbprintf and other messages
+ * are sent to the console instead of polluting the
+ * metadump stream.
++ *
++ * We get to do this the hard way because musl doesn't
++ * allow reassignment of stdout.
+ */
+- outf = stdout;
+- stdout = stderr;
++ fflush(stdout);
++ outfd = dup(STDOUT_FILENO);
++ if (outfd < 0) {
++ perror("opening dump stream");
++ goto out;
++ }
++ ret = dup2(STDERR_FILENO, STDOUT_FILENO);
++ if (ret < 0) {
++ perror("redirecting stdout");
++ close(outfd);
++ goto out;
++ }
++ outf = fdopen(outfd, "a");
++ if (outf == NULL) {
++ fprintf(stderr, "cannot create dump stream\n");
++ dup2(outfd, 1);
++ close(outfd);
++ goto out;
++ }
+ stdout_metadump = true;
+ } else {
+ outf = fopen(argv[optind], "wb");
+ if (outf == NULL) {
+ print_warning("cannot create dump file");
+- free(metablock);
+- return 0;
++ goto out;
+ }
+ }
+
+@@ -2907,15 +2928,19 @@ metadump_f(
+ if (progress_since_warning)
+ fputc('\n', stdout_metadump ? stderr : stdout);
+
+- if (stdout_metadump)
+- stdout = outf;
+- else
+- fclose(outf);
++ if (stdout_metadump) {
++ fflush(outf);
++ fflush(stdout);
++ ret = dup2(outfd, STDOUT_FILENO);
++ if (ret < 0)
++ perror("un-redirecting stdout");
++ }
++ fclose(outf);
+
+ /* cleanup iocur stack */
+ while (iocur_sp > start_iocur_sp)
+ pop_cur();
+-
++out:
+ free(metablock);
+
+ return 0;
+--
+2.13.3
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.10.0.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.10.0.bb
deleted file mode 100644
index f7e10cdfb..000000000
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.10.0.bb
+++ /dev/null
@@ -1,57 +0,0 @@
-SUMMARY = "XFS Filesystem Utilities"
-HOMEPAGE = "http://oss.sgi.com/projects/xfs"
-SECTION = "base"
-LICENSE = "GPLv2 & LGPLv2.1"
-LICENSE_libhandle = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://doc/COPYING;md5=102f7fec3d53c7c8f0b7baf9bf9d76a8"
-DEPENDS = "util-linux util-linux-native"
-SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/${BP}.tar.xz \
- file://link_needed_libs.patch \
-"
-SRC_URI[md5sum] = "ddbb04493addf014db07a7e2b96b2804"
-SRC_URI[sha256sum] = "d8cb9ab2c686699d37914354ce3992b4aff3677093cbce06ad18bf798da8a8a7"
-
-inherit autotools-brokensep
-
-PACKAGES =+ "${PN}-fsck ${PN}-mkfs ${PN}-repair libhandle"
-
-DEPENDS += "util-linux"
-
-RDEPENDS_${PN} = "${PN}-fsck ${PN}-mkfs ${PN}-repair"
-
-FILES_${PN}-fsck = "${base_sbindir}/fsck.xfs"
-FILES_${PN}-mkfs = "${base_sbindir}/mkfs.xfs"
-FILES_${PN}-repair = "${base_sbindir}/xfs_repair"
-
-FILES_libhandle = "${base_libdir}/libhandle${SOLIBS}"
-
-EXTRA_OECONF = "--enable-gettext=no \
- INSTALL_USER=root \
- INSTALL_GROUP=root \
- ac_cv_header_aio_h=yes \
- ac_cv_lib_rt_lio_listio=yes \
-"
-
-EXTRA_AUTORECONF += "-I ${S}/m4 --exclude=autoheader"
-
-PACKAGECONFIG ??= "readline blkid"
-
-PACKAGECONFIG[readline] = "--enable-readline=yes,--enable-readline=no,readline"
-PACKAGECONFIG[blkid] = "--enable-blkid=yes,--enable-blkid=no,util-linux"
-
-export DEBUG="-DNDEBUG"
-
-EXTRA_OEMAKE = "DIST_ROOT='${D}'"
-
-do_configure_prepend () {
- export BUILD_CC="${BUILD_CC} ${BUILD_CFLAGS}"
- # Prevent Makefile from calling configure without arguments,
- # when do_configure gets called for a second time.
- rm -f ${B}/include/builddefs ${B}/include/platform_defs.h ${B}/configure
- # Recreate configure script.
- oe_runmake configure
-}
-
-do_install_append() {
- oe_runmake 'DESTDIR=${D}' install install-dev
-}
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.12.0.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.12.0.bb
new file mode 100644
index 000000000..0788695ee
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.12.0.bb
@@ -0,0 +1,65 @@
+SUMMARY = "XFS Filesystem Utilities"
+HOMEPAGE = "http://oss.sgi.com/projects/xfs"
+SECTION = "base"
+LICENSE = "GPLv2 & LGPLv2.1"
+LICENSE_libhandle = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://doc/COPYING;md5=102f7fec3d53c7c8f0b7baf9bf9d76a8"
+DEPENDS = "util-linux util-linux-native"
+SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/${BP}.tar.xz \
+ file://0001-xfsprogs-remove-double-underscore-integer-types.patch \
+ file://0001-xfs-remove-double-underscore-integer-types.patch \
+ file://remove_flags_from_build_flags.patch \
+ file://xfsprogs-4.12.0-fix_musl.patch \
+ "
+SRC_URI[md5sum] = "e348b0e1d7bd1cd82d64b91ff37e727e"
+SRC_URI[sha256sum] = "b330ad8d737f4152ae511580102e2fc49212bb51dfb4b614084344abae46d0df"
+
+inherit autotools-brokensep
+
+PACKAGES =+ "${PN}-fsck ${PN}-mkfs ${PN}-repair libhandle"
+
+DEPENDS += "util-linux"
+
+RDEPENDS_${PN} = "${PN}-fsck ${PN}-mkfs ${PN}-repair"
+
+FILES_${PN}-fsck = "${base_sbindir}/fsck.xfs"
+FILES_${PN}-mkfs = "${base_sbindir}/mkfs.xfs"
+FILES_${PN}-repair = "${base_sbindir}/xfs_repair"
+
+FILES_libhandle = "${base_libdir}/libhandle${SOLIBS}"
+
+EXTRA_OECONF = "--enable-gettext=no \
+ INSTALL_USER=root \
+ INSTALL_GROUP=root \
+ ac_cv_header_aio_h=yes \
+ ac_cv_lib_rt_lio_listio=yes \
+"
+
+DISABLE_STATIC = ""
+EXTRA_AUTORECONF += "-I ${S}/m4 --exclude=autoheader"
+
+PACKAGECONFIG ??= "readline blkid"
+
+PACKAGECONFIG[readline] = "--enable-readline=yes,--enable-readline=no,readline"
+PACKAGECONFIG[blkid] = "--enable-blkid=yes,--enable-blkid=no,util-linux"
+
+export DEBUG="-DNDEBUG"
+export BUILD_VERBOSE="1"
+export tagname="CC"
+
+EXTRA_OEMAKE = "DIST_ROOT='${D}'"
+
+do_configure_prepend () {
+ export BUILD_CC="${BUILD_CC} ${BUILD_CFLAGS}"
+ # Prevent Makefile from calling configure without arguments,
+ # when do_configure gets called for a second time.
+ rm -f ${B}/include/builddefs ${B}/include/platform_defs.h ${B}/configure
+ # Recreate configure script.
+ oe_runmake configure
+}
+
+do_install_append() {
+ oe_runmake 'DESTDIR=${D}' install-dev
+ rm ${D}${libdir}/*.la
+ rmdir --ignore-fail-on-non-empty ${D}${libdir}
+}
diff --git a/import-layers/meta-openembedded/meta-gnome/README b/import-layers/meta-openembedded/meta-gnome/README
index 7eee0e124..25ef85d3f 100644
--- a/import-layers/meta-openembedded/meta-gnome/README
+++ b/import-layers/meta-openembedded/meta-gnome/README
@@ -1,17 +1,17 @@
This layer depends on:
URI: git://github.com/openembedded/oe-core.git
-branch: pyro
+branch: rocko
revision: HEAD
URI: git://github.com/openembedded/meta-oe.git
-branch: pyro
+branch: rocko
revision: HEAD
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-gnome][pyro]' in the subject'
+Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-gnome][rocko]' 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][pyro][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-gnome][rocko][PATCH'
-pyro Branch Maintainer:
+rocko Branch Maintainer:
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 fce5627bd..a13881848 100644
--- a/import-layers/meta-openembedded/meta-gnome/conf/layer.conf
+++ b/import-layers/meta-openembedded/meta-gnome/conf/layer.conf
@@ -12,6 +12,6 @@ BBFILE_PRIORITY_gnome-layer = "7"
# cause compatibility issues with other layers
LAYERVERSION_gnome-layer = "1"
-LAYERDEPENDS_gnome-layer = "core openembedded-layer"
+LAYERDEPENDS_gnome-layer = "core openembedded-layer networking-layer"
AVAHI_GTK_pn-avahi-ui = "gtk gtk3"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-apps/cheese/cheese_2.30.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-apps/cheese/cheese_2.30.1.bb
deleted file mode 100644
index 3f5a5b124..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-apps/cheese/cheese_2.30.1.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "Take photos and videos with your webcam, with fun graphical effects"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a17cb0a873d252440acfdf9b3d0e7fbf"
-
-DEPENDS = "gtk+ gstreamer gst-plugins-base libcanberra udev librsvg gnome-desktop evolution-data-server intltool-native"
-
-PR = "r2"
-
-inherit gnome
-
-SRC_URI[archive.md5sum] = "1599fded8a1797ea51fb010af4e6c45b"
-SRC_URI[archive.sha256sum] = "48f03470c6f527caa0e3b269d3afcff86ae0939a74f66ce030d4eed3bc3cbd9a"
-GNOME_COMPRESS_TYPE="bz2"
-
-FILES_${PN} += "${datadir}/dbus-1"
-RRECOMMENDS_${PN} = "gst-plugins-good-meta gst-plugins-base-meta"
-
-EXTRA_OECONF += "--disable-scrollkeeper"
-
-do_configure_prepend() {
- sed -i -e "s: help : :g" ${S}/Makefile.am
-}
-
-PNBLACKLIST[cheese] ?= "Depends on blacklisted gstreamer - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[cheese] ?= "Depends on blacklisted gnome-desktop - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-apps/epdfview/epdfview/browser_command.patch b/import-layers/meta-openembedded/meta-gnome/recipes-apps/epdfview/epdfview/browser_command.patch
deleted file mode 100644
index 75e45e0ab..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-apps/epdfview/epdfview/browser_command.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Imported from Debian 0.1.8-3
-
-Upstream-Status: Pending
-
-diff --git a/src/Config.cxx b/src/Config.cxx
-index 28f37ab..bc58819 100644
---- a/src/Config.cxx
-+++ b/src/Config.cxx
-@@ -22,7 +22,7 @@
- using namespace ePDFView;
-
- // Constants
--static const gchar *DEFAULT_EXTERNAL_BROWSER_COMMAND_LINE = "firefox %s";
-+static const gchar *DEFAULT_EXTERNAL_BROWSER_COMMAND_LINE = "x-www-browser %s";
- static const gchar *DEFAULT_OPEN_FILE_FOLDER = NULL;
- static const gchar *DEFAULT_SAVE_FILE_FOLDER = NULL;
- static const gboolean DEFAULT_SHOW_STATUSBAR = TRUE;
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-apps/epdfview/epdfview/fix-format.patch b/import-layers/meta-openembedded/meta-gnome/recipes-apps/epdfview/epdfview/fix-format.patch
deleted file mode 100644
index 8ad5b97ca..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-apps/epdfview/epdfview/fix-format.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Imported from Debian 0.1.8-3
-
-Upstream-Status: Pending
-
-diff --git a/src/gtk/MainView.cxx b/src/gtk/MainView.cxx
-index b983bff..f87de28 100644
---- a/src/gtk/MainView.cxx
-+++ b/src/gtk/MainView.cxx
-@@ -634,8 +634,9 @@ MainView::showErrorMessage (const gchar *title, const gchar *body)
- GTK_DIALOG_DESTROY_WITH_PARENT,
- GTK_MESSAGE_ERROR,
- GTK_BUTTONS_OK,
-+ "%s",
- title);
-- gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG(errorDialog),
-+ gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG(errorDialog), "%s",
- body);
- gtk_dialog_run (GTK_DIALOG (errorDialog));
- gtk_widget_destroy (errorDialog);
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-apps/epdfview/epdfview/glib-single-include.patch b/import-layers/meta-openembedded/meta-gnome/recipes-apps/epdfview/epdfview/glib-single-include.patch
deleted file mode 100644
index 84a491386..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-apps/epdfview/epdfview/glib-single-include.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Imported from Debian 0.1.8-3
-
-Upstream-Status: Pending
-
-diff --git a/src/gtk/StockIcons.h b/src/gtk/StockIcons.h
-index c142a7a..58fcf2e 100644
---- a/src/gtk/StockIcons.h
-+++ b/src/gtk/StockIcons.h
-@@ -18,7 +18,7 @@
- #if !defined (__STOCK_ICONS_H__)
- #define __STOCK_ICONS_H__
-
--#include <glib/gmacros.h>
-+#include <glib.h>
-
- G_BEGIN_DECLS
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-apps/epdfview/epdfview/swap-colors.patch b/import-layers/meta-openembedded/meta-gnome/recipes-apps/epdfview/epdfview/swap-colors.patch
deleted file mode 100644
index 282bfb184..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-apps/epdfview/epdfview/swap-colors.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-Imported from Debian 0.1.8-3
-
-Upstream-Status: Pending
-
-Index: trunk/src/PDFDocument.cxx
-===================================================================
---- trunk/src/PDFDocument.cxx (revision 361)
-+++ trunk/src/PDFDocument.cxx (revision 367)
-@@ -21,4 +21,5 @@
- #include <poppler.h>
- #include <unistd.h>
-+#include <algorithm>
- #include "epdfview.h"
-
-@@ -33,4 +34,22 @@
- static PageMode convertPageMode (gint pageMode);
- static gchar *getAbsoluteFileName (const gchar *fileName);
-+
-+namespace
-+{
-+ void
-+ convert_bgra_to_rgba (guint8 *data, int width, int height)
-+ {
-+ using std::swap;
-+
-+ for (int y = 0; y < height; y++)
-+ {
-+ for (int x = 0; x < width; x++)
-+ {
-+ swap(data[0], data[2]);
-+ data += 4;
-+ }
-+ }
-+ }
-+}
-
- ///
-@@ -651,4 +670,5 @@
- cairo_destroy(context);
- cairo_surface_destroy (surface);
-+ convert_bgra_to_rgba(renderedPage->getData (), width, height);
- #else // !HAVE_POPPLER_0_17_0
- // Create the pixbuf from the data and render to it.
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-apps/epdfview/epdfview_0.1.8.bb b/import-layers/meta-openembedded/meta-gnome/recipes-apps/epdfview/epdfview_0.1.8.bb
deleted file mode 100644
index 5e11a95de..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-apps/epdfview/epdfview_0.1.8.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "A lightweight PDF viewer based on gtk and poppler"
-HOMEPAGE = "http://www.emma-soft.com/projects/epdfview/"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-SECTION = "x11/applications"
-DEPENDS = "gtk+ poppler"
-
-PR = "r3"
-
-EXTRA_OECONF += "--without-cups"
-
-inherit autotools gettext
-
-SRC_URI = "http://www.emma-soft.com/projects/${BPN}/chrome/site/releases/${BP}.tar.bz2 \
- file://browser_command.patch \
- file://fix-format.patch \
- file://glib-single-include.patch \
- file://swap-colors.patch \
-"
-SRC_URI[md5sum] = "e50285b01612169b2594fea375f53ae4"
-SRC_URI[sha256sum] = "948648ae7c9d7b3b408d738bd4f48d87375b1196cae1129d6b846a8de0f2f8f0"
-
-PNBLACKLIST[epdfview] ?= "BROKEN: images are not displayed anymore - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-# There will be no further development / upstream is gone [1]
-# [1] https://bugzilla.redhat.com/show_bug.cgi?id=906121
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-apps/gnome-mplayer/gmtk_1.0.5.bb b/import-layers/meta-openembedded/meta-gnome/recipes-apps/gnome-mplayer/gmtk_1.0.5.bb
deleted file mode 100644
index f6d737c81..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-apps/gnome-mplayer/gmtk_1.0.5.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "GTK+ widget and function libraries for gnome-mplayer"
-HOMEPAGE = "http://code.google.com/p/gmtk"
-SECTION = "libs"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-DEPENDS = "gtk+ alsa-lib glib-2.0 virtual/libx11 intltool-native pulseaudio gtk+3"
-
-SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.gz"
-SRC_URI[md5sum] = "e06e9ca8d61d74910343bb3ef4348f7f"
-SRC_URI[sha256sum] = "a07130d62719e8c1244f8405dd97445798df5204fc0f3f2f2b669b125114b468"
-
-EXTRA_OECONF = "--disable-gconf --with-gio --with-alsa --enable-keystore"
-
-inherit gettext pkgconfig autotools gconf
-
-PNBLACKLIST[gmtk] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130661/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-apps/gnome-mplayer/gnome-mplayer_1.0.5.bb b/import-layers/meta-openembedded/meta-gnome/recipes-apps/gnome-mplayer/gnome-mplayer_1.0.5.bb
deleted file mode 100644
index 629b830dd..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-apps/gnome-mplayer/gnome-mplayer_1.0.5.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "A GTK+ interface to MPlayer"
-HOMEPAGE = "http://code.google.com/p/gnome-mplayer"
-SECTION = "multimedia"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-PNBLACKLIST[gnome-mplayer] ?= "rdepends on blacklisted mplayer - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-PR = "r2"
-
-DEPENDS = "gmtk gtk+ alsa-lib libnotify glib-2.0 dbus-glib virtual/libx11 libxscrnsaver"
-
-SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.gz"
-SRC_URI[md5sum] = "1d3ab24c5501b5528e357931ca4dc6da"
-SRC_URI[sha256sum] = "ac3c179345baecb4ca5237782aa33e83253a87bf8b42ce6eb3a9207a340f61b2"
-
-EXTRA_OECONF = "--with-gio --with-alsa --with-dbus --with-libnotify"
-
-FILES_${PN} += "${datadir}/gnome-control-center/default-apps/${PN}.xml"
-PACKAGES =+ "${PN}-nautilus-extension"
-FILES_${PN}-nautilus-extension += "${libdir}/nautilus/extensions-2.0/*.so \
- ${libdir}/nautilus/extensions-3.0/*.so"
-FILES_${PN}-dev += "${libdir}/nautilus/extensions-2.0/*.la \
- ${libdir}/nautilus/extensions-3.0/*.la"
-FILES_${PN}-staticdev += "${libdir}/nautilus/extensions-2.0/*.a \
- ${libdir}/nautilus/extensions-3.0/*.a"
-FILES_${PN}-dbg += "${libdir}/nautilus/extensions-2.0/.debug \
- ${libdir}/nautilus/extensions-3.0/.debug"
-
-inherit gettext pkgconfig mime gtk-icon-cache autotools
-
-RDEPENDS_${PN} = "mplayer"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-apps/pinpoint/pinpoint_git.bb b/import-layers/meta-openembedded/meta-gnome/recipes-apps/pinpoint/pinpoint_git.bb
index 5e902a10c..bf5178cf8 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-apps/pinpoint/pinpoint_git.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-apps/pinpoint/pinpoint_git.bb
@@ -9,7 +9,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24 \
DEPENDS = "glib-2.0 gdk-pixbuf cogl-1.0 clutter-1.0 clutter-gst-3.0 librsvg"
-inherit autotools gettext pkgconfig
+inherit autotools gettext pkgconfig distro_features_check
+
+# cogl requires opengl
+REQUIRED_DISTRO_FEATURES = "opengl"
SRC_URI = "git://git.gnome.org/pinpoint"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.4.4.bb b/import-layers/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.4.4.bb
index 5ad107012..14b336a1e 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.4.4.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.4.4.bb
@@ -17,10 +17,12 @@ SRC_URI[archive.sha256sum] = "693846eeae0986e79eb1cedfbc499f132f27a9976ef189a0f1
PACKAGECONFIG[modemmanager] = "--with-wwan,--without-wwan,modemmanager"
PACKAGECONFIG ??= ""
+GI_DATA_ENABLED_libc-musl = "False"
+
do_configure_append() {
# Sigh... --enable-compile-warnings=no doesn't actually turn off -Werror
for i in $(find ${B} -name "Makefile") ; do
- sed -i -e s:-Werror::g $i
+ sed -i -e s%-Werror[^[:space:]]*%%g $i
done
}
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.27.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.27.0.bb
deleted file mode 100644
index c92106590..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.27.0.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-SUMMARY = "A partition editor to graphically manage disk partitions "
-HOMEPAGE = "http://gparted.org/index.php"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-inherit autotools pkgconfig gtk-icon-cache
-
-SRC_URI = " \
- ${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${BPN}-${PV}/${BPN}-${PV}.tar.gz \
- file://org.yoctoproject.pkexec.run-gparted.policy \
- file://gparted_polkit \
-"
-SRC_URI[md5sum] = "726f539f774b442670028af656f270bd"
-SRC_URI[sha256sum] = "208cf60c061b86bee4f658d568a3b5d843dce3ab9847f66b452298268799e7bd"
-
-DEPENDS = "glib-2.0 glib-2.0-native gtkmm parted gnome-doc-utils intltool-native"
-
-do_install_append() {
- # Add a script which checks if polkit is installed.
- # If yes: a policy is requested from polkit / otherwise start as usual
- install ${WORKDIR}/gparted_polkit ${D}${sbindir}
- sed -i 's:%sbindir%:${sbindir}:g' ${D}${sbindir}/gparted_polkit
- # relink menu entry to use our script
- sed -i 's:${sbindir}/gparted:${sbindir}/gparted_polkit:g' ${D}${datadir}/applications/gparted.desktop
-
- install -d ${D}${datadir}/polkit-1/actions
- install ${WORKDIR}/org.yoctoproject.pkexec.run-gparted.policy ${D}${datadir}/polkit-1/actions/org.yoctoproject.pkexec.run-gparted.policy
-}
-
-EXTRA_OECONF = "--disable-scrollkeeper --disable-doc"
-
-FILES_${PN} += " \
- ${datadir}/appdata \
- ${datadir}/icons \
- ${datadir}/polkit-1 \
-"
-
-RDEPENDS_${PN} = "dosfstools mtools e2fsprogs"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.28.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.28.1.bb
new file mode 100644
index 000000000..83ab6f29d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.28.1.bb
@@ -0,0 +1,38 @@
+SUMMARY = "A partition editor to graphically manage disk partitions "
+HOMEPAGE = "http://gparted.org/index.php"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+inherit autotools pkgconfig gtk-icon-cache
+
+SRC_URI = " \
+ ${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${BPN}-${PV}/${BPN}-${PV}.tar.gz \
+ file://org.yoctoproject.pkexec.run-gparted.policy \
+ file://gparted_polkit \
+"
+SRC_URI[md5sum] = "ab72464a3ab2137664d9df8462befd3f"
+SRC_URI[sha256sum] = "76891f14394754f7d6ecceba2af0e585bf89f9d780c389a255dcd41a2f45d333"
+
+DEPENDS = "glib-2.0 glib-2.0-native gtkmm parted gnome-doc-utils intltool-native"
+
+do_install_append() {
+ # Add a script which checks if polkit is installed.
+ # If yes: a policy is requested from polkit / otherwise start as usual
+ install ${WORKDIR}/gparted_polkit ${D}${sbindir}
+ sed -i 's:%sbindir%:${sbindir}:g' ${D}${sbindir}/gparted_polkit
+ # relink menu entry to use our script
+ sed -i 's:${sbindir}/gparted:${sbindir}/gparted_polkit:g' ${D}${datadir}/applications/gparted.desktop
+
+ install -d ${D}${datadir}/polkit-1/actions
+ install ${WORKDIR}/org.yoctoproject.pkexec.run-gparted.policy ${D}${datadir}/polkit-1/actions/org.yoctoproject.pkexec.run-gparted.policy
+}
+
+EXTRA_OECONF = "--disable-scrollkeeper --disable-doc"
+
+FILES_${PN} += " \
+ ${datadir}/appdata \
+ ${datadir}/icons \
+ ${datadir}/polkit-1 \
+"
+
+RDEPENDS_${PN} = "dosfstools mtools e2fsprogs"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-extended/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
deleted file mode 100644
index c419d0f44..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-extended/gtk-theme-torturer/gtk-theme-torturer_git.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "GTK+ Theme benchmark program"
-DEPENDS = "gtk+"
-HOMEPAGE = "http://wiki.laptop.org/go/GTK_for_OLPC"
-SECTION = "devel"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://appwindow.c;endline=13;md5=8c09920de460c7ea1f64ee56986aabd9"
-
-SRCREV = "99962ae39bb5aadb31929b25c58e1a053f9c9545"
-PV = "0.0.0+git${SRCPV}"
-
-SRC_URI = "git://dev.laptop.org/projects/soc-gtk/"
-S = "${WORKDIR}/git/gtk-theme-torturer"
-
-CFLAGS += "-Wl,-rpath-link,${STAGING_LIBDIR}"
-
-inherit distro_features_check
-ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 torturer ${D}${bindir}
-}
-
-# http://errors.yoctoproject.org/Errors/Details/35132/
-PNBLACKLIST[gtk-theme-torturer] ?= "BROKEN: gmacros.h:182:53: error: size of array '_GStaticAssertCompileTimeAssertion_2' is negative - the recipe will be removed on 2017-09-01 unless the issue is fixed"
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
deleted file mode 100644
index 595ee8e5a..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword/0002-Bug-13754-Fix-build-on-gcc-6-default-to-C-11.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-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
deleted file mode 100644
index 34fc97d4a..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword_3.0.1.bb
+++ /dev/null
@@ -1,142 +0,0 @@
-SUMMARY = "AbiWord is free word processing program similar to Microsoft(r) Word"
-HOMEPAGE = "http://www.abiword.org"
-SECTION = "x11/office"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ecd3ac329fca77e2d0e412bec38e1c20"
-DEPENDS = " \
- perl-native \
- gtk+ \
- gtkmathview \
- wv \
- libglade \
- libfribidi \
- jpeg \
- libpng \
- librsvg \
- libwmf-native \
- asio \
- evolution-data-server \
- libxslt \
- ${@bb.utils.contains('BBFILE_COLLECTIONS', 'office-layer', 'redland rasqal', '', d)} \
-"
-RDEPENDS_${PN}_append_libc-glibc = " \
- glibc-gconv-ibm850 glibc-gconv-cp1252 \
- glibc-gconv-iso8859-15 glibc-gconv-iso8859-1 \
-"
-RCONFLICTS_${PN} = "${PN}-embedded"
-
-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"
-
-SRC_URI[md5sum] = "f3f8052e7b4979a43b75775a381e6cb8"
-SRC_URI[sha256sum] = "e094f6fbf0afc5c5538b4894888e7c346f8ee8f49c9d24821dd696d0734865c6"
-
-#want 3.x from 3.x.y for the installation directory
-SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
-
-inherit autotools-brokensep pkgconfig
-
-PACKAGECONFIG ??= " \
- collab-backend-xmpp collab-backend-tcp \
- ${@bb.utils.contains('BBFILE_COLLECTIONS', 'office-layer', 'libical', '', d)} \
-"
-PACKAGECONFIG[libical] = "--with-libical,--without-libical,libical raptor2"
-PACKAGECONFIG[spell] = "--enable-spell,--disable-spell,enchant"
-PACKAGECONFIG[collab-backend-xmpp] = "--enable-collab-backend-xmpp,--disable-collab-backend-xmpp,libgsf libxml2 loudmouth"
-PACKAGECONFIG[collab-backend-tcp] = "--enable-collab-backend-tcp,--disable-collab-backend-tcp,libgsf libxml2"
-PACKAGECONFIG[collab-backend-service] = "--enable-collab-backend-service,--disable-collab-backend-service,libgsf libxml2 libsoup-2.4 gnutls"
-PACKAGECONFIG[collab-backend-telepathy] = "--enable-collab-backend-telepathy,--disable-collab-backend-telepathy,libgsf libxml2 telepathy-glib telepathy-mission-control"
-PACKAGECONFIG[collab-backend-sugar] = "--enable-collab-backend-sugar,--disable-collab-backend-sugar,libgsf libxml2 dbus-glib"
-
-EXTRA_OECONF = " --disable-static \
- --enable-plugins \
- --enable-clipart \
- --enable-templates \
- --without-gnomevfs \
- --with-gtk2 \
- --with-libwmf-config=${STAGING_DIR} \
-"
-
-LDFLAGS += "-lgmodule-2.0"
-
-do_compile() {
- cd goffice-bits2
- make goffice-paths.h
- make libgoffice.la
- cd ${B}
- oe_runmake
-}
-
-PACKAGES += " ${PN}-clipart ${PN}-strings ${PN}-systemprofiles ${PN}-templates "
-
-FILES_${PN} += " \
- ${libdir}/lib${PN}-*.so \
- ${datadir}/mime-info \
- ${datadir}/icons/* \
- ${datadir}/${PN}-${SHRT_VER}/glade \
- ${datadir}/${PN}-${SHRT_VER}/scripts \
- ${datadir}/${PN}-${SHRT_VER}/system.profile-en \
- ${datadir}/${PN}-${SHRT_VER}/system.profile-en_GB \
- ${datadir}/${PN}-${SHRT_VER}/templates/normal.awt \
- ${datadir}/${PN}-${SHRT_VER}/templates/normal.awt-en_GB \
- ${datadir}/${PN}-${SHRT_VER}/templates/Employee-Directory.awt \
- ${datadir}/${PN}-${SHRT_VER}/templates/Business-Report.awt \
- ${datadir}/${PN}-${SHRT_VER}/templates/Fax-Coversheet.awt \
- ${datadir}/${PN}-${SHRT_VER}/templates/Resume.awt \
- ${datadir}/${PN}-${SHRT_VER}/templates/Two-Columns.awt \
- ${datadir}/${PN}-${SHRT_VER}/templates/Memo.awt \
- ${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}/mime-info \
- ${datadir}/${PN}-${SHRT_VER}/Pr*.xml \
-"
-
-# don't steal /usr/lib/libabiword-3.0.so from ${PN}
-# in this case it's needed in ${PN}
-FILES_${PN}-dev = " \
- ${includedir} \
- ${libdir}/pkgconfig \
- ${libdir}/${PN}*.la \
- ${libdir}/lib${PN}*.la \
- ${libdir}/${PN}-${SHRT_VER}/plugins/*.la \
-"
-FILES_${PN}-dbg += "${libdir}/${PN}-${SHRT_VER}/plugins/.debug"
-FILES_${PN}-doc += "${datadir}/${PN}-*/readme*"
-
-FILES_${PN}-strings += "${datadir}/${PN}-${SHRT_VER}/strings"
-FILES_${PN}-systemprofiles += "${datadir}/${PN}-${SHRT_VER}/system.profile*"
-FILES_${PN}-clipart += "${datadir}/${PN}-${SHRT_VER}/clipart"
-FILES_${PN}-strings += "${datadir}/${PN}-${SHRT_VER}/AbiWord/strings"
-FILES_${PN}-systemprofiles += "${datadir}/${PN}-${SHRT_VER}/AbiWord/system.profile*"
-FILES_${PN}-templates += "${datadir}/${PN}-${SHRT_VER}/templates"
-
-PACKAGES_DYNAMIC += "^${PN}-meta.* ^${PN}-plugin-.*"
-
-python populate_packages_prepend () {
- abiword_libdir = d.expand('${libdir}/${PN}-${SHRT_VER}/plugins')
- do_split_packages(d, abiword_libdir, '(.*)\.so$', 'abiword-plugin-%s', 'Abiword plugin for %s', extra_depends='')
-
- metapkg = "abiword-meta"
- d.setVar('ALLOW_EMPTY_' + metapkg, "1")
- d.setVar('FILES_' + metapkg, "")
- blacklist = [ 'abiword-plugins-dbg', 'abiword-plugins', 'abiword-plugins-doc', 'abiword-plugins-dev', 'abiword-plugins-locale' ]
- metapkg_rdepends = []
- packages = d.getVar('PACKAGES').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 %s" % pkg)
- metapkg_rdepends.append(pkg)
- d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends))
- d.setVar('DESCRIPTION_' + metapkg, 'abiword-plugin meta package')
- packages.append(metapkg)
- d.setVar('PACKAGES', ' '.join(packages))
-}
-
-FILES_${PN}-plugin-openxml += "${datadir}/${PN}-${SHRT_VER}/omml_xslt"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb
new file mode 100644
index 000000000..2a13e4839
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb
@@ -0,0 +1,141 @@
+SUMMARY = "AbiWord is free word processing program similar to Microsoft(r) Word"
+HOMEPAGE = "http://www.abiword.org"
+SECTION = "x11/office"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ecd3ac329fca77e2d0e412bec38e1c20"
+DEPENDS = " \
+ perl-native \
+ gtk+ \
+ gtkmathview \
+ wv \
+ libglade \
+ libfribidi \
+ jpeg \
+ libpng \
+ librsvg \
+ libwmf-native \
+ asio \
+ evolution-data-server \
+ libxslt \
+ ${@bb.utils.contains('BBFILE_COLLECTIONS', 'office-layer', 'redland rasqal', '', d)} \
+"
+RDEPENDS_${PN}_append_libc-glibc = " \
+ glibc-gconv-ibm850 glibc-gconv-cp1252 \
+ glibc-gconv-iso8859-15 glibc-gconv-iso8859-1 \
+"
+RCONFLICTS_${PN} = "${PN}-embedded"
+
+SRC_URI = " \
+ http://www.abisource.com/downloads/${BPN}/${PV}/source/${BP}.tar.gz \
+ file://0001-plugins-aiksaurus-Makefile.am-remove-uncomplete-opti.patch \
+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=c5edcc3ccd864b19004d14e9c1c9a26a"
+
+SRC_URI[md5sum] = "cda6dd58c747c133b421cc7eb18f5796"
+SRC_URI[sha256sum] = "afbfd458fd02989d8b0c6362ba8a4c14686d89666f54cfdb5501bd2090cf3522"
+
+#want 3.x from 3.x.y for the installation directory
+SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
+
+inherit autotools-brokensep pkgconfig
+
+PACKAGECONFIG ??= " \
+ collab-backend-xmpp collab-backend-tcp \
+ ${@bb.utils.contains('BBFILE_COLLECTIONS', 'office-layer', 'libical', '', d)} \
+"
+PACKAGECONFIG[libical] = "--with-libical,--without-libical,libical raptor2"
+PACKAGECONFIG[spell] = "--enable-spell,--disable-spell,enchant"
+PACKAGECONFIG[collab-backend-xmpp] = "--enable-collab-backend-xmpp,--disable-collab-backend-xmpp,libgsf libxml2 loudmouth"
+PACKAGECONFIG[collab-backend-tcp] = "--enable-collab-backend-tcp,--disable-collab-backend-tcp,libgsf libxml2"
+PACKAGECONFIG[collab-backend-service] = "--enable-collab-backend-service,--disable-collab-backend-service,libgsf libxml2 libsoup-2.4 gnutls"
+PACKAGECONFIG[collab-backend-telepathy] = "--enable-collab-backend-telepathy,--disable-collab-backend-telepathy,libgsf libxml2 telepathy-glib telepathy-mission-control"
+PACKAGECONFIG[collab-backend-sugar] = "--enable-collab-backend-sugar,--disable-collab-backend-sugar,libgsf libxml2 dbus-glib"
+
+EXTRA_OECONF = " --disable-static \
+ --enable-plugins \
+ --enable-clipart \
+ --enable-templates \
+ --without-gnomevfs \
+ --with-gtk2 \
+ --with-libwmf-config=${STAGING_DIR} \
+"
+
+LDFLAGS += "-lgmodule-2.0"
+
+do_compile() {
+ cd goffice-bits2
+ make goffice-paths.h
+ make libgoffice.la
+ cd ${B}
+ oe_runmake
+}
+
+PACKAGES += " ${PN}-clipart ${PN}-strings ${PN}-systemprofiles ${PN}-templates "
+
+FILES_${PN} += " \
+ ${libdir}/lib${PN}-*.so \
+ ${datadir}/mime-info \
+ ${datadir}/icons/* \
+ ${datadir}/${PN}-${SHRT_VER}/glade \
+ ${datadir}/${PN}-${SHRT_VER}/scripts \
+ ${datadir}/${PN}-${SHRT_VER}/system.profile-en \
+ ${datadir}/${PN}-${SHRT_VER}/system.profile-en_GB \
+ ${datadir}/${PN}-${SHRT_VER}/templates/normal.awt \
+ ${datadir}/${PN}-${SHRT_VER}/templates/normal.awt-en_GB \
+ ${datadir}/${PN}-${SHRT_VER}/templates/Employee-Directory.awt \
+ ${datadir}/${PN}-${SHRT_VER}/templates/Business-Report.awt \
+ ${datadir}/${PN}-${SHRT_VER}/templates/Fax-Coversheet.awt \
+ ${datadir}/${PN}-${SHRT_VER}/templates/Resume.awt \
+ ${datadir}/${PN}-${SHRT_VER}/templates/Two-Columns.awt \
+ ${datadir}/${PN}-${SHRT_VER}/templates/Memo.awt \
+ ${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}/mime-info \
+ ${datadir}/${PN}-${SHRT_VER}/Pr*.xml \
+"
+
+# don't steal /usr/lib/libabiword-3.0.so from ${PN}
+# in this case it's needed in ${PN}
+FILES_${PN}-dev = " \
+ ${includedir} \
+ ${libdir}/pkgconfig \
+ ${libdir}/${PN}*.la \
+ ${libdir}/lib${PN}*.la \
+ ${libdir}/${PN}-${SHRT_VER}/plugins/*.la \
+"
+FILES_${PN}-dbg += "${libdir}/${PN}-${SHRT_VER}/plugins/.debug"
+FILES_${PN}-doc += "${datadir}/${PN}-*/readme*"
+
+FILES_${PN}-strings += "${datadir}/${PN}-${SHRT_VER}/strings"
+FILES_${PN}-systemprofiles += "${datadir}/${PN}-${SHRT_VER}/system.profile*"
+FILES_${PN}-clipart += "${datadir}/${PN}-${SHRT_VER}/clipart"
+FILES_${PN}-strings += "${datadir}/${PN}-${SHRT_VER}/AbiWord/strings"
+FILES_${PN}-systemprofiles += "${datadir}/${PN}-${SHRT_VER}/AbiWord/system.profile*"
+FILES_${PN}-templates += "${datadir}/${PN}-${SHRT_VER}/templates"
+
+PACKAGES_DYNAMIC += "^${PN}-meta.* ^${PN}-plugin-.*"
+
+python populate_packages_prepend () {
+ abiword_libdir = d.expand('${libdir}/${PN}-${SHRT_VER}/plugins')
+ do_split_packages(d, abiword_libdir, '(.*)\.so$', 'abiword-plugin-%s', 'Abiword plugin for %s', extra_depends='')
+
+ metapkg = "abiword-meta"
+ d.setVar('ALLOW_EMPTY_' + metapkg, "1")
+ d.setVar('FILES_' + metapkg, "")
+ blacklist = [ 'abiword-plugins-dbg', 'abiword-plugins', 'abiword-plugins-doc', 'abiword-plugins-dev', 'abiword-plugins-locale' ]
+ metapkg_rdepends = []
+ packages = d.getVar('PACKAGES').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 %s" % pkg)
+ metapkg_rdepends.append(pkg)
+ d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends))
+ d.setVar('DESCRIPTION_' + metapkg, 'abiword-plugin meta package')
+ packages.append(metapkg)
+ d.setVar('PACKAGES', ' '.join(packages))
+}
+
+FILES_${PN}-plugin-openxml += "${datadir}/${PN}-${SHRT_VER}/omml_xslt"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0001-imapx-Fix-signature-for-imapx_tokenise_struct.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0001-imapx-Fix-signature-for-imapx_tokenise_struct.patch
new file mode 100644
index 000000000..f82a76df3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0001-imapx-Fix-signature-for-imapx_tokenise_struct.patch
@@ -0,0 +1,33 @@
+From 0e10e976025b21d12df099e82951f759024ad649 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 24 Aug 2017 22:04:56 -0700
+Subject: [PATCH] imapx: Fix signature for imapx_tokenise_struct()
+
+clang complains about different signature for this patch
+
+Fixes
+camel/providers/imapx/camel-imapx-tokens.txt:56:1: error: conflicting types for 'imapx_tokenise_struct'
+| imapx_tokenise_struct (register const char *str, register size_t len)
+| ^
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ camel/providers/imapx/camel-imapx-tokens.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/camel/providers/imapx/camel-imapx-tokens.txt b/camel/providers/imapx/camel-imapx-tokens.txt
+index d48501865..994c368c0 100644
+--- a/camel/providers/imapx/camel-imapx-tokens.txt
++++ b/camel/providers/imapx/camel-imapx-tokens.txt
+@@ -1,7 +1,7 @@
+ /* This contains all of the keywords we care about. These
+ can be converted to an id very efficiently */
+ struct _imapx_keyword {const gchar *name; camel_imapx_id_t id; };
+-struct _imapx_keyword *imapx_tokenise_struct (register const char *str, register unsigned int len);
++struct _imapx_keyword *imapx_tokenise_struct (register const char *str, register size_t len);
+ %%
+ ALERT, IMAPX_ALERT
+ APPENDUID, IMAPX_APPENDUID
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_git.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_git.bb
index ff3365bc9..aadc4b5e3 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
@@ -15,16 +15,16 @@ SRCREV = "a9e4e74ec4473a4fd09e56b690bd4fa72f686687"
# 3.4 series needs libgdata-0.10*, 3.8 series needs also libsecret instead of gnome-keyring
PV = "3.2.3+git${SRCPV}"
-SRC_URI = " \
- git://git.gnome.org/evolution-data-server;branch=gnome-3-2 \
- file://0001-contact-Replace-the-Novell-sample-contact-with-somet.patch \
- file://0002-Fix-for-automake-1.12.x.patch \
- file://0003-Disable-Werror-for-automake.patch \
- file://0004-configure-Fix-libical-pkg-config-trying-to-use-host-.patch \
- file://0005-soup-adapt-to-new-libxml2-API-from-2.9.0.patch \
- file://0006-configure.ac-do-not-overwrite-localedir.patch \
- file://iconv-detect.h \
-"
+SRC_URI = "git://git.gnome.org/evolution-data-server;branch=gnome-3-2 \
+ file://0001-contact-Replace-the-Novell-sample-contact-with-somet.patch \
+ file://0002-Fix-for-automake-1.12.x.patch \
+ file://0003-Disable-Werror-for-automake.patch \
+ file://0004-configure-Fix-libical-pkg-config-trying-to-use-host-.patch \
+ file://0005-soup-adapt-to-new-libxml2-API-from-2.9.0.patch \
+ file://0006-configure.ac-do-not-overwrite-localedir.patch \
+ file://iconv-detect.h \
+ file://0001-imapx-Fix-signature-for-imapx_tokenise_struct.patch \
+ "
S = "${WORKDIR}/git"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.24.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.24.0.bb
index aae8e719a..78a949526 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.24.0.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.24.0.bb
@@ -2,13 +2,11 @@ SUMMARY = "Evince is a document viewer for document formats like pdf, ps, djvu"
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 intltool-native gnome-common-native"
+DEPENDS = "gtk+3 libsecret ${@bb.utils.contains('DISTRO_FEATURES','x11','gnome-desktop3','',d)} poppler gstreamer1.0-plugins-base orc adwaita-icon-theme intltool-native gnome-common-native"
PR = "r5"
inherit gnome pkgconfig gtk-icon-cache gsettings gobject-introspection distro_features_check systemd
-REQUIRED_DISTRO_FEATURES = "x11"
-
SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \
file://0001-help-remove-YELP-macro.patch \
file://0001-Add-format-attribute-to-_synctex_malloc.patch \
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gcalctool/gcalctool_5.32.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gcalctool/gcalctool_5.32.0.bb
deleted file mode 100644
index 6028f2d1a..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gcalctool/gcalctool_5.32.0.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "gcalctool is a powerful calculator"
-SECTION = "x11"
-DEPENDS = "gtk+ gnome-doc-utils"
-
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
-SRC_URI = "http://download.gnome.org/sources/${BPN}/${SHRT_VER}/${BP}.tar.gz"
-
-SRC_URI[md5sum] = "48db927c6e7ee1d5395f953a8c184c98"
-SRC_URI[sha256sum] = "346f645c0fdef900642f6e9a2c18e7ba9a7ca9bc62fe2b08eb418f065a425c89"
-
-inherit autotools pkgconfig gsettings
-
-do_configure_prepend() {
- sed -i -e "s: help: :g" ${S}/Makefile.am
-}
-
-PNBLACKLIST[gcalctool] ?= "broken at least since April 2013 http://permalink.gmane.org/gmane.comp.handhelds.openembedded/57920 and nobody complained, it's also replaced by gnome calculator - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/0001-Remove-user-switch-applet.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/0001-Remove-user-switch-applet.patch
deleted file mode 100644
index 75aff5d7c..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/0001-Remove-user-switch-applet.patch
+++ /dev/null
@@ -1,2281 +0,0 @@
-From 0a4fe802edbd2e8a016161f08283e4b467c6762e Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Tue, 21 Jun 2011 12:48:39 +0200
-Subject: [PATCH] Remove user switch applet
-
-This hasn't been updated to work with gnome-panel > 2.30.0, so just drop it
-
-Upstream-Status: unacceptable, backport
-
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
----
- configure.ac | 8 -
- gui/Makefile.am | 2 -
- .../GNOME_FastUserSwitchApplet.server.in.in | 38 -
- .../GNOME_FastUserSwitchApplet.xml | 20 -
- gui/user-switch-applet/Makefile.am | 67 -
- gui/user-switch-applet/applet.c | 1662 --------------------
- gui/user-switch-applet/gdm-entry-menu-item.c | 304 ----
- gui/user-switch-applet/gdm-entry-menu-item.h | 51 -
- po/POTFILES.in | 4 -
- po/POTFILES.skip | 1 -
- 10 files changed, 0 insertions(+), 2157 deletions(-)
- delete mode 100644 gui/user-switch-applet/GNOME_FastUserSwitchApplet.server.in.in
- delete mode 100644 gui/user-switch-applet/GNOME_FastUserSwitchApplet.xml
- delete mode 100644 gui/user-switch-applet/Makefile.am
- delete mode 100644 gui/user-switch-applet/applet.c
- delete mode 100644 gui/user-switch-applet/gdm-entry-menu-item.c
- delete mode 100644 gui/user-switch-applet/gdm-entry-menu-item.h
-
-diff --git a/configure.ac b/configure.ac
-index 841efe0..a834110 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -149,13 +149,6 @@ PKG_CHECK_MODULES(SIMPLE_CHOOSER,
- AC_SUBST(SIMPLE_CHOOSER_CFLAGS)
- AC_SUBST(SIMPLE_CHOOSER_LIBS)
-
--PKG_CHECK_MODULES(APPLET,
-- dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
-- gtk+-2.0 >= $GTK_REQUIRED_VERSION
-- libpanelapplet-2.0 >= $GNOME_PANEL_REQUIRED_VERSION)
--AC_SUBST(APPLET_CFLAGS)
--AC_SUBST(APPLET_LIBS)
--
- PLUGIN_LIBTOOL_FLAGS="-export_dynamic -module -avoid-version"
- AC_SUBST(PLUGIN_LIBTOOL_FLAGS)
-
-@@ -1340,7 +1333,6 @@ gui/Makefile
- gui/simple-greeter/Makefile
- gui/simple-greeter/libnotificationarea/Makefile
- gui/simple-chooser/Makefile
--gui/user-switch-applet/Makefile
- utils/Makefile
- data/gdm.conf
- data/Makefile
-diff --git a/gui/Makefile.am b/gui/Makefile.am
-index 326239f..bda3f7a 100644
---- a/gui/Makefile.am
-+++ b/gui/Makefile.am
-@@ -2,7 +2,6 @@ NULL =
-
- SUBDIRS = \
- simple-greeter \
-- user-switch-applet \
- $(NULL)
-
- if XDMCP_SUPPORT
-@@ -12,5 +11,4 @@ endif
- DIST_SUBDIRS = \
- simple-chooser \
- simple-greeter \
-- user-switch-applet \
- $(NULL)
-diff --git a/gui/user-switch-applet/GNOME_FastUserSwitchApplet.server.in.in b/gui/user-switch-applet/GNOME_FastUserSwitchApplet.server.in.in
-deleted file mode 100644
-index a9b775f..0000000
---- a/gui/user-switch-applet/GNOME_FastUserSwitchApplet.server.in.in
-+++ /dev/null
-@@ -1,38 +0,0 @@
--<oaf_info>
-- <oaf_server iid="OAFIID:GNOME_FastUserSwitchApplet_Factory" type="exe"
-- location="@LIBEXECDIR@/gdm-user-switch-applet">
--
-- <oaf_attribute name="repo_ids" type="stringv">
-- <item value="IDL:Bonobo/GenericFactory:1.0"/>
-- <item value="IDL:Bonobo/Unknown:1.0"/>
-- </oaf_attribute>
-- <oaf_attribute name="name" type="string" _value="User Switcher Applet Factory"/>
-- <oaf_attribute name="description" type="string" _value="User Switcher Applet Factory"/>
-- <oaf_attribute name="bonobo:environment" type="stringv">
-- <item value="DBUS_SESSION_BUS_ADDRESS"/>
-- <oaf_attribute name="bugzilla:bugzilla" type="string" value="GNOME"/>
-- <oaf_attribute name="bugzilla:product" type="string" value="gdm"/>
-- <oaf_attribute name="bugzilla:component" type="string" value="general"/>
-- <oaf_attribute name="bugzilla:version" type="string" value="@VERSION@"/>
-- <oaf_attribute name="bugzilla:other_binaries" type="string" value="gdm-user-switch-applet"/>
-- </oaf_attribute>
-- </oaf_server>
--
-- <oaf_server iid="OAFIID:GNOME_FastUserSwitchApplet" type="factory"
-- location="OAFIID:GNOME_FastUserSwitchApplet_Factory">
--
-- <oaf_attribute name="repo_ids" type="stringv">
-- <item value="IDL:GNOME/Vertigo/PanelAppletShell:1.0"/>
-- <item value="IDL:Bonobo/Control:1.0"/>
-- <item value="IDL:Bonobo/Unknown:1.0"/>
-- </oaf_attribute>
-- <oaf_attribute name="name" type="string" _value="User Switcher"/>
-- <oaf_attribute name="description" type="string" _value="A menu to quickly switch between users"/>
-- <oaf_attribute name="panel:icon" type="string" value="stock_people"/>
-- <oaf_attribute name="bugzilla:bugzilla" type="string" value="GNOME"/>
-- <oaf_attribute name="bugzilla:product" type="string" value="gdm"/>
-- <oaf_attribute name="bugzilla:component" type="string" value="general"/>
-- <oaf_attribute name="bugzilla:version" type="string" value="@VERSION@"/>
-- <oaf_attribute name="bugzilla:other_binaries" type="string" value="gdm-user-switch-applet"/>
-- </oaf_server>
--</oaf_info>
-diff --git a/gui/user-switch-applet/GNOME_FastUserSwitchApplet.xml b/gui/user-switch-applet/GNOME_FastUserSwitchApplet.xml
-deleted file mode 100644
-index e1845c8..0000000
---- a/gui/user-switch-applet/GNOME_FastUserSwitchApplet.xml
-+++ /dev/null
-@@ -1,20 +0,0 @@
--<Root>
-- <popups>
-- <popup name="button3">
-- <menuitem
-- name="About Me Item"
-- verb="GdmAboutMe"
-- _label="Edit Personal _Information"/>
-- <menuitem
-- name="Users and Groups Admin Item"
-- verb="GdmUsersGroupsAdmin"
-- _label="_Edit Users and Groups"/>
-- <menuitem
-- name="About Item"
-- verb="GdmAbout"
-- _label="_About"
-- pixtype="stock"
-- pixname="gtk-about"/>
-- </popup>
-- </popups>
--</Root>
-diff --git a/gui/user-switch-applet/Makefile.am b/gui/user-switch-applet/Makefile.am
-deleted file mode 100644
-index 2d2cdc0..0000000
---- a/gui/user-switch-applet/Makefile.am
-+++ /dev/null
-@@ -1,67 +0,0 @@
--NULL =
--
--AM_CPPFLAGS = \
-- -I$(top_srcdir)/gui/simple-greeter \
-- -I$(top_srcdir)/common \
-- -DPREFIX=\""$(prefix)"\" \
-- -DLIBDIR=\""$(libdir)"\" \
-- -DDATADIR=\""$(datadir)"\" \
-- -DSYSCONFDIR=\""$(sysconfdir)"\" \
-- -DLIBLOCALEDIR=\""$(prefix)/lib/locale"\" \
-- -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \
-- -DGLADEDIR=\""$(pkgdatadir)"\" \
-- -DLIBEXECDIR=\""$(libexecdir)"\" \
-- -DSBINDIR=\""$(sbindir)"\" \
-- -DGDMCONFDIR=\"$(gdmconfdir)\" \
-- $(GTK_CFLAGS) \
-- $(APPLET_CFLAGS) \
-- $(NULL)
--
--libexec_PROGRAMS = \
-- gdm-user-switch-applet \
-- $(NULL)
--
--gdm_user_switch_applet_SOURCES = \
-- applet.c \
-- gdm-entry-menu-item.h \
-- gdm-entry-menu-item.c \
-- $(NULL)
--
--gdm_user_switch_applet_LDADD = \
-- $(top_builddir)/gui/simple-greeter/libgdmuser.la \
-- $(top_builddir)/common/libgdmcommon.la \
-- $(COMMON_LIBS) \
-- $(APPLET_LIBS) \
-- $(NULL)
--
--# Bonobo UI
--uidir = $(datadir)/gnome-2.0/ui
--ui_DATA = \
-- GNOME_FastUserSwitchApplet.xml \
-- $(NULL)
--
--# Bonobo .server
--serverdir = $(libdir)/bonobo/servers
--server_in_files = \
-- GNOME_FastUserSwitchApplet.server.in \
-- $(NULL)
--server_DATA = $(server_in_files:.server.in=.server)
--
--$(server_in_files): $(server_in_files:.server.in=.server.in.in)
-- sed -e "s|\@LIBEXECDIR\@|$(libexecdir)|" -e "s|\@VERSION\@|$(VERSION)|" $< > $@
--
--@INTLTOOL_SERVER_RULE@
--
--EXTRA_DIST = \
-- $(ui_DATA) \
-- GNOME_FastUserSwitchApplet.server.in.in \
-- $(NULL)
--
--DISTCLEANFILES = \
-- $(server_in_files) \
-- $(server_DATA) \
-- $(NULL)
--
--MAINTAINERCLEANFILES = \
-- *~ \
-- Makefile.in
-diff --git a/gui/user-switch-applet/applet.c b/gui/user-switch-applet/applet.c
-deleted file mode 100644
-index b4f944c..0000000
---- a/gui/user-switch-applet/applet.c
-+++ /dev/null
-@@ -1,1662 +0,0 @@
--/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
-- *
-- * Copyright (C) 2004-2005 James M. Cape <jcape@ignore-your.tv>.
-- * Copyright (C) 2008 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 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
-- */
--
--#include "config.h"
--
--#include <string.h>
--#include <unistd.h>
--#include <stdlib.h>
--#include <sys/types.h>
--
--#include <glib/gi18n.h>
--#include <gdk/gdkkeysyms.h>
--#include <gtk/gtk.h>
--
--#include <gconf/gconf.h>
--#include <gconf/gconf-client.h>
--
--#include <dbus/dbus-glib.h>
--
--#include <bonobo/bonobo-main.h>
--#include <bonobo/bonobo-ui-util.h>
--
--#include <panel-applet.h>
--#include <panel-applet-gconf.h>
--
--#include "gdm-user-manager.h"
--#include "gdm-entry-menu-item.h"
--#include "gdm-settings-client.h"
--
--#define LOCKDOWN_DIR "/desktop/gnome/lockdown"
--#define LOCKDOWN_USER_SWITCHING_KEY LOCKDOWN_DIR "/disable_user_switching"
--#define LOCKDOWN_LOCK_SCREEN_KEY LOCKDOWN_DIR "/disable_lock_screen"
--#define LOCKDOWN_COMMAND_LINE_KEY LOCKDOWN_DIR "/disable_command_line"
--
--typedef enum {
-- GSM_PRESENCE_STATUS_AVAILABLE = 0,
-- GSM_PRESENCE_STATUS_INVISIBLE,
-- GSM_PRESENCE_STATUS_BUSY,
-- GSM_PRESENCE_STATUS_IDLE,
--} GsmPresenceStatus;
--
--typedef struct _GdmAppletData
--{
-- PanelApplet *applet;
--
-- GConfClient *client;
-- GdmUserManager *manager;
-- GdmUser *user;
--
-- GtkWidget *menubar;
-- GtkWidget *menuitem;
-- GtkWidget *menu;
--#ifdef BUILD_PRESENSE_STUFF
-- GtkWidget *user_item;
--#endif
-- GtkWidget *control_panel_item;
-- GtkWidget *account_item;
-- GtkWidget *lock_screen_item;
-- GtkWidget *login_screen_item;
-- GtkWidget *quit_session_item;
--
-- guint client_notify_lockdown_id;
--
-- guint current_status;
-- guint user_loaded_notify_id;
-- guint user_changed_notify_id;
-- gint8 pixel_size;
-- gint panel_size;
-- GtkIconSize icon_size;
--#ifdef BUILD_PRESENSE_STUFF
-- DBusGProxy *presence_proxy;
--#endif
--} GdmAppletData;
--
--typedef struct _SelectorResponseData
--{
-- GdmAppletData *adata;
-- GtkRadioButton *radio;
--} SelectorResponseData;
--
--static void reset_icon (GdmAppletData *adata);
--static void update_label (GdmAppletData *adata);
--
--static gboolean applet_factory (PanelApplet *applet,
-- const char *iid,
-- gpointer data);
--
--PANEL_APPLET_BONOBO_FACTORY ("OAFIID:GNOME_FastUserSwitchApplet_Factory",
-- PANEL_TYPE_APPLET,
-- "gdm-user-switch-applet", "0",
-- (PanelAppletFactoryCallback)applet_factory,
-- NULL)
--
--static void
--about_me_cb (BonoboUIComponent *ui_container,
-- gpointer data,
-- const char *cname)
--{
-- GError *err;
--
-- err = NULL;
-- if (! g_spawn_command_line_async ("gnome-about-me", &err)) {
-- g_critical ("Could not run `gnome-about-me': %s",
-- err->message);
-- g_error_free (err);
-- bonobo_ui_component_set_prop (ui_container,
-- "/commands/GdmAboutMe",
-- "hidden", "1",
-- NULL);
-- }
--}
--
--/*
-- * gnome-panel/applets/wncklet/window-menu.c:window_filter_button_press()
-- *
-- * Copyright (C) 2005 James M. Cape.
-- * Copyright (C) 2003 Sun Microsystems, Inc.
-- * Copyright (C) 2001 Free Software Foundation, Inc.
-- * Copyright (C) 2000 Helix Code, Inc.
-- */
--static gboolean
--menubar_button_press_event_cb (GtkWidget *menubar,
-- GdkEventButton *event,
-- GdmAppletData *adata)
--{
-- if (event->button != 1) {
-- g_signal_stop_emission_by_name (menubar, "button-press-event");
-- /* Reset the login window item */
-- }
--
-- return FALSE;
--}
--
--static void
--about_cb (BonoboUIComponent *ui_container,
-- gpointer data,
-- const char *cname)
--{
-- static const char *authors[] = {
-- "James M. Cape <jcape@ignore-your.tv>",
-- "Thomas Thurman <thomas@thurman.org.uk>",
-- "William Jon McCann <jmccann@redhat.com>",
-- NULL
-- };
-- static char *license[] = {
-- N_("The User Switch Applet 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."),
-- N_("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."),
-- N_("You should have received a copy of the GNU General Public License "
-- "along with this program; if not, write to the Free Software "
-- "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA "),
-- NULL
-- };
-- char *license_i18n;
--
-- license_i18n = g_strconcat (_(license[0]), "\n\n", _(license[1]), "\n\n", _(license[2]), NULL);
--
-- gtk_show_about_dialog (NULL,
-- "version", VERSION,
-- "copyright", "Copyright \xc2\xa9 2004-2005 James M. Cape.\n"
-- "Copyright \xc2\xa9 2006 Thomas Thurman.\n"
-- "Copyright \xc2\xa9 2008 Red Hat, Inc.",
-- "comments", _("A menu to quickly switch between users."),
-- "authors", authors,
-- "license", license_i18n,
-- "wrap-license", TRUE,
-- "translator-credits", _("translator-credits"),
-- "logo-icon-name", "stock_people",
-- NULL);
--
-- g_free (license_i18n);
--}
--
--
--static void
--admin_cb (BonoboUIComponent *ui_container,
-- gpointer data,
-- const char *cname)
--{
--#ifdef USERS_ADMIN
-- char **args;
-- gboolean res;
-- GError *err;
--
-- err = NULL;
-- if (!g_shell_parse_argv (USERS_ADMIN, NULL, &args, &err)) {
-- g_critical ("Could not parse users and groups management command line `%s': %s",
-- USERS_ADMIN, err->message);
-- return;
-- }
--
-- res = g_spawn_async (g_get_home_dir (),
-- args,
-- NULL,
-- (G_SPAWN_STDOUT_TO_DEV_NULL |
-- G_SPAWN_STDERR_TO_DEV_NULL |
-- G_SPAWN_SEARCH_PATH),
-- NULL,
-- NULL,
-- NULL,
-- &err);
-- if (! res) {
-- g_critical ("Could not run `%s' to manage users and groups: %s",
-- USERS_ADMIN, err->message);
-- g_error_free (err);
-- }
-- g_strfreev (args);
--#endif /* USERS_ADMIN */
--}
--
--static void
--set_menuitem_icon (BonoboUIComponent *component,
-- const char *item_path,
-- GtkIconTheme *theme,
-- const char *icon_name,
-- gint icon_size)
--{
-- GdkPixbuf *pixbuf;
-- int width;
-- int height;
--
-- pixbuf = gtk_icon_theme_load_icon (theme, icon_name, icon_size, 0, NULL);
-- if (pixbuf == NULL) {
-- return;
-- }
--
-- width = gdk_pixbuf_get_width (pixbuf);
-- height = gdk_pixbuf_get_height (pixbuf);
-- if (width > icon_size + 4 || height > icon_size + 4) {
-- GdkPixbuf *tmp;
-- if (height > width) {
-- width *= (gdouble) icon_size / (gdouble) height;
-- height = icon_size;
-- } else {
-- height *= (gdouble) icon_size / (gdouble) width;
-- width = icon_size;
-- }
-- tmp = gdk_pixbuf_scale_simple (pixbuf, width, height, GDK_INTERP_BILINEAR);
-- g_object_unref (pixbuf);
-- pixbuf = tmp;
-- }
--
-- bonobo_ui_util_set_pixbuf (component, item_path, pixbuf, NULL);
-- g_object_unref (pixbuf);
--}
--
--static void
--applet_style_set_cb (GtkWidget *widget,
-- GtkStyle *old_style,
-- gpointer data)
--{
-- BonoboUIComponent *component;
-- GdkScreen *screen;
-- GtkIconTheme *theme;
-- int width;
-- int height;
-- int icon_size;
--
-- if (gtk_widget_has_screen (widget)) {
-- screen = gtk_widget_get_screen (widget);
-- } else {
-- screen = gdk_screen_get_default ();
-- }
--
-- if (gtk_icon_size_lookup_for_settings (gtk_settings_get_for_screen (screen),
-- GTK_ICON_SIZE_MENU, &width, &height)) {
-- icon_size = MAX (width, height);
-- } else {
-- icon_size = 16;
-- }
--
-- theme = gtk_icon_theme_get_for_screen (screen);
-- component = panel_applet_get_popup_component (PANEL_APPLET (widget));
--
-- set_menuitem_icon (component,
-- "/commands/GdmAboutMe",
-- theme,
-- "user-info",
-- icon_size);
-- set_menuitem_icon (component,
-- "/commands/GdmUsersGroupsAdmin",
-- theme,
-- "stock_people",
-- icon_size);
--}
--
--static void
--applet_change_background_cb (PanelApplet *applet,
-- PanelAppletBackgroundType type,
-- GdkColor *color,
-- GdkPixmap *pixmap,
-- GdmAppletData *adata)
--{
-- GtkRcStyle *rc_style;
-- GtkStyle *style;
--
-- gtk_widget_set_style (adata->menubar, NULL);
-- rc_style = gtk_rc_style_new ();
-- gtk_widget_modify_style (GTK_WIDGET (adata->menubar), rc_style);
-- g_object_unref (rc_style);
--
-- switch (type) {
-- case PANEL_NO_BACKGROUND:
-- break;
-- case PANEL_COLOR_BACKGROUND:
-- gtk_widget_modify_bg (adata->menubar, GTK_STATE_NORMAL, color);
-- break;
-- case PANEL_PIXMAP_BACKGROUND:
-- style = gtk_style_copy (gtk_widget_get_style (adata->menubar));
-- if (style->bg_pixmap[GTK_STATE_NORMAL]) {
-- g_object_unref (style->bg_pixmap[GTK_STATE_NORMAL]);
-- }
--
-- style->bg_pixmap[GTK_STATE_NORMAL] = g_object_ref (pixmap);
-- gtk_widget_set_style (adata->menubar, style);
-- g_object_unref (style);
-- break;
-- }
--}
--
--/*
-- * gnome-panel/applets/wncklet/window-menu.c:window_menu_key_press_event()
-- *
-- * Copyright (C) 2003 Sun Microsystems, Inc.
-- * Copyright (C) 2001 Free Software Foundation, Inc.
-- * Copyright (C) 2000 Helix Code, Inc.
-- */
--static gboolean
--applet_key_press_event_cb (GtkWidget *widget,
-- GdkEventKey *event,
-- GdmAppletData *adata)
--{
-- GtkMenuShell *menu_shell;
--
-- switch (event->keyval) {
-- case GDK_KP_Enter:
-- case GDK_ISO_Enter:
-- case GDK_3270_Enter:
-- case GDK_Return:
-- case GDK_space:
-- case GDK_KP_Space:
-- menu_shell = GTK_MENU_SHELL (adata->menubar);
-- /*
-- * We need to call _gtk_menu_shell_activate() here as is done in
-- * window_key_press_handler in gtkmenubar.c which pops up menu
-- * when F10 is pressed.
-- *
-- * As that function is private its code is replicated here.
-- */
-- if (!menu_shell->active) {
-- gtk_grab_add (GTK_WIDGET (menu_shell));
-- menu_shell->have_grab = TRUE;
-- menu_shell->active = TRUE;
-- }
--
-- gtk_menu_shell_select_first (menu_shell, FALSE);
-- return TRUE;
-- default:
-- break;
-- }
--
-- return FALSE;
--}
--
--static void
--set_item_text_angle_and_alignment (GtkWidget *item,
-- double text_angle,
-- float xalign,
-- float yalign)
--{
-- GtkWidget *label;
--
-- label = gtk_bin_get_child (GTK_BIN (item));
--
-- gtk_label_set_angle (GTK_LABEL (label), text_angle);
--
-- gtk_misc_set_alignment (GTK_MISC (label), xalign, yalign);
--}
--
--/*
-- * gnome-panel/applets/wncklet/window-menu.c:window_menu_size_allocate()
-- *
-- * Copyright (C) 2003 Sun Microsystems, Inc.
-- * Copyright (C) 2001 Free Software Foundation, Inc.
-- * Copyright (C) 2000 Helix Code, Inc.
-- */
--static void
--applet_size_allocate_cb (GtkWidget *widget,
-- GtkAllocation *allocation,
-- GdmAppletData *adata)
--{
-- GList *children;
-- GtkWidget *top_item;
-- PanelAppletOrient orient;
-- gint pixel_size;
-- gdouble text_angle;
-- GtkPackDirection pack_direction;
-- float text_xalign;
-- float text_yalign;
--
-- pack_direction = GTK_PACK_DIRECTION_LTR;
-- text_angle = 0.0;
-- text_xalign = 0.0;
-- text_yalign = 0.5;
--
-- children = gtk_container_get_children (GTK_CONTAINER (adata->menubar));
-- top_item = GTK_WIDGET (children->data);
-- g_list_free (children);
--
-- orient = panel_applet_get_orient (PANEL_APPLET (widget));
--
-- switch (orient) {
-- case PANEL_APPLET_ORIENT_UP:
-- case PANEL_APPLET_ORIENT_DOWN:
-- gtk_widget_set_size_request (top_item, -1, allocation->height);
-- pixel_size = allocation->height - gtk_widget_get_style (top_item)->ythickness * 2;
-- break;
-- case PANEL_APPLET_ORIENT_LEFT:
-- gtk_widget_set_size_request (top_item, allocation->width, -1);
-- pixel_size = allocation->width - gtk_widget_get_style (top_item)->xthickness * 2;
-- pack_direction = GTK_PACK_DIRECTION_TTB;
-- text_angle = 270.0;
-- text_xalign = 0.5;
-- text_yalign = 0.0;
-- break;
-- case PANEL_APPLET_ORIENT_RIGHT:
-- gtk_widget_set_size_request (top_item, allocation->width, -1);
-- pixel_size = allocation->width - gtk_widget_get_style (top_item)->xthickness * 2;
-- pack_direction = GTK_PACK_DIRECTION_BTT;
-- text_angle = 90.0;
-- text_xalign = 0.5;
-- text_yalign = 0.0;
-- break;
-- default:
-- g_assert_not_reached ();
-- break;
-- }
--
-- gtk_menu_bar_set_pack_direction (GTK_MENU_BAR (adata->menubar),
-- pack_direction);
-- gtk_menu_bar_set_child_pack_direction (GTK_MENU_BAR (adata->menubar),
-- pack_direction);
--
-- set_item_text_angle_and_alignment (adata->menuitem,
-- text_angle,
-- text_xalign,
-- text_yalign);
--
-- if (adata->panel_size != pixel_size) {
-- adata->panel_size = pixel_size;
-- reset_icon (adata);
-- }
--}
--
--
--static void
--gdm_applet_data_free (GdmAppletData *adata)
--{
-- gconf_client_notify_remove (adata->client, adata->client_notify_lockdown_id);
--
-- if (adata->user_loaded_notify_id != 0) {
-- g_signal_handler_disconnect (adata->user, adata->user_loaded_notify_id);
-- }
--
-- if (adata->user_changed_notify_id != 0) {
-- g_signal_handler_disconnect (adata->user, adata->user_changed_notify_id);
-- }
--
--#ifdef BUILD_PRESENSE_STUFF
-- if (adata->presence_proxy != NULL) {
-- g_object_unref (adata->presence_proxy);
-- }
--#endif
--
-- if (adata->user != NULL) {
-- g_object_unref (adata->user);
-- }
-- g_object_unref (adata->client);
-- g_object_unref (adata->manager);
--
-- g_free (adata);
--}
--
--
--/*
-- * gnome-panel/applets/wncklet/window-menu.c:window_menu_on_expose()
-- *
-- * Copyright (C) 2003 Sun Microsystems, Inc.
-- * Copyright (C) 2001 Free Software Foundation, Inc.
-- * Copyright (C) 2000 Helix Code, Inc.
-- */
--static gboolean
--menubar_expose_event_cb (GtkWidget *widget,
-- GdkEventExpose *event,
-- GdmAppletData *adata)
--{
-- if (gtk_widget_has_focus (GTK_WIDGET (adata->applet)))
-- gtk_paint_focus (gtk_widget_get_style (widget),
-- gtk_widget_get_window (widget),
-- gtk_widget_get_state (widget),
-- NULL, widget, "menu-applet", 0, 0, -1, -1);
--
-- return FALSE;
--}
--
--static void
--menu_style_set_cb (GtkWidget *menu,
-- GtkStyle *old_style,
-- GdmAppletData *adata)
--{
-- GtkSettings *settings;
-- int width;
-- int height;
--
-- adata->icon_size = gtk_icon_size_from_name ("panel-menu");
--
-- if (adata->icon_size == GTK_ICON_SIZE_INVALID) {
-- adata->icon_size = gtk_icon_size_register ("panel-menu", 24, 24);
-- }
--
-- if (gtk_widget_has_screen (menu)) {
-- settings = gtk_settings_get_for_screen (gtk_widget_get_screen (menu));
-- } else {
-- settings = gtk_settings_get_default ();
-- }
--
-- if (!gtk_icon_size_lookup_for_settings (settings, adata->icon_size,
-- &width, &height)) {
-- adata->pixel_size = -1;
-- } else {
-- adata->pixel_size = MAX (width, height);
-- }
--}
--
--static void
--menuitem_style_set_cb (GtkWidget *menuitem,
-- GtkStyle *old_style,
-- GdmAppletData *adata)
--{
-- GtkWidget *image;
--
-- if (GDM_IS_ENTRY_MENU_ITEM (menuitem)) {
-- } else {
-- const char *icon_name;
--
-- if (menuitem == adata->login_screen_item) {
-- icon_name = "system-users";
-- } else if (menuitem == adata->lock_screen_item) {
-- icon_name = "system-lock-screen";
-- } else if (menuitem == adata->quit_session_item) {
-- icon_name = "system-log-out";
-- } else if (menuitem == adata->account_item) {
-- icon_name = "user-info";
-- } else if (menuitem == adata->control_panel_item) {
-- icon_name = "preferences-desktop";
-- } else {
-- icon_name = GTK_STOCK_MISSING_IMAGE;
-- }
--
-- image = gtk_image_menu_item_get_image (GTK_IMAGE_MENU_ITEM (menuitem));
-- gtk_image_set_pixel_size (GTK_IMAGE (image), adata->pixel_size);
-- gtk_image_set_from_icon_name (GTK_IMAGE (image), icon_name,
-- adata->icon_size);
-- }
--}
--
--static void
--on_user_changed (GdmUser *user,
-- GdmAppletData *adata)
--{
-- g_debug ("user changed");
-- update_label (adata);
-- reset_icon (adata);
--}
--
--/* Called every time the menu is displayed (and also for some reason
-- * immediately it's created, which does no harm). All we have to do
-- * here is kick off a request to GDM to let us know which users are
-- * logged in, so we can display check marks next to their names.
-- */
--static gboolean
--menu_expose_cb (GtkWidget *menu,
-- gpointer data)
--{
-- char *program;
-- GdmAppletData *adata = data;
--
-- program = g_find_program_in_path ("gnome-control-center");
-- if (program != NULL) {
-- gtk_widget_show (adata->control_panel_item);
-- } else {
-- gtk_widget_hide (adata->control_panel_item);
-- }
-- g_free (program);
-- return FALSE;
--}
--
--static void
--maybe_lock_screen (GdmAppletData *adata)
--{
-- char *args[3];
-- GError *err;
-- GdkScreen *screen;
-- gboolean use_gscreensaver = TRUE;
-- gboolean res;
--
-- g_debug ("Attempting to lock screen");
--
-- args[0] = g_find_program_in_path ("gnome-screensaver-command");
-- if (args[0] == NULL) {
-- args[0] = g_find_program_in_path ("xscreensaver-command");
-- use_gscreensaver = FALSE;
-- }
--
-- if (args[0] == NULL) {
-- return;
-- }
--
-- if (use_gscreensaver) {
-- args[1] = "--lock";
-- } else {
-- args[1] = "-lock";
-- }
-- args[2] = NULL;
--
-- if (gtk_widget_has_screen (GTK_WIDGET (adata->applet))) {
-- screen = gtk_widget_get_screen (GTK_WIDGET (adata->applet));
-- } else {
-- screen = gdk_screen_get_default ();
-- }
--
-- err = NULL;
-- res = gdk_spawn_on_screen (screen,
-- g_get_home_dir (),
-- args,
-- NULL,
-- 0,
-- NULL,
-- NULL,
-- NULL,
-- &err);
-- if (! res) {
-- g_warning (_("Can't lock screen: %s"), err->message);
-- g_error_free (err);
-- }
--
-- if (use_gscreensaver) {
-- args[1] = "--throttle";
-- } else {
-- args[1] = "-throttle";
-- }
--
-- err = NULL;
-- res = gdk_spawn_on_screen (screen,
-- g_get_home_dir (),
-- args,
-- NULL,
-- (G_SPAWN_STDERR_TO_DEV_NULL
-- | G_SPAWN_STDOUT_TO_DEV_NULL),
-- NULL,
-- NULL,
-- NULL,
-- &err);
-- if (! res) {
-- g_warning (_("Can't temporarily set screensaver to blank screen: %s"),
-- err->message);
-- g_error_free (err);
-- }
--
-- g_free (args[0]);
--}
--
--static void
--do_switch (GdmAppletData *adata,
-- GdmUser *user)
--{
-- guint num_sessions;
--
-- g_debug ("Do user switch");
--
-- if (user == NULL) {
-- gdm_user_manager_goto_login_session (adata->manager);
-- goto out;
-- }
--
-- num_sessions = gdm_user_get_num_sessions (user);
-- if (num_sessions > 0) {
-- gdm_user_manager_activate_user_session (adata->manager, user);
-- } else {
-- gdm_user_manager_goto_login_session (adata->manager);
-- }
-- out:
-- maybe_lock_screen (adata);
--}
--
--static void
--update_switch_user (GdmAppletData *adata)
--{
-- gboolean can_switch;
-- gboolean has_other_users;
--
-- can_switch = gdm_user_manager_can_switch (adata->manager);
-- g_object_get (adata->manager,
-- "has-multiple-users", &has_other_users,
-- NULL);
--
-- if (can_switch && has_other_users) {
-- gtk_widget_show (adata->login_screen_item);
-- } else {
--
-- gtk_widget_hide (adata->login_screen_item);
-- }
--}
--
--static void
--on_manager_is_loaded_changed (GdmUserManager *manager,
-- GParamSpec *pspec,
-- GdmAppletData *adata)
--{
-- update_switch_user (adata);
--}
--
--static void
--on_manager_has_multiple_users_changed (GdmUserManager *manager,
-- GParamSpec *pspec,
-- GdmAppletData *adata)
--{
-- update_switch_user (adata);
--}
--
--#ifdef BUILD_PRESENSE_STUFF
--static void
--on_user_item_activate (GtkMenuItem *item,
-- GdmAppletData *adata)
--{
-- g_signal_stop_emission_by_name (item, "activate");
--}
--#endif
--
--static void
--on_control_panel_activate (GtkMenuItem *item,
-- GdmAppletData *adata)
--{
-- char *args[2];
-- GError *error;
-- GdkScreen *screen;
-- gboolean res;
--
-- args[0] = g_find_program_in_path ("gnome-control-center");
-- if (args[0] == NULL) {
-- return;
-- }
-- args[1] = NULL;
--
-- if (gtk_widget_has_screen (GTK_WIDGET (adata->applet))) {
-- screen = gtk_widget_get_screen (GTK_WIDGET (adata->applet));
-- } else {
-- screen = gdk_screen_get_default ();
-- }
--
-- error = NULL;
-- res = gdk_spawn_on_screen (screen,
-- g_get_home_dir (),
-- args,
-- NULL,
-- 0,
-- NULL,
-- NULL,
-- NULL,
-- &error);
-- if (! res) {
-- g_warning (_("Can't lock screen: %s"), error->message);
-- g_error_free (error);
-- }
--
-- g_free (args[0]);
--}
--
--static void
--on_account_activate (GtkMenuItem *item,
-- GdmAppletData *adata)
--{
-- char *args[2];
-- GError *error;
-- GdkScreen *screen;
-- gboolean res;
--
-- args[0] = g_find_program_in_path ("accounts-dialog");
-- if (args[0] == NULL) {
-- args[0] = g_find_program_in_path ("gnome-about-me");
-- if (args[0] == NULL) {
-- return;
-- }
-- }
-- args[1] = NULL;
--
-- if (gtk_widget_has_screen (GTK_WIDGET (adata->applet))) {
-- screen = gtk_widget_get_screen (GTK_WIDGET (adata->applet));
-- } else {
-- screen = gdk_screen_get_default ();
-- }
--
-- error = NULL;
-- res = gdk_spawn_on_screen (screen,
-- g_get_home_dir (),
-- args,
-- NULL,
-- 0,
-- NULL,
-- NULL,
-- NULL,
-- &error);
-- if (! res) {
-- g_warning (_("Can't lock screen: %s"), error->message);
-- g_error_free (error);
-- }
--
-- g_free (args[0]);
--}
--
--static void
--on_lock_screen_activate (GtkMenuItem *item,
-- GdmAppletData *adata)
--{
-- maybe_lock_screen (adata);
--}
--
--static void
--on_login_screen_activate (GtkMenuItem *item,
-- GdmAppletData *adata)
--{
-- GdmUser *user;
--
-- user = NULL;
--
-- do_switch (adata, user);
--}
--
--static void
--on_quit_session_activate (GtkMenuItem *item,
-- GdmAppletData *adata)
--{
-- char *args[3];
-- GError *error;
-- GdkScreen *screen;
-- gboolean res;
--
-- args[0] = g_find_program_in_path ("gnome-session-save");
-- if (args[0] == NULL) {
-- return;
-- }
--
-- args[1] = "--logout-dialog";
-- args[2] = NULL;
--
-- if (gtk_widget_has_screen (GTK_WIDGET (adata->applet))) {
-- screen = gtk_widget_get_screen (GTK_WIDGET (adata->applet));
-- } else {
-- screen = gdk_screen_get_default ();
-- }
--
-- error = NULL;
-- res = gdk_spawn_on_screen (screen,
-- g_get_home_dir (),
-- args,
-- NULL,
-- 0,
-- NULL,
-- NULL,
-- NULL,
-- &error);
-- if (! res) {
-- g_warning (_("Can't log out: %s"), error->message);
-- g_error_free (error);
-- }
--
-- g_free (args[0]);
--}
--
--#ifdef BUILD_PRESENSE_STUFF
--static gboolean
--on_menu_key_press_event (GtkWidget *widget,
-- GdkEventKey *event,
-- GdmAppletData *adata)
--{
-- GtkWidget *entry;
--
-- entry = gdm_entry_menu_item_get_entry (GDM_ENTRY_MENU_ITEM (adata->user_item));
--
-- if (GTK_WIDGET_HAS_FOCUS (entry)) {
-- gtk_widget_event (entry, (GdkEvent *)event);
-- return TRUE;
-- } else {
-- return FALSE;
-- }
--}
--
--static void
--save_status (GdmAppletData *adata,
-- guint status)
--{
-- if (adata->current_status != status) {
-- GError *error;
--
-- adata->current_status = status;
--
-- g_debug ("Saving status: %u", status);
-- error = NULL;
-- dbus_g_proxy_call (adata->presence_proxy,
-- "SetStatus",
-- &error,
-- G_TYPE_UINT, status,
-- G_TYPE_INVALID,
-- G_TYPE_INVALID);
--
-- if (error != NULL) {
-- g_warning ("Couldn't save presence status: %s", error->message);
-- g_error_free (error);
-- }
-- }
--}
--
--static void
--on_status_available_activate (GtkWidget *widget,
-- GdmAppletData *adata)
--{
--
-- if (gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget))) {
-- save_status (adata, GSM_PRESENCE_STATUS_AVAILABLE);
-- }
--}
--
--static void
--on_status_busy_activate (GtkWidget *widget,
-- GdmAppletData *adata)
--{
-- if (gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget))) {
-- save_status (adata, GSM_PRESENCE_STATUS_BUSY);
-- }
--}
--
--static void
--on_status_invisible_activate (GtkWidget *widget,
-- GdmAppletData *adata)
--{
-- if (gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget))) {
-- save_status (adata, GSM_PRESENCE_STATUS_INVISIBLE);
-- }
--}
--
--static struct {
-- char *icon_name;
-- char *display_name;
-- void *menu_callback;
-- GtkWidget *widget;
--} statuses[] = {
-- { "user-online", N_("Available"), on_status_available_activate, NULL },
-- { "user-invisible", N_("Invisible"), on_status_invisible_activate, NULL },
-- { "user-busy", N_("Busy"), on_status_busy_activate, NULL },
-- { "user-away", N_("Away"), NULL, NULL },
--};
--#endif
--
--static void
--update_label (GdmAppletData *adata)
--{
-- GtkWidget *label;
-- char *markup;
--
-- label = gtk_bin_get_child (GTK_BIN (adata->menuitem));
--
--#ifdef BUILD_PRESENSE_STUFF
-- markup = g_strdup_printf ("<b>%s</b> <small>(%s)</small>",
-- gdm_user_get_real_name (GDM_USER (adata->user)),
-- _(statuses[adata->current_status].display_name));
--#else
-- markup = g_strdup_printf ("<b>%s</b>",
-- gdm_user_get_real_name (GDM_USER (adata->user)));
--#endif
-- gtk_label_set_markup (GTK_LABEL (label), markup);
-- g_free (markup);
--}
--
--#ifdef BUILD_PRESENSE_STUFF
--static void
--save_status_text (GdmAppletData *adata)
--{
-- GtkWidget *entry;
-- GtkTextBuffer *buffer;
-- char *escaped_text;
-- char *text;
-- GtkTextIter start, end;
--
-- entry = gdm_entry_menu_item_get_entry (GDM_ENTRY_MENU_ITEM (adata->user_item));
-- buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (entry));
-- gtk_text_buffer_get_bounds (buffer, &start, &end);
-- text = gtk_text_buffer_get_text (buffer, &start, &end, FALSE);
-- escaped_text = g_markup_escape_text (text, -1);
--
-- if (escaped_text != NULL) {
-- GError *error;
--
-- error = NULL;
-- dbus_g_proxy_call (adata->presence_proxy,
-- "SetStatusText",
-- &error,
-- G_TYPE_STRING, escaped_text,
-- G_TYPE_INVALID,
-- G_TYPE_INVALID);
--
-- if (error != NULL) {
-- g_warning ("Couldn't set presence status text: %s", error->message);
-- g_error_free (error);
-- }
-- }
--
-- g_free (text);
-- g_free (escaped_text);
--}
--
--static void
--on_user_item_deselect (GtkWidget *item,
-- GdmAppletData *adata)
--{
-- save_status_text (adata);
--}
--#endif
--
--static void
--create_sub_menu (GdmAppletData *adata)
--{
-- GtkWidget *item;
--#ifdef BUILD_PRESENSE_STUFF
-- int i;
-- GSList *radio_group;
--#endif
--
-- adata->menu = gtk_menu_new ();
--#ifdef BUILD_PRESENSE_STUFF
-- g_signal_connect (adata->menu,
-- "key-press-event",
-- G_CALLBACK (on_menu_key_press_event),
-- adata);
--#endif
-- gtk_menu_item_set_submenu (GTK_MENU_ITEM (adata->menuitem), adata->menu);
-- g_signal_connect (adata->menu, "style-set",
-- G_CALLBACK (menu_style_set_cb), adata);
-- g_signal_connect (adata->menu, "show",
-- G_CALLBACK (menu_expose_cb), adata);
--
--#ifdef BUILD_PRESENSE_STUFF
-- adata->user_item = gdm_entry_menu_item_new ();
-- gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu),
-- adata->user_item);
-- gtk_widget_show (adata->user_item);
-- g_signal_connect (adata->user_item, "activate",
-- G_CALLBACK (on_user_item_activate), adata);
-- g_signal_connect (adata->user_item,
-- "deselect",
-- G_CALLBACK (on_user_item_deselect),
-- adata);
--
-- item = gtk_separator_menu_item_new ();
-- gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu), item);
-- gtk_widget_show (item);
--
-- radio_group = NULL;
-- for (i = 0; i < G_N_ELEMENTS (statuses); i++) {
-- GtkWidget *hbox;
-- GtkWidget *label;
-- GtkWidget *image;
-- GtkWidget *item;
--
-- if (statuses[i].menu_callback == NULL) {
-- continue;
-- }
--
-- item = gtk_radio_menu_item_new (radio_group);
-- radio_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (item));
-- hbox = gtk_hbox_new (FALSE, 3);
-- label = gtk_label_new (_(statuses[i].display_name));
-- gtk_label_set_justify (GTK_LABEL(label), GTK_JUSTIFY_LEFT);
-- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
-- gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0);
-- gtk_widget_show (label);
-- image = gtk_image_new_from_icon_name (statuses[i].icon_name, GTK_ICON_SIZE_MENU);
-- gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, TRUE, 0);
-- gtk_widget_show (image);
-- gtk_widget_show (hbox);
-- gtk_container_add (GTK_CONTAINER (item), hbox);
--
-- gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu),
-- item);
-- g_signal_connect (item, "activate",
-- G_CALLBACK (statuses[i].menu_callback), adata);
-- gtk_widget_show (item);
--
-- statuses[i].widget = item;
-- }
--
-- item = gtk_separator_menu_item_new ();
-- gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu), item);
-- gtk_widget_show (item);
--#endif
--
-- adata->account_item = gtk_image_menu_item_new_with_label (_("Account Information"));
-- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (adata->account_item),
-- gtk_image_new ());
-- gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu),
-- adata->account_item);
-- g_signal_connect (adata->account_item, "style-set",
-- G_CALLBACK (menuitem_style_set_cb), adata);
-- g_signal_connect (adata->account_item, "activate",
-- G_CALLBACK (on_account_activate), adata);
-- gtk_widget_show (adata->account_item);
--
--
-- adata->control_panel_item = gtk_image_menu_item_new_with_label (_("System Preferences"));
-- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (adata->control_panel_item),
-- gtk_image_new ());
-- gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu),
-- adata->control_panel_item);
-- g_signal_connect (adata->control_panel_item, "style-set",
-- G_CALLBACK (menuitem_style_set_cb), adata);
-- g_signal_connect (adata->control_panel_item, "activate",
-- G_CALLBACK (on_control_panel_activate), adata);
--
-- item = gtk_separator_menu_item_new ();
-- gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu), item);
-- gtk_widget_show (item);
--
-- adata->lock_screen_item = gtk_image_menu_item_new_with_label (_("Lock Screen"));
-- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (adata->lock_screen_item),
-- gtk_image_new ());
-- gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu),
-- adata->lock_screen_item);
-- g_signal_connect (adata->lock_screen_item, "style-set",
-- G_CALLBACK (menuitem_style_set_cb), adata);
-- g_signal_connect (adata->lock_screen_item, "activate",
-- G_CALLBACK (on_lock_screen_activate), adata);
-- /* Only show if not locked down */
--
-- adata->login_screen_item = gtk_image_menu_item_new_with_label (_("Switch User"));
-- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (adata->login_screen_item),
-- gtk_image_new ());
-- gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu),
-- adata->login_screen_item);
-- g_signal_connect (adata->login_screen_item, "style-set",
-- G_CALLBACK (menuitem_style_set_cb), adata);
-- g_signal_connect (adata->login_screen_item, "activate",
-- G_CALLBACK (on_login_screen_activate), adata);
-- /* Only show switch user if there are other users */
--
-- adata->quit_session_item = gtk_image_menu_item_new_with_label (_("Quit…"));
-- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (adata->quit_session_item),
-- gtk_image_new ());
-- gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu),
-- adata->quit_session_item);
-- g_signal_connect (adata->quit_session_item, "style-set",
-- G_CALLBACK (menuitem_style_set_cb), adata);
-- g_signal_connect (adata->quit_session_item, "activate",
-- G_CALLBACK (on_quit_session_activate), adata);
-- gtk_widget_show (adata->quit_session_item);
-- gtk_widget_show (adata->menu);
--}
--
--static void
--destroy_sub_menu (GdmAppletData *adata)
--{
-- gtk_menu_item_set_submenu (GTK_MENU_ITEM (adata->menuitem), NULL);
--}
--
--static void
--set_menu_visibility (GdmAppletData *adata,
-- gboolean visible)
--{
--
-- if (visible) {
-- create_sub_menu (adata);
-- } else {
-- destroy_sub_menu (adata);
-- }
--}
--
--static void
--client_notify_lockdown_func (GConfClient *client,
-- guint cnxn_id,
-- GConfEntry *entry,
-- GdmAppletData *adata)
--{
-- GConfValue *value;
-- const char *key;
--
-- value = gconf_entry_get_value (entry);
-- key = gconf_entry_get_key (entry);
--
-- if (value == NULL || key == NULL) {
-- return;
-- }
--
-- if (strcmp (key, LOCKDOWN_USER_SWITCHING_KEY) == 0) {
-- if (gconf_value_get_bool (value)) {
-- set_menu_visibility (adata, FALSE);
-- } else {
-- set_menu_visibility (adata, TRUE);
-- }
-- } else if (strcmp (key, LOCKDOWN_LOCK_SCREEN_KEY) == 0) {
-- if (gconf_value_get_bool (value)) {
-- gtk_widget_hide (adata->lock_screen_item);
-- } else {
-- gtk_widget_show (adata->lock_screen_item);
-- }
-- }
--}
--
--static void
--reset_icon (GdmAppletData *adata)
--{
-- GdkPixbuf *pixbuf;
-- GtkWidget *image;
--
-- if (adata->user == NULL || !gtk_widget_has_screen (GTK_WIDGET (adata->menuitem))) {
-- return;
-- }
--
--#ifdef BUILD_PRESENSE_STUFF
-- if (adata->user_item != NULL) {
-- image = gdm_entry_menu_item_get_image (GDM_ENTRY_MENU_ITEM (adata->user_item));
-- pixbuf = gdm_user_render_icon (adata->user, adata->panel_size * 3);
-- if (pixbuf == NULL) {
-- return;
-- }
--
-- gtk_image_set_from_pixbuf (GTK_IMAGE (image), pixbuf);
-- g_object_unref (pixbuf);
-- }
--#else
-- pixbuf = gdm_user_render_icon (adata->user, adata->panel_size);
--
-- if (pixbuf == NULL) {
-- return;
-- }
--
-- image = gtk_image_menu_item_get_image (GTK_IMAGE_MENU_ITEM (adata->menuitem));
-- gtk_image_set_from_pixbuf (GTK_IMAGE (image), pixbuf);
-- g_object_unref (pixbuf);
--#endif
--}
--
--static void
--setup_current_user_now (GdmAppletData *adata)
--{
-- g_assert (adata->user != NULL);
--
-- if (adata->user_loaded_notify_id != 0) {
-- g_signal_handler_disconnect (adata->user, adata->user_loaded_notify_id);
-- }
-- adata->user_loaded_notify_id = 0;
--
-- update_label (adata);
-- reset_icon (adata);
-- adata->user_changed_notify_id =
-- g_signal_connect (adata->user,
-- "changed",
-- G_CALLBACK (on_user_changed),
-- adata);
--}
--
--static void
--on_current_user_loaded (GdmUser *user,
-- GParamSpec *pspec,
-- GdmAppletData *adata)
--{
-- if (!gdm_user_is_loaded (user)) {
-- return;
-- }
--
-- setup_current_user_now (adata);
--}
--
--static void
--setup_current_user (GdmAppletData *adata)
--{
-- adata->user = gdm_user_manager_get_user_by_uid (adata->manager, getuid ());
--
-- if (adata->user == NULL) {
-- g_warning ("Could not setup current user");
-- return;
-- }
--
-- g_object_ref (adata->user);
--
-- adata->menuitem = gtk_image_menu_item_new_with_label ("");
--#ifndef BUILD_PRESENSE_STUFF
-- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (adata->menuitem),
-- gtk_image_new ());
--#endif
-- gtk_menu_shell_append (GTK_MENU_SHELL (adata->menubar), adata->menuitem);
-- gtk_widget_show (adata->menuitem);
--
-- if (gdm_user_is_loaded (adata->user)) {
-- setup_current_user_now (adata);
-- return;
-- }
--
-- adata->user_loaded_notify_id = g_signal_connect (adata->user,
-- "notify::is-loaded",
-- G_CALLBACK (on_current_user_loaded),
-- adata);
--}
--
--#ifdef BUILD_PRESENSE_STUFF
--static void
--set_status (GdmAppletData *adata,
-- guint status)
--{
-- int i;
--
-- g_debug ("Setting current status: %u", status);
-- adata->current_status = status;
-- for (i = 0; i < G_N_ELEMENTS (statuses); i++) {
-- if (statuses[i].widget == NULL) {
-- continue;
-- }
-- if (i == status) {
-- gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (statuses[i].widget),
-- TRUE);
-- }
-- }
--
-- update_label (adata);
--}
--
--static void
--on_presence_status_changed (DBusGProxy *presence_proxy,
-- guint status,
-- GdmAppletData *adata)
--{
-- g_debug ("Status changed: %u", status);
--
-- set_status (adata, status);
--}
--
--static void
--set_status_text (GdmAppletData *adata,
-- const char *status_text)
--{
-- GtkWidget *entry;
-- GtkTextBuffer *buffer;
--
-- g_debug ("Status text changed: %s", status_text);
--
-- entry = gdm_entry_menu_item_get_entry (GDM_ENTRY_MENU_ITEM (adata->user_item));
-- buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (entry));
-- gtk_text_buffer_set_text (buffer, status_text, -1);
--}
--
--static void
--on_presence_status_text_changed (DBusGProxy *presence_proxy,
-- const char *status_text,
-- GdmAppletData *adata)
--{
-- set_status_text (adata, status_text);
--}
--#endif
--
--static gboolean
--fill_applet (PanelApplet *applet)
--{
-- static const BonoboUIVerb menu_verbs[] = {
-- BONOBO_UI_VERB ("GdmAboutMe", about_me_cb),
-- BONOBO_UI_VERB ("GdmUsersGroupsAdmin", admin_cb),
-- BONOBO_UI_VERB ("GdmAbout", about_cb),
-- BONOBO_UI_VERB_END
-- };
-- static gboolean first_time = FALSE;
-- char *tmp;
-- BonoboUIComponent *popup_component;
-- GdmAppletData *adata;
-- GError *error;
-- DBusGConnection *bus;
--
-- if (!first_time) {
-- first_time = TRUE;
--
-- /* Do this here so it's only done once. */
-- gtk_rc_parse_string ("style \"gdm-user-switch-menubar-style\"\n"
-- "{\n"
-- "GtkMenuBar::shadow-type = none\n"
-- "GtkMenuBar::internal-padding = 0\n"
-- "}\n"
-- "style \"gdm-user-switch-applet-style\"\n"
-- "{\n"
-- "GtkWidget::focus-line-width = 0\n"
-- "GtkWidget::focus-padding = 0\n"
-- "}\n"
-- "widget \"*.gdm-user-switch-menubar\" style \"gdm-user-switch-menubar-style\"\n"
-- "widget \"*.gdm-user-switch-applet\" style \"gdm-user-switch-applet-style\"\n");
-- gtk_window_set_default_icon_name ("stock_people");
-- g_set_application_name (_("User Switch Applet"));
--
-- if (! gdm_settings_client_init (DATADIR "/gdm/gdm.schemas", "/")) {
-- g_critical ("Unable to initialize settings client");
-- exit (1);
-- }
--
-- }
--
-- adata = g_new0 (GdmAppletData, 1);
-- adata->applet = applet;
-- adata->panel_size = 24;
--
-- adata->client = gconf_client_get_default ();
--
-- gtk_widget_set_tooltip_text (GTK_WIDGET (applet), _("Change account settings and status"));
-- gtk_container_set_border_width (GTK_CONTAINER (applet), 0);
-- gtk_widget_set_name (GTK_WIDGET (applet), "gdm-user-switch-applet");
-- panel_applet_set_flags (applet, PANEL_APPLET_EXPAND_MINOR);
-- panel_applet_setup_menu_from_file (applet, NULL,
-- DATADIR "/gnome-2.0/ui/GNOME_FastUserSwitchApplet.xml",
-- NULL, menu_verbs, adata);
--
-- popup_component = panel_applet_get_popup_component (applet);
--
-- /* Hide the admin context menu items if locked down or no cmd-line */
-- if (gconf_client_get_bool (adata->client,
-- LOCKDOWN_COMMAND_LINE_KEY,
-- NULL) ||
-- panel_applet_get_locked_down (applet)) {
-- bonobo_ui_component_set_prop (popup_component,
-- "/popups/button3/GdmSeparator",
-- "hidden", "1", NULL);
-- bonobo_ui_component_set_prop (popup_component,
-- "/commands/GdmUsersGroupsAdmin",
-- "hidden", "1", NULL);
-- } else {
--#ifndef USERS_ADMIN
--# ifdef GDM_SETUP
-- bonobo_ui_component_set_prop (popup_component,
-- "/popups/button3/GdmSeparator",
-- "hidden", "1",
-- NULL);
--# endif /* !GDM_SETUP */
-- bonobo_ui_component_set_prop (popup_component,
-- "/commands/GdmUsersGroupsAdmin",
-- "hidden", "1",
-- NULL);
--#endif /* !USERS_ADMIN */
-- }
--
-- /* Hide the gdmphotosetup item if it can't be found in the path. */
-- tmp = g_find_program_in_path ("gnome-about-me");
-- if (!tmp) {
-- bonobo_ui_component_set_prop (popup_component,
-- "/commands/GdmAboutMe",
-- "hidden", "1",
-- NULL);
-- } else {
-- g_free (tmp);
-- }
--
-- g_signal_connect (adata->applet,
-- "style-set",
-- G_CALLBACK (applet_style_set_cb), adata);
-- g_signal_connect (applet,
-- "change-background",
-- G_CALLBACK (applet_change_background_cb), adata);
-- g_signal_connect (applet,
-- "size-allocate",
-- G_CALLBACK (applet_size_allocate_cb), adata);
-- g_signal_connect (applet,
-- "key-press-event",
-- G_CALLBACK (applet_key_press_event_cb), adata);
-- g_signal_connect_after (applet,
-- "focus-in-event",
-- G_CALLBACK (gtk_widget_queue_draw), NULL);
-- g_signal_connect_after (applet,
-- "focus-out-event",
-- G_CALLBACK (gtk_widget_queue_draw), NULL);
-- g_object_set_data_full (G_OBJECT (applet),
-- "gdm-applet-data",
-- adata,
-- (GDestroyNotify) gdm_applet_data_free);
--
-- adata->menubar = gtk_menu_bar_new ();
-- gtk_widget_set_name (adata->menubar, "gdm-user-switch-menubar");
-- gtk_widget_set_can_focus (adata->menubar, TRUE);
-- g_signal_connect (adata->menubar, "button-press-event",
-- G_CALLBACK (menubar_button_press_event_cb), adata);
-- g_signal_connect_after (adata->menubar, "expose-event",
-- G_CALLBACK (menubar_expose_event_cb), adata);
-- gtk_container_add (GTK_CONTAINER (applet), adata->menubar);
-- gtk_widget_show (adata->menubar);
--
-- adata->manager = gdm_user_manager_ref_default ();
-- g_object_set (adata->manager, "include-all", TRUE, NULL);
-- g_signal_connect (adata->manager,
-- "notify::is-loaded",
-- G_CALLBACK (on_manager_is_loaded_changed),
-- adata);
-- g_signal_connect (adata->manager,
-- "notify::has-multiple-users",
-- G_CALLBACK (on_manager_has_multiple_users_changed),
-- adata);
--
-- gdm_user_manager_queue_load (adata->manager);
-- setup_current_user (adata);
--
-- gconf_client_add_dir (adata->client,
-- LOCKDOWN_DIR,
-- GCONF_CLIENT_PRELOAD_ONELEVEL,
-- NULL);
--
-- adata->client_notify_lockdown_id = gconf_client_notify_add (adata->client,
-- LOCKDOWN_DIR,
-- (GConfClientNotifyFunc)client_notify_lockdown_func,
-- adata,
-- NULL,
-- NULL);
--
-- if (gconf_client_get_bool (adata->client, LOCKDOWN_USER_SWITCHING_KEY, NULL)) {
-- set_menu_visibility (adata, FALSE);
-- } else {
-- set_menu_visibility (adata, TRUE);
-- }
-- if (gconf_client_get_bool (adata->client, LOCKDOWN_LOCK_SCREEN_KEY, NULL)) {
-- gtk_widget_hide (adata->lock_screen_item);
-- } else {
-- gtk_widget_show (adata->lock_screen_item);
-- }
--
-- error = NULL;
-- bus = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
-- if (bus == NULL) {
-- g_warning ("Unable to get session bus: %s", error->message);
-- g_error_free (error);
-- goto done;
-- }
--
--#ifdef BUILD_PRESENSE_STUFF
-- adata->presence_proxy = dbus_g_proxy_new_for_name (bus,
-- "org.gnome.SessionManager",
-- "/org/gnome/SessionManager/Presence",
-- "org.gnome.SessionManager.Presence");
-- if (adata->presence_proxy != NULL) {
-- DBusGProxy *proxy;
--
-- dbus_g_proxy_add_signal (adata->presence_proxy,
-- "StatusChanged",
-- G_TYPE_UINT,
-- G_TYPE_INVALID);
-- dbus_g_proxy_connect_signal (adata->presence_proxy,
-- "StatusChanged",
-- G_CALLBACK (on_presence_status_changed),
-- adata,
-- NULL);
-- dbus_g_proxy_add_signal (adata->presence_proxy,
-- "StatusTextChanged",
-- G_TYPE_STRING,
-- G_TYPE_INVALID);
-- dbus_g_proxy_connect_signal (adata->presence_proxy,
-- "StatusTextChanged",
-- G_CALLBACK (on_presence_status_text_changed),
-- adata,
-- NULL);
--
--
-- proxy = dbus_g_proxy_new_from_proxy (adata->presence_proxy,
-- "org.freedesktop.DBus.Properties",
-- "/org/gnome/SessionManager/Presence");
-- if (proxy != NULL) {
-- guint status;
-- const char *status_text;
-- GValue value = { 0, };
--
-- status = 0;
-- status_text = NULL;
--
-- error = NULL;
-- dbus_g_proxy_call (proxy,
-- "Get",
-- &error,
-- G_TYPE_STRING, "org.gnome.SessionManager.Presence",
-- G_TYPE_STRING, "status",
-- G_TYPE_INVALID,
-- G_TYPE_VALUE, &value,
-- G_TYPE_INVALID);
--
-- if (error != NULL) {
-- g_warning ("Couldn't get presence status: %s", error->message);
-- g_error_free (error);
-- } else {
-- status = g_value_get_uint (&value);
-- }
--
-- g_value_unset (&value);
--
-- error = NULL;
-- dbus_g_proxy_call (proxy,
-- "Get",
-- &error,
-- G_TYPE_STRING, "org.gnome.SessionManager.Presence",
-- G_TYPE_STRING, "status-text",
-- G_TYPE_INVALID,
-- G_TYPE_VALUE, &value,
-- G_TYPE_INVALID);
--
-- if (error != NULL) {
-- g_warning ("Couldn't get presence status text: %s", error->message);
-- g_error_free (error);
-- } else {
-- status_text = g_value_get_string (&value);
-- }
--
-- set_status (adata, status);
-- set_status_text (adata, status_text);
-- }
-- } else {
-- g_warning ("Failed to get session presence proxy");
-- }
--#endif
--
-- done:
-- gtk_widget_show (GTK_WIDGET (adata->applet));
--
-- return TRUE;
--}
--
--static gboolean
--applet_factory (PanelApplet *applet,
-- const char *iid,
-- gpointer data)
--{
-- gboolean ret;
-- ret = FALSE;
-- if (strcmp (iid, "OAFIID:GNOME_FastUserSwitchApplet") == 0) {
-- ret = fill_applet (applet);
-- }
-- return ret;
--}
-diff --git a/gui/user-switch-applet/gdm-entry-menu-item.c b/gui/user-switch-applet/gdm-entry-menu-item.c
-deleted file mode 100644
-index d657e7a..0000000
---- a/gui/user-switch-applet/gdm-entry-menu-item.c
-+++ /dev/null
-@@ -1,304 +0,0 @@
--/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
-- *
-- * Copyright (C) 2008 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 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
-- */
--
--#include "config.h"
--
--#include <unistd.h>
--#include <sys/types.h>
--
--#include <string.h>
--
--#include <glib/gi18n.h>
--#include <gtk/gtk.h>
--
--#include "gdm-entry-menu-item.h"
--
--/* same as twitter */
--#define TEXT_BUFFER_MAX_CHARS 64
--
--enum
--{
-- PROP_0,
--};
--
--struct _GdmEntryMenuItem
--{
-- GtkMenuItem parent;
--
-- GtkWidget *hbox;
-- GtkWidget *image;
-- GtkWidget *entry;
--};
--
--struct _GdmEntryMenuItemClass
--{
-- GtkMenuItemClass parent_class;
--};
--
--G_DEFINE_TYPE (GdmEntryMenuItem, gdm_entry_menu_item, GTK_TYPE_MENU_ITEM)
--
--static void
--gdm_entry_menu_item_set_property (GObject *object,
-- guint param_id,
-- const GValue *value,
-- GParamSpec *pspec)
--{
-- GdmEntryMenuItem *item;
--
-- item = GDM_ENTRY_MENU_ITEM (object);
--
-- switch (param_id) {
-- default:
-- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
-- break;
-- }
--}
--
--static void
--gdm_entry_menu_item_get_property (GObject *object,
-- guint param_id,
-- GValue *value,
-- GParamSpec *pspec)
--{
-- GdmEntryMenuItem *item;
--
-- item = GDM_ENTRY_MENU_ITEM (object);
--
-- switch (param_id) {
-- default:
-- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
-- break;
-- }
--}
--
--static void
--gdm_entry_menu_item_dispose (GObject *object)
--{
--
-- (*G_OBJECT_CLASS (gdm_entry_menu_item_parent_class)->dispose) (object);
--}
--
--static gboolean
--gdm_entry_menu_item_button_release (GtkWidget *widget,
-- GdkEventButton *event)
--{
-- return TRUE;
--}
--
--/* Cut and paste from gtkwindow.c */
--static void
--send_focus_change (GtkWidget *widget,
-- gboolean in)
--{
-- GdkEvent *fevent = gdk_event_new (GDK_FOCUS_CHANGE);
--
-- g_object_ref (widget);
--
-- gtk_widget_set_can_focus (widget, in);
--
-- fevent->focus_change.type = GDK_FOCUS_CHANGE;
-- fevent->focus_change.window = g_object_ref (gtk_widget_get_window (widget));
-- fevent->focus_change.in = in;
--
-- gtk_widget_event (widget, fevent);
--
-- g_object_notify (G_OBJECT (widget), "has-focus");
--
-- g_object_unref (widget);
-- gdk_event_free (fevent);
--}
--
--static gboolean
--gdm_entry_menu_item_button_press (GtkWidget *widget,
-- GdkEventButton *event)
--{
-- GtkWidget *entry;
--
-- entry = GDM_ENTRY_MENU_ITEM (widget)->entry;
--
-- if (gtk_widget_get_window (entry) != NULL) {
-- gdk_window_raise (gtk_widget_get_window (entry));
-- }
--
-- if (!gtk_widget_has_focus (entry)) {
-- gtk_widget_grab_focus (entry);
-- }
--
-- return FALSE;
--}
--
--static void
--gdm_entry_menu_item_realize (GtkWidget *widget)
--{
-- if (GTK_WIDGET_CLASS (gdm_entry_menu_item_parent_class)->realize) {
-- GTK_WIDGET_CLASS (gdm_entry_menu_item_parent_class)->realize (widget);
-- }
--}
--
--static void
--gdm_entry_menu_item_select (GtkItem *item)
--{
-- g_return_if_fail (GDM_IS_ENTRY_MENU_ITEM (item));
-- send_focus_change (GTK_WIDGET (GDM_ENTRY_MENU_ITEM (item)->entry), TRUE);
--}
--
--static void
--gdm_entry_menu_item_deselect (GtkItem *item)
--{
-- g_return_if_fail (GDM_IS_ENTRY_MENU_ITEM (item));
--
-- send_focus_change (GTK_WIDGET (GDM_ENTRY_MENU_ITEM (item)->entry), FALSE);
--}
--
--static void
--gdm_entry_menu_item_class_init (GdmEntryMenuItemClass *klass)
--{
-- GObjectClass *gobject_class;
-- GtkWidgetClass *widget_class;
-- GtkMenuItemClass *menu_item_class;
-- GtkItemClass *item_class;
--
-- gobject_class = G_OBJECT_CLASS (klass);
-- widget_class = GTK_WIDGET_CLASS (klass);
-- menu_item_class = GTK_MENU_ITEM_CLASS (klass);
-- item_class = GTK_ITEM_CLASS (klass);
--
-- gobject_class->set_property = gdm_entry_menu_item_set_property;
-- gobject_class->get_property = gdm_entry_menu_item_get_property;
-- gobject_class->dispose = gdm_entry_menu_item_dispose;
--
-- widget_class->button_release_event = gdm_entry_menu_item_button_release;
-- widget_class->button_press_event = gdm_entry_menu_item_button_press;
-- widget_class->realize = gdm_entry_menu_item_realize;
--
-- item_class->select = gdm_entry_menu_item_select;
-- item_class->deselect = gdm_entry_menu_item_deselect;
--
-- menu_item_class->hide_on_activate = FALSE;
--}
--
--static void
--on_entry_show (GtkWidget *widget,
-- GdmEntryMenuItem *item)
--{
-- if (gtk_widget_get_window (widget) != NULL) {
-- gdk_window_raise (gtk_widget_get_window (widget));
-- }
-- send_focus_change (widget, TRUE);
--}
--
--static void
--on_text_buffer_changed (GtkTextBuffer *buffer,
-- GdmEntryMenuItem *item)
--{
-- int len;
--
-- len = gtk_text_buffer_get_char_count (buffer);
-- if (len > TEXT_BUFFER_MAX_CHARS) {
-- gdk_window_beep (gtk_widget_get_window (GTK_WIDGET (item)));
-- }
--}
--
--static void
--on_entry_move_focus (GtkWidget *widget,
-- GtkDirectionType direction,
-- GdmEntryMenuItem *item)
--{
-- g_debug ("focus move");
-- send_focus_change (GTK_WIDGET (GDM_ENTRY_MENU_ITEM (item)->entry), FALSE);
-- g_signal_emit_by_name (item,
-- "move-focus",
-- GTK_DIR_TAB_FORWARD);
--}
--
--static void
--gdm_entry_menu_item_init (GdmEntryMenuItem *item)
--{
-- PangoFontDescription *fontdesc;
-- PangoFontMetrics *metrics;
-- PangoContext *context;
-- PangoLanguage *lang;
-- int ascent;
-- GtkTextBuffer *buffer;
--
-- item->hbox = gtk_hbox_new (FALSE, 6);
-- gtk_container_add (GTK_CONTAINER (item), item->hbox);
--
-- item->image = gtk_image_new ();
-- gtk_box_pack_start (GTK_BOX (item->hbox), item->image, FALSE, FALSE, 0);
--
-- item->entry = gtk_text_view_new ();
-- gtk_text_view_set_accepts_tab (GTK_TEXT_VIEW (item->entry), FALSE);
-- gtk_text_view_set_editable (GTK_TEXT_VIEW (item->entry), TRUE);
-- gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (item->entry),
-- GTK_WRAP_WORD);
-- g_signal_connect (item->entry,
-- "show",
-- G_CALLBACK (on_entry_show),
-- item);
-- g_signal_connect (item->entry,
-- "move-focus",
-- G_CALLBACK (on_entry_move_focus),
-- item);
--
-- buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (item->entry));
-- g_signal_connect (buffer,
-- "changed",
-- G_CALLBACK (on_text_buffer_changed),
-- item);
--
-- /* get the font ascent for the current font and language */
-- context = gtk_widget_get_pango_context (item->entry);
-- fontdesc = pango_context_get_font_description (context);
-- lang = pango_context_get_language (context);
-- metrics = pango_context_get_metrics (context, fontdesc, lang);
-- ascent = pango_font_metrics_get_ascent (metrics) * 1.5 / PANGO_SCALE;
-- pango_font_metrics_unref (metrics);
--
-- /* size our progress bar to be five ascents long */
-- gtk_widget_set_size_request (item->entry, ascent * 5, -1);
--
-- gtk_box_pack_start (GTK_BOX (item->hbox), item->entry, TRUE, TRUE, 0);
--
-- gtk_widget_show (item->hbox);
-- gtk_widget_show (item->image);
-- gtk_widget_show (item->entry);
--}
--
--GtkWidget *
--gdm_entry_menu_item_new (void)
--{
-- return g_object_new (GDM_TYPE_ENTRY_MENU_ITEM, NULL);
--}
--
--GtkWidget *
--gdm_entry_menu_item_get_entry (GdmEntryMenuItem *item)
--{
-- g_return_val_if_fail (GDM_IS_ENTRY_MENU_ITEM (item), NULL);
--
-- return item->entry;
--}
--
--GtkWidget *
--gdm_entry_menu_item_get_image (GdmEntryMenuItem *item)
--{
-- g_return_val_if_fail (GDM_IS_ENTRY_MENU_ITEM (item), NULL);
--
-- return item->image;
--}
-diff --git a/gui/user-switch-applet/gdm-entry-menu-item.h b/gui/user-switch-applet/gdm-entry-menu-item.h
-deleted file mode 100644
-index 3031609..0000000
---- a/gui/user-switch-applet/gdm-entry-menu-item.h
-+++ /dev/null
-@@ -1,51 +0,0 @@
--/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
-- *
-- * Copyright (C) 2004-2005 James M. Cape <jcape@ignore-your.tv>.
-- *
-- * 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
-- */
--
--#ifndef __GDM_ENTRY_MENU_ITEM__
--#define __GDM_ENTRY_MENU_ITEM__
--
--#include <gtk/gtk.h>
--
--G_BEGIN_DECLS
--
--#define GDM_TYPE_ENTRY_MENU_ITEM \
-- (gdm_entry_menu_item_get_type ())
--#define GDM_ENTRY_MENU_ITEM(object) \
-- (G_TYPE_CHECK_INSTANCE_CAST ((object), GDM_TYPE_ENTRY_MENU_ITEM, GdmEntryMenuItem))
--#define GDM_ENTRY_MENU_ITEM_CLASS(klass) \
-- (G_TYPE_CHECK_CLASS_CAST ((klass), GDM_TYPE_ENTRY_MENU_ITEM, GdmEntryMenuItemClass))
--#define GDM_IS_ENTRY_MENU_ITEM(object) \
-- (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDM_TYPE_ENTRY_MENU_ITEM))
--#define GDM_IS_ENTRY_MENU_ITEM_CLASS(klass) \
-- (G_TYPE_CHECK_CLASS_TYPE ((klass), GDM_TYPE_ENTRY_MENU_ITEM))
--#define GDM_ENTRY_MENU_ITEM_GET_CLASS(object) \
-- (G_TYPE_INSTANCE_GET_CLASS ((object), GDM_TYPE_ENTRY_MENU_ITEM, GdmEntryMenuItemClass))
--
--typedef struct _GdmEntryMenuItem GdmEntryMenuItem;
--typedef struct _GdmEntryMenuItemClass GdmEntryMenuItemClass;
--
--GType gdm_entry_menu_item_get_type (void) G_GNUC_CONST;
--
--GtkWidget *gdm_entry_menu_item_new (void);
--GtkWidget *gdm_entry_menu_item_get_entry (GdmEntryMenuItem *item);
--GtkWidget *gdm_entry_menu_item_get_image (GdmEntryMenuItem *item);
--
--G_END_DECLS
--
--#endif /* __GDM_ENTRY_MENU_ITEM__ */
-diff --git a/po/POTFILES.in b/po/POTFILES.in
-index 1fccb90..cc1a3fd 100644
---- a/po/POTFILES.in
-+++ b/po/POTFILES.in
-@@ -84,10 +84,6 @@ gui/simple-greeter/gdm-timer.c
- gui/simple-greeter/gdm-user.c
- gui/simple-greeter/gdm-user-chooser-widget.c
- gui/simple-greeter/greeter-main.c
--gui/user-switch-applet/applet.c
--gui/user-switch-applet/gdm-entry-menu-item.c
--gui/user-switch-applet/GNOME_FastUserSwitchApplet.server.in.in
--gui/user-switch-applet/GNOME_FastUserSwitchApplet.xml
- utils/gdmflexiserver.c
- utils/gdm-screenshot.c
-
-diff --git a/po/POTFILES.skip b/po/POTFILES.skip
-index 0269a0f..ee3d753 100644
---- a/po/POTFILES.skip
-+++ b/po/POTFILES.skip
-@@ -7,7 +7,6 @@
- # remove these unless you fix "make distcheck" a different way.
- #
- data/gdm.schemas.in
--gui/user-switch-applet/GNOME_FastUserSwitchApplet.server.in
- data/greeter-autostart/at-spi-registryd-wrapper.desktop.in
- data/greeter-autostart/gdm-simple-greeter.desktop.in
- data/greeter-autostart/gnome-power-manager.desktop.in
---
-1.6.6.1
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/0002-gdm-user-manager.c-avoid-displaying-system-users-in-.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/0002-gdm-user-manager.c-avoid-displaying-system-users-in-.patch
deleted file mode 100644
index ad21073a0..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/0002-gdm-user-manager.c-avoid-displaying-system-users-in-.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 43e59f3deadb3914a1cc931ae18d4023874cdeca Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Fri, 26 Apr 2013 17:15:48 +0200
-Subject: [PATCH] gdm-user-manager.c: avoid displaying system users in
- greeter's list
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-yocto environment system users have UID below 1000
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- gui/simple-greeter/gdm-user-manager.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/gui/simple-greeter/gdm-user-manager.c b/gui/simple-greeter/gdm-user-manager.c
-index c631989..f18e478 100644
---- a/gui/simple-greeter/gdm-user-manager.c
-+++ b/gui/simple-greeter/gdm-user-manager.c
-@@ -63,7 +63,7 @@
- #ifdef __sun
- #define FALLBACK_MINIMAL_UID 100
- #else
--#define FALLBACK_MINIMAL_UID 500
-+#define FALLBACK_MINIMAL_UID 1000
- #endif
-
- #ifndef _PATH_SHELLS
---
-1.7.4.4
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/sysrooted-pkg-config.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/sysrooted-pkg-config.patch
deleted file mode 100644
index 1f9fa2ac2..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/sysrooted-pkg-config.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-In cross environment we have to prepend the sysroot to the path found by
-pkgconfig since the path returned from pkgconfig does not have sysroot prefixed
-it ends up using the files from host system. Now usually people have gnome installed
-so the build succeeds but if you dont have gnome installed on build host then
-it wont find the files on host system and packages using gnome-doc-utils wont
-compile.
-
-This should work ok with non sysrooted builds too since in those cases PKG_CONFIG_SYSROOT_DIR
-will be empty
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Index: gdm-2.32.2/gnome-doc-utils.make
-===================================================================
---- gdm-2.32.2.orig/gnome-doc-utils.make 2011-05-31 08:06:59.000000000 -0700
-+++ gdm-2.32.2/gnome-doc-utils.make 2011-09-25 15:32:39.540992521 -0700
-@@ -133,12 +133,12 @@
- _xml2po ?= `which xml2po`
- _xml2po_mode = $(if $(DOC_ID),mallard,docbook)
-
--_db2html ?= `$(PKG_CONFIG) --variable db2html gnome-doc-utils`
--_db2omf ?= `$(PKG_CONFIG) --variable db2omf gnome-doc-utils`
--_malrng ?= `$(PKG_CONFIG) --variable malrng gnome-doc-utils`
--_chunks ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/chunks.xsl
--_credits ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/credits.xsl
--_ids ?= $(shell $(PKG_CONFIG) --variable xmldir gnome-doc-utils)/gnome/xslt/docbook/utils/ids.xsl
-+_db2html ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable db2html gnome-doc-utils`
-+_db2omf ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable db2omf gnome-doc-utils`
-+_malrng ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable malrng 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
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
deleted file mode 100644
index 64785ca1c..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_2.32.2.bb
+++ /dev/null
@@ -1,108 +0,0 @@
-SUMMARY = "Graphical login manager"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-DEPENDS = "xinput gnome-panel tcp-wrappers libcanberra libxklavier grep consolekit libpam gnome-doc-utils gtk+ xrdb"
-
-PR = "r18"
-
-inherit gnome update-rc.d systemd useradd
-
-SRC_URI += " \
- file://cross-xdetection.diff \
- file://0001-Remove-user-switch-applet.patch \
- file://0002-gdm-user-manager.c-avoid-displaying-system-users-in-.patch \
- file://sysrooted-pkg-config.patch \
- file://%gconf-tree.xml \
- file://gdm \
- file://gdm.conf \
- file://gdm-pam \
- file://Default \
- file://gdm.service.in \
-"
-
-SRC_URI[archive.md5sum] = "dbe5187a2e17881cc454e313e0ae8d1e"
-SRC_URI[archive.sha256sum] = "034d23af0ea18d86e5543e707212d9297ec7d83f221808968af266dbebc0e703"
-GNOME_COMPRESS_TYPE="bz2"
-
-EXTRA_OECONF = " \
- --enable-authentication-scheme=shadow \
- --enable-debug=yes \
- --with-console-kit \
- --disable-scrollkeeper \
-"
-
-do_configure_prepend() {
- sed -i -e "s:\bdocs::g" ${S}/Makefile.am
- rm -f ${S}/m4/gnome-doc-utils.m4
-}
-
-do_install_prepend() {
- install -d ${D}/${localstatedir}/lib/gdm/.gconf.mandatory
- install ${WORKDIR}/%gconf-tree.xml ${D}/${localstatedir}/lib/gdm/.gconf.mandatory/
-}
-
-do_install_append() {
- install -d ${D}/${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/gdm ${D}/${sysconfdir}/init.d/
-
- install -d ${D}/${sysconfdir}/gdm
- install -m 0644 ${WORKDIR}/gdm.conf ${D}/${sysconfdir}/gdm/
-
- install -d ${D}/${sysconfdir}/pam.d
- install -m 0755 ${WORKDIR}/gdm-pam ${D}/${sysconfdir}/pam.d/gdm
- rm -f ${D}/${sysconfdir}/pam.d/gdm-autologin
-
- install -d ${D}/${sysconfdir}/gdm/Init
- install -m 0755 ${WORKDIR}/Default ${D}/${sysconfdir}/gdm/Init
-
- install -d ${D}${systemd_unitdir}/system
- sed -e 's,%sbindir%,${sbindir},g' \
- < ${WORKDIR}/gdm.service.in \
- > ${D}${systemd_unitdir}/system/gdm.service
-
- chown -R gdm:gdm ${D}${localstatedir}/lib/gdm
- chmod 0750 ${D}${localstatedir}/lib/gdm
-
- rm -rf "${D}${localstatedir}/run"
- rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
-
- rm -f ${D}${datadir}/gdm/autostart/LoginWindow/at-spi-registryd-wrapper.desktop
- rm -f ${D}${datadir}/gdm/autostart/LoginWindow/orca-screen-reader.desktop
- rm -f ${D}${datadir}/gdm/autostart/LoginWindow/gnome-mag.desktop
- rm -f ${D}${datadir}/gdm/autostart/LoginWindow/gok.desktop
- rm -f ${D}${datadir}/gdm/autostart/LoginWindow/metacity.desktop
-}
-
-FILES_${PN} += "${datadir}/icon* \
- ${datadir}/xsession* \
-"
-
-RDEPENDS_${PN} += "grep dbus-x11 shadow"
-# "libpam-base-files"
-CONFFILES_${PN} += "${sysconfdir}/gdm/gdm.conf ${sysconfdir}/init.d/gdm"
-RRECOMMENDS_${PN} += "openssh-misc desktop-file-utils glib-2.0-utils metacity gnome-session polkit-gnome consolekit"
-
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "gdm.service"
-
-INITSCRIPT_NAME = "gdm"
-INITSCRIPT_PARAMS = "start 99 5 . stop 20 0 1 2 3 6 ."
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system --no-create-home --home ${localstatedir}/lib/gdm --user-group gdm"
-
-pkg_postinst_${PN} () {
-# Register up as default dm
-mkdir -p $D${sysconfdir}/X11/
-echo "${bindir}/gdm" > $D${sysconfdir}/X11/default-display-manager
-}
-
-pkg_postrm_${PN} () {
- deluser gdm || true
- delgroup gdm || true
- sed -i /gdm/d ${sysconfdir}/X11/default-display-manager || true
-}
-
-PNBLACKLIST[gdm] ?= "Depends on broken gnome-panel - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_2.32.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_2.32.0.bb
deleted file mode 100644
index 235b02a2f..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_2.32.0.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Gnome background images"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-SECTION = "x11/gnome"
-
-# glib-2.0 for glib-gettext.m4 which provides AM_GLIB_GNU_GETTEXT
-# intltool-native for IT_PROG_INTLTOOL(0.35.0)
-DEPENDS = "glib-2.0 intltool-native"
-
-inherit gnomebase
-
-SRC_URI[archive.md5sum] = "3df26626483b02e51adefc6ab5945a8d"
-SRC_URI[archive.sha256sum] = "4d7b60b5ba768bf8834b5fa3a3471cd9a9e14b5884bc210dc2d3cdbf1faddcef"
-GNOME_COMPRESS_TYPE="bz2"
-
-FILES_${PN} += "${datadir}/gnome-background-properties"
-
-
-PNBLACKLIST[gnome-backgrounds] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130647/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
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
deleted file mode 100644
index 201783e91..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_2.32.1.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "GNOME control center"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-DEPENDS = "desktop-file-utils-native gnome-menus libunique dbus-glib gnome-desktop libxml2 metacity gconf gnome-settings-daemon librsvg pango libgnomekbd libxklavier libcanberra libgtop libxscrnsaver"
-
-PR = "r1"
-
-inherit gnome
-
-SRC_URI[archive.md5sum] = "b4e8ab5c7556ae07addbfcfb4fa2f761"
-SRC_URI[archive.sha256sum] = "7c568b57358e5c08f4d8dd76dbac7df2539135ad081872b60514b7a8ac797e66"
-GNOME_COMPRESS_TYPE="bz2"
-
-LDFLAGS += "-lgthread-2.0 -lxml2"
-
-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
-}
-
-FILES_${PN} += "${datadir}/icon* \
- ${datadir}/xsession* \
- ${libdir}/window-manager-settings/*.so \
- ${datadir}/gnome \
- ${datadir}/desktop-directories \
-"
-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 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
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
deleted file mode 100644
index f1dafad2e..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_2.32.1.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "GNOME library for reading .desktop files"
-SECTION = "x11/gnome"
-LICENSE = "GPLv2 & LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2"
-
-PR = "r6"
-
-inherit gnome pkgconfig
-
-SRC_URI[archive.md5sum] = "5c80d628a240eb9d9ff78913b31f2f67"
-SRC_URI[archive.sha256sum] = "55cbecf67efe1fa1e57ac966520a7c46d799c8ba3c652a1219f60cafccb3739d"
-GNOME_COMPRESS_TYPE="bz2"
-
-DEPENDS += "gconf libxrandr virtual/libx11 gtk+ glib-2.0 gnome-doc-utils startup-notification intltool-native gnome-common-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"
-FILES_libgnome-desktop = "${libdir}/lib*${SOLIBS} ${datadir}/libgnome-desktop/pnp.ids"
-FILES_${PN} += "${datadir}/gnome-about"
-
-PNBLACKLIST[gnome-desktop] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130595/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/0001-Add-support-for-DeviceAutomountHint.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/0001-Add-support-for-DeviceAutomountHint.patch
deleted file mode 100644
index 805e93776..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/0001-Add-support-for-DeviceAutomountHint.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From 7dde5bc75a1d96be9510ce1e98d28f9d33520919 Mon Sep 17 00:00:00 2001
-From: David Zeuthen <davidz@redhat.com>
-Date: Fri, 8 Jul 2011 11:03:52 -0400
-Subject: [PATCH] Add support for DeviceAutomountHint
-
-Based on the patch in https://bugzilla.gnome.org/show_bug.cgi?id=653184
-
-Upstream-Status: Applied [1]
-
-[1] https://mail.gnome.org/archives/commits-list/2011-July/msg03207.html
-
-Signed-off-by: David Zeuthen <davidz@redhat.com>
----
- src/gdu/gdu-device.c | 10 ++++++++++
- src/gdu/gdu-device.h | 1 +
- 2 files changed, 11 insertions(+), 0 deletions(-)
-
-diff --git a/src/gdu/gdu-device.c b/src/gdu/gdu-device.c
-index 6a5afad..4be39cf 100644
---- a/src/gdu/gdu-device.c
-+++ b/src/gdu/gdu-device.c
-@@ -82,6 +82,7 @@ typedef struct
- gboolean device_presentation_nopolicy;
- char *device_presentation_name;
- char *device_presentation_icon_name;
-+ char *device_automount_hint;
- guint64 device_size;
- guint64 device_block_size;
-
-@@ -279,6 +280,8 @@ collect_props (const char *key,
- props->device_presentation_name = g_strdup (g_value_get_string (value));
- else if (strcmp (key, "DevicePresentationIconName") == 0)
- props->device_presentation_icon_name = g_strdup (g_value_get_string (value));
-+ else if (strcmp (key, "DeviceAutomountHint") == 0)
-+ props->device_automount_hint = g_strdup (g_value_get_string (value));
- else if (strcmp (key, "DeviceSize") == 0)
- props->device_size = g_value_get_uint64 (value);
- else if (strcmp (key, "DeviceBlockSize") == 0)
-@@ -549,6 +552,7 @@ device_properties_free (DeviceProperties *props)
- g_strfreev (props->device_mount_paths);
- g_free (props->device_presentation_name);
- g_free (props->device_presentation_icon_name);
-+ g_free (props->device_automount_hint);
- g_free (props->job_id);
- g_free (props->id_usage);
- g_free (props->id_type);
-@@ -1294,6 +1298,12 @@ gdu_device_drive_get_media_compatibility (GduDevice *device)
- }
-
- const char *
-+gdu_device_get_automount_hint (GduDevice *device)
-+{
-+ return device->priv->props->device_automount_hint;
-+}
-+
-+const char *
- gdu_device_drive_get_media (GduDevice *device)
- {
- return device->priv->props->drive_media;
-diff --git a/src/gdu/gdu-device.h b/src/gdu/gdu-device.h
-index 4c1302b..8cfd7a9 100644
---- a/src/gdu/gdu-device.h
-+++ b/src/gdu/gdu-device.h
-@@ -143,6 +143,7 @@ const char *gdu_device_drive_get_wwn (GduDevice *device);
- const char *gdu_device_drive_get_connection_interface (GduDevice *device);
- guint64 gdu_device_drive_get_connection_speed (GduDevice *device);
- char **gdu_device_drive_get_media_compatibility (GduDevice *device);
-+const gchar *gdu_device_get_automount_hint(GduDevice *device);
- const char *gdu_device_drive_get_media (GduDevice *device);
- gboolean gdu_device_drive_get_is_media_ejectable (GduDevice *device);
- gboolean gdu_device_drive_get_requires_eject (GduDevice *device);
---
-1.7.6.5
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/0002-Require-libnotify-0.6.1.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/0002-Require-libnotify-0.6.1.patch
deleted file mode 100644
index 0bc9707c2..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/0002-Require-libnotify-0.6.1.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From f8dea8dd411cba10a54ec083c3d5c9d641ec36c0 Mon Sep 17 00:00:00 2001
-From: William Jon McCann <jmccann@redhat.com>
-Date: Tue, 12 Oct 2010 00:12:49 -0400
-Subject: [PATCH] Require libnotify 0.6.1
-
-https://bugzilla.gnome.org/show_bug.cgi?id=631940
-
-Upstream-Status: Backport [1]
-
-[1] https://git.gnome.org/browse/gnome-disk-utility/commit/?id=f8dea8dd411cba10a54ec083c3d5c9d641ec36c0
-
-Signed-off-by: David Zeuthen <davidz@redhat.com>
----
- configure.ac | 2 +-
- src/notification/notification-main.c | 5 +----
- 2 files changed, 2 insertions(+), 5 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index c61212e..3790fcf 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -128,7 +128,7 @@ DBUS_GLIB_REQUIRED=0.74
- GNOME_KEYRING_REQUIRED=2.22
- GTK2_REQUIRED=2.20.0
- UNIQUE_REQUIRED=1.0
--LIBNOTIFY_REQUIRED=0.3.0
-+LIBNOTIFY_REQUIRED=0.6.1
- NAUTILUS_REQUIRED=2.24.0
- AVAHI_UI_REQUIRED=0.6.25
-
-diff --git a/src/notification/notification-main.c b/src/notification/notification-main.c
-index 18e9672..b6a713f 100644
---- a/src/notification/notification-main.c
-+++ b/src/notification/notification-main.c
-@@ -535,10 +535,7 @@ update_status_icon (NotificationData *data)
- _("A hard disk may be failing"),
- /* Translators: This is used as the text of the notification*/
- _("One or more hard disks report health problems. Click the icon to get more information."),
-- "gtk-dialog-warning",
-- NULL);
-- notify_notification_attach_to_status_icon (data->ata_smart_notification,
-- data->status_icon);
-+ "gtk-dialog-warning");
- notify_notification_set_urgency (data->ata_smart_notification, NOTIFY_URGENCY_CRITICAL);
- notify_notification_set_timeout (data->ata_smart_notification, NOTIFY_EXPIRES_NEVER);
- show_notification (data);
---
-2.1.0
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/disable-scrollkeeper.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/disable-scrollkeeper.patch
deleted file mode 100644
index f36942d19..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/disable-scrollkeeper.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
-Subject: Disable scrollkeeper-config not found message
-Upstream-Status: Not-Applicable
-
-If scrollkeeper-config isn't found, configure fails with an error.
-Fix that by commenting out the check.
-
-Signed-Off-By: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
-
-
-Index: gnome-disk-utility-2.32.0/configure.ac
-===================================================================
---- gnome-disk-utility-2.32.0.orig/configure.ac 2010-09-15 19:07:25.000000000 +0400
-+++ gnome-disk-utility-2.32.0/configure.ac 2011-08-20 01:29:48.000000000 +0400
-@@ -188,9 +188,9 @@
- # *************
-
- AC_PATH_PROG(SCROLLKEEPER_CONFIG, scrollkeeper-config,no)
--if test x$SCROLLKEEPER_CONFIG = xno; then
-- AC_MSG_ERROR(Couldn't find scrollkeeper-config, please install the scrollkeeper package)
--fi
-+dnl if test x$SCROLLKEEPER_CONFIG = xno; then
-+dnl AC_MSG_ERROR([Couldn't find scrollkeeper-config, please install the scrollkeeper package])
-+dnl fi
-
- # ********************
- # Internationalization
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/fix-dbus-interfaces.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/fix-dbus-interfaces.patch
deleted file mode 100644
index 6ba397955..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/fix-dbus-interfaces.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-Index: gnome-disk-utility-2.32.0/src/gdu/Makefile.am
-===================================================================
---- gnome-disk-utility-2.32.0.orig/src/gdu/Makefile.am 2011-08-20 01:59:16.000000000 +0400
-+++ gnome-disk-utility-2.32.0/src/gdu/Makefile.am 2011-08-20 02:08:18.000000000 +0400
-@@ -14,20 +14,20 @@
- gdu-marshal.c: gdu-marshal.list
- echo "#include \"gdu-marshal.h\"" > $@ && glib-genmarshal $< --prefix=gdu_marshal --body >> $@
-
--udisks-daemon-glue.h: /usr/share/dbus-1/interfaces/org.freedesktop.UDisks.xml Makefile.am
-- dbus-binding-tool --prefix=devkit_disks_daemon --mode=glib-client --output=udisks-daemon-glue.h /usr/share/dbus-1/interfaces/org.freedesktop.UDisks.xml
-+udisks-daemon-glue.h: $(PKG_CONFIG_SYSROOT_DIR)/usr/share/dbus-1/interfaces/org.freedesktop.UDisks.xml Makefile.am
-+ dbus-binding-tool --prefix=devkit_disks_daemon --mode=glib-client --output=udisks-daemon-glue.h $(PKG_CONFIG_SYSROOT_DIR)/usr/share/dbus-1/interfaces/org.freedesktop.UDisks.xml
-
--udisks-device-glue.h: /usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Device.xml Makefile.am
-- dbus-binding-tool --prefix=devkit_disks_daemon --mode=glib-client --output=udisks-device-glue.h /usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Device.xml
-+udisks-device-glue.h: $(PKG_CONFIG_SYSROOT_DIR)/usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Device.xml Makefile.am
-+ dbus-binding-tool --prefix=devkit_disks_daemon --mode=glib-client --output=udisks-device-glue.h $(PKG_CONFIG_SYSROOT_DIR)/usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Device.xml
-
--udisks-adapter-glue.h: /usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Adapter.xml Makefile.am
-- dbus-binding-tool --prefix=devkit_disks_daemon --mode=glib-client --output=udisks-adapter-glue.h /usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Adapter.xml
-+udisks-adapter-glue.h: $(PKG_CONFIG_SYSROOT_DIR)/usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Adapter.xml Makefile.am
-+ dbus-binding-tool --prefix=devkit_disks_daemon --mode=glib-client --output=udisks-adapter-glue.h $(PKG_CONFIG_SYSROOT_DIR)/usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Adapter.xml
-
--udisks-expander-glue.h: /usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Expander.xml Makefile.am
-- dbus-binding-tool --prefix=devkit_disks_daemon --mode=glib-client --output=udisks-expander-glue.h /usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Expander.xml
-+udisks-expander-glue.h: $(PKG_CONFIG_SYSROOT_DIR)/usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Expander.xml Makefile.am
-+ dbus-binding-tool --prefix=devkit_disks_daemon --mode=glib-client --output=udisks-expander-glue.h $(PKG_CONFIG_SYSROOT_DIR)/usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Expander.xml
-
--udisks-port-glue.h: /usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Port.xml Makefile.am
-- dbus-binding-tool --prefix=devkit_disks_daemon --mode=glib-client --output=udisks-port-glue.h /usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Port.xml
-+udisks-port-glue.h: $(PKG_CONFIG_SYSROOT_DIR)/usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Port.xml Makefile.am
-+ dbus-binding-tool --prefix=devkit_disks_daemon --mode=glib-client --output=udisks-port-glue.h $(PKG_CONFIG_SYSROOT_DIR)/usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Port.xml
-
- lib_LTLIBRARIES=libgdu.la
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/sysrooted-pkg-config.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/sysrooted-pkg-config.patch
deleted file mode 100644
index 48e63b1ea..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/sysrooted-pkg-config.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-In cross environment we have to prepend the sysroot to the path found by
-pkgconfig since the path returned from pkgconfig does not have sysroot prefixed
-it ends up using the files from host system. Now usually people have gnome installed
-so the build succeeds but if you dont have gnome installed on build host then
-it wont find the files on host system and packages using gnome-doc-utils wont
-compile.
-
-This should work ok with non sysrooted builds too since in those cases PKG_CONFIG_SYSROOT_DIR
-will be empty
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Index: gnome-disk-utility-2.32.0/gnome-doc-utils.make
-===================================================================
---- gnome-disk-utility-2.32.0.orig/gnome-doc-utils.make 2010-09-15 08:27:46.000000000 -0700
-+++ gnome-disk-utility-2.32.0/gnome-doc-utils.make 2011-09-25 16:04:30.693795591 -0700
-@@ -133,12 +133,12 @@
- _xml2po ?= `which xml2po`
- _xml2po_mode = $(if $(DOC_ID),mallard,docbook)
-
--_db2html ?= `$(PKG_CONFIG) --variable db2html gnome-doc-utils`
--_db2omf ?= `$(PKG_CONFIG) --variable db2omf gnome-doc-utils`
--_malrng ?= `$(PKG_CONFIG) --variable malrng gnome-doc-utils`
--_chunks ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/chunks.xsl
--_credits ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/credits.xsl
--_ids ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/ids.xsl
-+_db2html ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable db2html gnome-doc-utils`
-+_db2omf ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable db2omf gnome-doc-utils`
-+_malrng ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable malrng 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}`$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/ids.xsl
-
- if ENABLE_SK
- _ENABLE_SK = true
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
deleted file mode 100644
index 55a589c3f..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_2.32.0.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "GNOME disk utility"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e9115d11797a5e6b746b4e9b90194564"
-
-DEPENDS = "glib-2.0 gtk+ libnotify libunique udisks avahi-ui \
- virtual/libx11 libatasmart gnome-doc-utils intltool-native \
- gnome-common-native libgnome-keyring dbus-glib-native \
-"
-
-PR = "r4"
-
-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"
-
-SRC_URI += "\
- file://disable-scrollkeeper.patch \
- file://fix-dbus-interfaces.patch \
- file://sysrooted-pkg-config.patch \
- file://0001-Add-support-for-DeviceAutomountHint.patch \
- file://0002-Require-libnotify-0.6.1.patch \
-"
-
-EXTRA_OECONF += "--disable-scrollkeeper"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[nautilus] = "--enable-nautilus,--disable-nautilus,nautilus"
-
-do_configure_prepend() {
- sed -i -e "s: help : :g" ${S}/Makefile.am
-}
-
-PACKAGES =+ "${PN}-nautilus-extension ${PN}-libs"
-FILES_${PN}-nautilus-extension += "${libdir}/nautilus/extensions-2.0/*.so"
-FILES_${PN}-libs += "${libdir}/libgdu*.so.*"
-FILES_${PN}-dev += "${libdir}/nautilus/extensions-2.0/*.la"
-FILES_${PN}-staticdev += "${libdir}/nautilus/extensions-2.0/*.a"
-FILES_${PN}-dbg += "${libdir}/nautilus/extensions-2.0/.debug"
-
-PNBLACKLIST[gnome-disk-utility] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/132824/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/musl.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/musl.patch
new file mode 100644
index 000000000..050b87ab2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/musl.patch
@@ -0,0 +1,17 @@
+include sys/select.h for FD_* macros
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+Index: gnome-keyring-2.32.1/pkcs11/rpc-layer/gkm-rpc-daemon-standalone.c
+===================================================================
+--- gnome-keyring-2.32.1.orig/pkcs11/rpc-layer/gkm-rpc-daemon-standalone.c
++++ gnome-keyring-2.32.1/pkcs11/rpc-layer/gkm-rpc-daemon-standalone.c
+@@ -32,6 +32,7 @@
+ #include <unistd.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <sys/select.h>
+
+ #include <dlfcn.h>
+ #include <pthread.h>
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 4ac75cbef..fd6ca73a4 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
@@ -15,11 +15,15 @@ PR = "r12"
inherit autotools gnome gtk-doc pkgconfig gsettings
-SRC_URI += "file://egg-asn1x.patch"
+SRC_URI += "file://egg-asn1x.patch \
+ file://musl.patch \
+"
DEPENDS = "gtk+ libgcrypt libtasn1 libtasn1-native gconf ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} intltool-native"
RDEPENDS_${PN} = "libgnome-keyring glib-2.0-utils"
+LDFLAGS += "-lgmodule-2.0"
+
EXTRA_OECONF = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam --with-pam-dir=${base_libdir}/security', '--disable-pam', d)}"
SRC_URI[archive.md5sum] = "9a8aa74e03361676f29d6e73155786fc"
@@ -42,4 +46,11 @@ FILES_${PN}-dbg += "${libdir}/${BPN}/standalone/.debug/ \
${libdir}/${BPN}/devel/.debug/ \
${base_libdir}/security/.debug/"
-PNBLACKLIST[gnome-keyring] ?= "This version conflicts with gcr from oe-core - the recipe will be removed on 2017-09-01 unless the issue is fixed"
+# Make compatible with gcr version 3 or newer by removing
+# org.gnome.crypto.pgp.*, which is the provider for this optional
+# functionality.
+
+do_install_append() {
+ rm ${D}${datadir}/GConf/gsettings/org.gnome.crypto.pgp.convert
+ rm ${D}${datadir}/glib-2.0/schemas/org.gnome.crypto.pgp.gschema.xml
+}
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus_2.30.5.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus_2.30.5.bb
deleted file mode 100644
index d1c9e4d8f..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus_2.30.5.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "GNOME menus"
-SECTION = "x11/gnome"
-LICENSE = "GPLv2 & LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2"
-PR = "r1"
-
-DEPENDS = "python libxml2 gconf popt gtk+ intltool-native"
-
-inherit gnomebase pkgconfig python-dir pythonnative gobject-introspection
-
-SRC_URI[archive.md5sum] = "caa6772e63ed5870cf43dc3d354e0624"
-SRC_URI[archive.sha256sum] = "6dcc565006d6e8c2025ae83ab1f82edf6bd04d61c804c0dc9bf5ea50629c4caa"
-GNOME_COMPRESS_TYPE="bz2"
-
-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-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 + conflicts with gnome-menu3 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
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
deleted file mode 100644
index fdcccb9d7..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/0001-Add-gnome-doc-utils.make.patch
+++ /dev/null
@@ -1,730 +0,0 @@
-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-panel/0001-Fix-build-with-gcc-5.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/0001-Fix-build-with-gcc-5.patch
deleted file mode 100644
index 6b7fc5bec..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/0001-Fix-build-with-gcc-5.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 20810fcf329c6e0b48b8e7602565ccc70c7ce62b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 10 May 2015 02:10:59 -0700
-Subject: [PATCH] Fix build with gcc 5
-
-cc1: error: ../../gnome-panel/libpanel-applets-private: No such file or
-directory [-Werror=missing-include-dirs]
-cc1: error: ../../gnome-panel/libpanel-applets-private: No such file or
-directory [-Werror=missing-include-dirs]
-cc1: error: ../../gnome-panel/libpanel-applets-private: No such file or
-directory [-Werror=missing-include-dirs]
-cc1: some warnings being treated as errors
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- gnome-panel/libpanel-applet-private/Makefile.am | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/gnome-panel/libpanel-applet-private/Makefile.am b/gnome-panel/libpanel-applet-private/Makefile.am
-index f12dee8..d556f12 100644
---- a/gnome-panel/libpanel-applet-private/Makefile.am
-+++ b/gnome-panel/libpanel-applet-private/Makefile.am
-@@ -8,7 +8,6 @@ AM_CPPFLAGS = \
- -I$(srcdir) \
- -I$(top_srcdir)/gnome-panel \
- -I$(top_builddir)/gnome-panel \
-- -I$(top_builddir)/gnome-panel/libpanel-applets-private \
- -I$(top_builddir)/gnome-panel/libpanel-util \
- -DDATADIR=\""$(datadir)"\" \
- -DPANEL_APPLETS_DIR=\"$(appletsdir)\" \
---
-2.1.4
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/as-needed.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/as-needed.patch
deleted file mode 100644
index 378e3e405..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/as-needed.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From c65f1ae3472cfd4cd96fd376b7bbd95fba5eef0a Mon Sep 17 00:00:00 2001
-From: Vincent Untz <vuntz@gnome.org>
-Date: Fri, 27 May 2011 17:00:14 +0000
-Subject: build: Fix build with --as-needed
-
-upstream-status: backport
-
----
-diff --git a/applets/notification_area/Makefile.am b/applets/notification_area/Makefile.am
-index 0afc6c5..9734536 100644
---- a/applets/notification_area/Makefile.am
-+++ b/applets/notification_area/Makefile.am
-@@ -29,17 +29,17 @@ libtray_la_SOURCES = \
- NOTIFICATION_AREA_SOURCES = main.c main.h
-
- NOTIFICATION_AREA_LDADD = \
-+ libtray.la \
- ../../libpanel-applet/libpanel-applet-4.la \
- $(X_LIBS) \
- $(NOTIFICATION_AREA_LIBS) \
-- $(LIBPANEL_APPLET_LIBS) \
-- libtray.la
-+ $(LIBPANEL_APPLET_LIBS)
-
- testtray_SOURCES = testtray.c
- testtray_LDADD = \
-+ libtray.la \
- $(X_LIBS) \
-- $(NOTIFICATION_AREA_LIBS) \
-- libtray.la
-+ $(NOTIFICATION_AREA_LIBS)
-
- if NOTIFICATION_AREA_INPROCESS
- APPLET_IN_PROCESS = true
---
-cgit v0.9
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/idl-sysroot.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/idl-sysroot.patch
deleted file mode 100644
index de4cd8486..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/idl-sysroot.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- /tmp/Makefile.am 2009-10-26 16:53:20.000000000 +0100
-+++ gnome-panel-2.28.0/gnome-panel/Makefile.am 2009-10-26 16:53:51.000000000 +0100
-@@ -43,7 +43,7 @@
- $(NULL)
-
- $(CORBA_SRCLIST): $(top_srcdir)/idl/GNOME_Panel.idl $(ORBIT_IDL)
-- $(AM_V_GEN)$(ORBIT_IDL) -I $(BONOBO_IDLDIR) -I $(BONOBO_ACT_IDLDIR) $(top_srcdir)/idl/GNOME_Panel.idl
-+ $(AM_V_GEN)$(ORBIT_IDL) -I $(SYSROOT)$(BONOBO_IDLDIR) -I $(SYSROOT)$(BONOBO_ACT_IDLDIR) $(top_srcdir)/idl/GNOME_Panel.idl
-
- BUILT_SOURCES = \
- $(CORBA_SRCLIST) \
---- /tmp/Makefile.am 2009-10-26 16:54:17.000000000 +0100
-+++ gnome-panel-2.28.0/libpanel-applet/Makefile.am 2009-10-26 16:54:34.000000000 +0100
-@@ -45,7 +45,7 @@
- GNOME_Panel.h
-
- $(CORBA_SRCLIST): $(top_srcdir)/idl/GNOME_Panel.idl $(ORBIT_IDL)
-- $(AM_V_GEN)$(ORBIT_IDL) -I $(BONOBO_IDLDIR) -I $(BONOBO_ACT_IDLDIR) $(top_srcdir)/idl/GNOME_Panel.idl
-+ $(AM_V_GEN)$(ORBIT_IDL) -I $(SYSROOT)$(BONOBO_IDLDIR) -I $(SYSROOT)$(BONOBO_ACT_IDLDIR) $(top_srcdir)/idl/GNOME_Panel.idl
-
- noinst_PROGRAMS = test-bonobo-applet
-
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
deleted file mode 100644
index d1cfab8fb..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel3_3.0.2.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-SUMMARY = "GNOME panel"
-LICENSE = "GPLv2 & LGPLv2 & GFDL-1.1"
-
-BPN = "gnome-panel"
-PR = "r1"
-
-PNBLACKLIST[gnome-panel3] ?= "CONFLICT: depends on libgweather3 which conflicts with libgweather - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-# conflicts with gnome-panel, because they provide the same package
-# http://patches.openembedded.org/patch/43105/
-EXCLUDE_FROM_WORLD = "1"
-DEFAULT_PREFERENCE = "-1"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYING-DOCS;md5=c9211dab3ae61e580f48432020784324 \
- file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2"
-
-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"
-
-inherit gtk-doc gnome gettext pkgconfig
-
-SRC_URI += "file://as-needed.patch "
-
-SRC_URI[archive.md5sum] = "0f2f644dc4081b72f6df7a65282af7c6"
-SRC_URI[archive.sha256sum] = "25db8ec026c4bf47f0ef5cc7e2712f2aad175bd7fb8e4952ef5f8b200f17f196"
-
-EXTRA_OECONF = "--disable-scrollkeeper --disable-eds --enable-bonobo=no --with-in-process-applets=none"
-
-do_configure_prepend() {
- gnome-doc-prepare --automake
- sed -i -e s:help:: ${S}/Makefile.am
-}
-
-pkg_postinst_${PN}_append () {
- gconftool-2 --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults \
- --direct --load /etc/gconf/schemas/panel-default-setup.entries
-}
-
-PACKAGES =+ "libpanel-applet"
-FILES_libpanel-applet = "${libdir}/libpanel-applet-3.so.*"
-
-FILES_${PN} =+ "${datadir}/gnome* \
- ${datadir}/dbus-1 \
- ${datadir}/icons \
- ${datadir}/PolicyKit \
- ${libdir}/bonobo \
-"
-
-PNBLACKLIST[gnome-panel3] ?= "Depends on broken gnome-menus - the recipe will be removed on 2017-09-01 unless the issue is fixed"
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
deleted file mode 100644
index 7cb8b9ddf..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_2.32.1.bb
+++ /dev/null
@@ -1,48 +0,0 @@
-SUMMARY = "GNOME panel"
-LICENSE = "GPL-2.0 & LGPL-2.0 & GFDL-1.1"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYING-DOCS;md5=c9211dab3ae61e580f48432020784324 \
- file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2"
-
-SECTION = "x11/gnome"
-
-PR = "r7"
-
-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
-
-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"
-
-EXTRA_OECONF = "--disable-scrollkeeper --disable-eds --enable-bonobo=no --with-in-process-applets=none"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[networkmanager] = "--enable-network-manager,--disable-network-manager,networkmanager"
-
-do_configure_prepend() {
- sed -i -e s:help:: ${S}/Makefile.am
- sed -i -e s:^#!@PYTHON@:#!/usr/bin/python: ${S}/gnome-panel/gnome-panel-add.in
-}
-
-PACKAGES =+ "libpanel-applet"
-FILES_libpanel-applet = "${libdir}/libpanel-applet-*.so.*"
-
-FILES_${PN} =+ "${datadir}/gnome* \
- ${datadir}/dbus-1 \
- ${datadir}/icons \
- ${datadir}/PolicyKit \
- ${libdir}/bonobo \
-"
-
-PNBLACKLIST[gnome-panel] ?= "Depends on broken libgweather - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager-2.32.0/0001-Makefile.am-don-t-build-help-man.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager-2.32.0/0001-Makefile.am-don-t-build-help-man.patch
deleted file mode 100644
index d6d49bbda..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager-2.32.0/0001-Makefile.am-don-t-build-help-man.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 3ed15a3c6ae4ab94c7e3af306644bb5d7f3fd1fa Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Mon, 29 Apr 2013 13:08:10 +0200
-Subject: [PATCH] Makefile.am: don't build help/man
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-help crashes with:
-
-| xsltproc -o gnome-power-manager-C.omf --stringparam db2omf.basename gnome-power-manager --stringparam db2omf.format 'docbook' --stringparam db2omf.dtd "-//OASIS//DTD DocBook XML V4.3//EN" --stringparam db2omf.lang C --stringparam db2omf.omf_dir "/usr/share/omf" --stringparam db2omf.help_dir "/usr/share/gnome/help" --stringparam db2omf.omf_in "/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/gnome-power-manager/2.32.0-r2/gnome-power-manager-2.32.0/help/gnome-power-manager.omf.in" /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm`/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/bin/pkg-config --variable db2omf gnome-doc-utils` C/gnome-power-manager.xml || { rm -f "gnome-power-manager-C.omf"; exit 1; }
-| unable to parse fr/gnome-power-manager.xml
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- Makefile.am | 2 --
- 1 files changed, 0 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 005b8a0..5b9e318 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -5,9 +5,7 @@ SUBDIRS = \
- src \
- po \
- docs \
-- man \
- data \
-- help \
- policy \
- tools
-
---
-1.7.6.5
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager-2.32.0/sysrooted-pkg-config.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager-2.32.0/sysrooted-pkg-config.patch
deleted file mode 100644
index f3db7ab6e..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager-2.32.0/sysrooted-pkg-config.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-In cross environment we have to prepend the sysroot to the path found by
-pkgconfig since the path returned from pkgconfig does not have sysroot prefixed
-it ends up using the files from host system. Now usually people have gnome installed
-so the build succeeds but if you dont have gnome installed on build host then
-it wont find the files on host system and packages using gnome-doc-utils wont
-compile.
-
-This should work ok with non sysrooted builds too since in those cases PKG_CONFIG_SYSROOT_DIR
-will be empty
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Index: gnome-power-manager-2.32.0/gnome-doc-utils.make
-===================================================================
---- gnome-power-manager-2.32.0.orig/gnome-doc-utils.make 2010-01-27 08:28:31.000000000 -0800
-+++ gnome-power-manager-2.32.0/gnome-doc-utils.make 2011-09-25 16:16:04.914813800 -0700
-@@ -124,11 +124,11 @@
-
- _xml2po ?= `which xml2po`
-
--_db2html ?= `$(PKG_CONFIG) --variable db2html gnome-doc-utils`
--_db2omf ?= `$(PKG_CONFIG) --variable db2omf gnome-doc-utils`
--_chunks ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/chunks.xsl
--_credits ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/credits.xsl
--_ids ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/ids.xsl
-+_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}`$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/ids.xsl
-
- if ENABLE_SK
- _ENABLE_SK = true
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager_2.32.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager_2.32.0.bb
deleted file mode 100644
index ec2110785..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager_2.32.0.bb
+++ /dev/null
@@ -1,54 +0,0 @@
-SUMMARY = "Power management daemon"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-PR = "r4"
-
-DEPENDS = "glib-2.0 gtk+ gconf libgnome-keyring dbus dbus-glib libnotify libwnck cairo libunique xrandr virtual/libx11 libxrender libcanberra upower gnome-doc-utils"
-RRECOMMENDS_${PN} += "gnome-keyring"
-
-inherit gnome
-
-SRC_URI += " \
- file://sysrooted-pkg-config.patch \
- file://0001-Makefile.am-don-t-build-help-man.patch \
-"
-
-SRC_URI[archive.md5sum] = "9a08e85dce3ffb90775f15e3bda4adda"
-SRC_URI[archive.sha256sum] = "17fa301bf7e133285c0e054ae3be2b0f690c48f59b09f67e04d6ed339b330476"
-GNOME_COMPRESS_TYPE="bz2"
-
-EXTRA_OECONF = " --disable-scrollkeeper \
- --disable-applets \
- --x-includes=${STAGING_INCDIR} \
- --x-libraries=${STAGING_LIBDIR} \
- --enable-compile-warnings=no \
- ac_cv_header_X11_extensions_dpms_h=yes \
-"
-
-do_configure_append() {
- # Sigh... --enable-compile-warnings=no doesn't actually turn off -Werror
- for i in $(find ${B} -name "Makefile") ; do
- sed -i -e s:-Werror::g $i
- done
- sed -e "s/libtool --/${TARGET_SYS}-libtool --/" -i ${B}/src/Makefile
-}
-
-PACKAGES =+ "${PN}-applets"
-
-FILES_${PN}-applets = "${bindir}/*applet* \
- ${libdir}/bonobo/servers \
- ${datadir}/gnome-2.0/ui \
-"
-
-FILES_${PN} += "${datadir}/icons \
- ${datadir}/dbus-1 \
- ${datadir}/gnome/autostart \
-"
-
-FILES_${PN}-doc += "${datadir}/omf \
- ${datadir}/gnome/help \
-"
-
-# gnome-power-manager-2.32.0/src/gpm-manager.c:488:18: error: too many arguments to function 'notify_notification_new'
-PNBLACKLIST[gnome-power-manager] ?= "BROKEN: not compatible with current libnotify - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session/use_G_GINT64_FORMAT.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session/use_G_GINT64_FORMAT.patch
deleted file mode 100644
index b09f8d200..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session/use_G_GINT64_FORMAT.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-This patch fixes the build errors when building gnome-session for 64bit target using gcc 4.8
-
-| gs-idle-monitor.c: In function 'handle_alarm_notify_event':
-| gs-idle-monitor.c:196:9: error: format '%lld' expects argument of type 'long long int', but argument 5 has type 'gint64' [-Werror=format=]
-| g_debug ("Watch %d fired, idle time = %lld",
-| ^
-| gs-idle-monitor.c: In function '_xsync_alarm_set':
-| gs-idle-monitor.c:453:17: error: format '%lld' expects argument of type 'long long int', but argument 4 has type 'gint64' [-Werror=format=]
-| g_debug ("GSIdleMonitor: updating alarm for positive transition wait=%lld",
-| ^
-| gs-idle-monitor.c:457:17: error: format '%lld' expects argument of type 'long long int', but argument 4 has type 'gint64' [-Werror=format=]
-| g_debug ("GSIdleMonitor: creating new alarm for positive transition wait=%lld",
-| ^
-| gs-idle-monitor.c:464:17: error: format '%lld' expects argument of type 'long long int', but argument 4 has type 'gint64' [-Werror=format=]
-| g_debug ("GSIdleMonitor: updating alarm for negative transition wait=%lld",
-| ^
-| gs-idle-monitor.c:468:17: error: format '%lld' expects argument of type 'long long int', but argument 4 has type 'gint64' [-Werror=format=]
-
-Upstream-Status: Unknown
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Index: gnome-session-2.32.1/gnome-session/gs-idle-monitor.c
-===================================================================
---- gnome-session-2.32.1.orig/gnome-session/gs-idle-monitor.c 2010-11-17 03:17:04.000000000 -0800
-+++ gnome-session-2.32.1/gnome-session/gs-idle-monitor.c 2013-06-11 23:33:12.239960082 -0700
-@@ -193,7 +193,7 @@
- return;
- }
-
-- g_debug ("Watch %d fired, idle time = %lld",
-+ g_debug ("Watch %d fired, idle time = %" G_GINT64_FORMAT "",
- watch->id,
- _xsyncvalue_to_int64 (alarm_event->counter_value));
-
-@@ -450,22 +450,22 @@
-
- attr.trigger.test_type = XSyncPositiveTransition;
- if (watch->xalarm_positive != None) {
-- g_debug ("GSIdleMonitor: updating alarm for positive transition wait=%lld",
-+ g_debug ("GSIdleMonitor: updating alarm for positive transition wait=%" G_GINT64_FORMAT "",
- _xsyncvalue_to_int64 (attr.trigger.wait_value));
- XSyncChangeAlarm (GDK_DISPLAY (), watch->xalarm_positive, flags, &attr);
- } else {
-- g_debug ("GSIdleMonitor: creating new alarm for positive transition wait=%lld",
-+ g_debug ("GSIdleMonitor: creating new alarm for positive transition wait=%" G_GINT64_FORMAT "",
- _xsyncvalue_to_int64 (attr.trigger.wait_value));
- watch->xalarm_positive = XSyncCreateAlarm (GDK_DISPLAY (), flags, &attr);
- }
-
- attr.trigger.test_type = XSyncNegativeTransition;
- if (watch->xalarm_negative != None) {
-- g_debug ("GSIdleMonitor: updating alarm for negative transition wait=%lld",
-+ g_debug ("GSIdleMonitor: updating alarm for negative transition wait=%" G_GINT64_FORMAT "",
- _xsyncvalue_to_int64 (attr.trigger.wait_value));
- XSyncChangeAlarm (GDK_DISPLAY (), watch->xalarm_negative, flags, &attr);
- } else {
-- g_debug ("GSIdleMonitor: creating new alarm for negative transition wait=%lld",
-+ g_debug ("GSIdleMonitor: creating new alarm for negative transition wait=%" G_GINT64_FORMAT "",
- _xsyncvalue_to_int64 (attr.trigger.wait_value));
- watch->xalarm_negative = XSyncCreateAlarm (GDK_DISPLAY (), flags, &attr);
- }
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
deleted file mode 100644
index c49f2d3fb..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_2.32.1.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "Gnome session manager"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-PR = "r3"
-
-SECTION = "x11/gnome"
-DEPENDS = "libxtst gtk+ glib-2.0 upower dbus-glib gconf pango gdk-pixbuf-native startup-notification"
-
-inherit gnome
-
-SRC_URI += "file://use_G_GINT64_FORMAT.patch"
-
-SRC_URI[archive.md5sum] = "222bad6b446cb19a6b9028ea24538002"
-SRC_URI[archive.sha256sum] = "22d93ce433fcf9c7ce6b5f36dd81f64e692ea0e41faaa0f61159ddac28c3686a"
-GNOME_COMPRESS_TYPE="bz2"
-
-EXTRA_OECONF = " --with-gtk=2.0 ac_cv_path_GCONF_SANITY_CHECK=set --disable-docbook-docs"
-
-do_configure_append() {
- 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
-}
-
-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 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/files/0001-Require-libnotify-0.6.0.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/files/0001-Require-libnotify-0.6.0.patch
deleted file mode 100644
index 6dd33f351..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/files/0001-Require-libnotify-0.6.0.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From e1ab570b0dce479ba235e5542ea07d1b5bafc4c9 Mon Sep 17 00:00:00 2001
-From: William Jon McCann <jmccann@redhat.com>
-Date: Mon, 11 Oct 2010 23:35:45 -0400
-Subject: [PATCH] Require libnotify 0.6.0
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
-
-Upstream-Status: Backport
-
----
- configure.ac | 2 +-
- plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c | 8 ++------
- plugins/xrandr/gsd-xrandr-manager.c | 13 +++----------
- 3 files changed, 6 insertions(+), 17 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 8a90053..8624b2a 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -54,7 +54,7 @@ GTK_REQUIRED_VERSION=2.91.0
- GCONF_REQUIRED_VERSION=2.6.1
- GIO_REQUIRED_VERSION=2.17.3
- GNOME_DESKTOP_REQUIRED_VERSION=2.29.92
--LIBNOTIFY_REQUIRED_VERSION=0.4.3
-+LIBNOTIFY_REQUIRED_VERSION=0.6.1
-
- EXTRA_COMPILE_WARNINGS(yes)
-
-diff --git a/plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c b/plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c
-index 9ca820a..f5964b9 100644
---- a/plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c
-+++ b/plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c
-@@ -608,9 +608,7 @@ ax_slowkeys_warning_post_bubble (GsdA11yKeyboardManager *manager,
- gsd_a11y_keyboard_manager_ensure_status_icon (manager);
- manager->priv->notification = notify_notification_new (title,
- message,
-- "preferences-desktop-accessibility",
-- NULL);
-- notify_notification_attach_to_status_icon (manager->priv->notification, manager->priv->status_icon);
-+ "preferences-desktop-accessibility");
- notify_notification_set_timeout (manager->priv->notification, NOTIFICATION_TIMEOUT * 1000);
-
- notify_notification_add_action (manager->priv->notification,
-@@ -747,9 +745,7 @@ ax_stickykeys_warning_post_bubble (GsdA11yKeyboardManager *manager,
- gsd_a11y_keyboard_manager_ensure_status_icon (manager);
- manager->priv->notification = notify_notification_new (title,
- message,
-- "preferences-desktop-accessibility",
-- NULL);
-- notify_notification_attach_to_status_icon (manager->priv->notification, manager->priv->status_icon);
-+ "preferences-desktop-accessibility");
- notify_notification_set_timeout (manager->priv->notification, NOTIFICATION_TIMEOUT * 1000);
-
- notify_notification_add_action (manager->priv->notification,
-diff --git a/plugins/xrandr/gsd-xrandr-manager.c b/plugins/xrandr/gsd-xrandr-manager.c
-index 02536a3..ef57d5b 100644
---- a/plugins/xrandr/gsd-xrandr-manager.c
-+++ b/plugins/xrandr/gsd-xrandr-manager.c
-@@ -1084,16 +1084,9 @@ error_message (GsdXrandrManager *mgr, const char *primary_text, GError *error_to
-
- g_assert (error_to_display == NULL || secondary_text == NULL);
-
-- if (priv->status_icon)
-- notification = notify_notification_new_with_status_icon (primary_text,
-- error_to_display ? error_to_display->message : secondary_text,
-- GSD_XRANDR_ICON_NAME,
-- priv->status_icon);
-- else
-- notification = notify_notification_new (primary_text,
-- error_to_display ? error_to_display->message : secondary_text,
-- GSD_XRANDR_ICON_NAME,
-- NULL);
-+ notification = notify_notification_new (primary_text,
-+ error_to_display ? error_to_display->message : secondary_text,
-+ GSD_XRANDR_ICON_NAME);
-
- notify_notification_show (notification, NULL); /* NULL-GError */
- #else
---
-2.1.0
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_2.32.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_2.32.1.bb
deleted file mode 100644
index c1db6d3b4..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_2.32.1.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-SUMMARY = "GNOME settings daemon"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-PR = "r7"
-
-DEPENDS = "intltool libxxf86misc libsndfile1 libxtst glib-2.0 polkit gtk+ gconf dbus-glib libnotify libgnomekbd libxklavier gnome-doc-utils gnome-desktop"
-
-inherit gnome
-
-SRC_URI = " \
- git://git.gnome.org/gnome-settings-daemon;branch=gnome-2-32 \
- file://0001-Require-libnotify-0.6.0.patch \
-"
-SRCREV = "0160f6725cfb872e017f3958f108792c3b882872"
-
-S = "${WORKDIR}/git"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}"
-PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio glib-2.0 libcanberra"
-PACKAGECONFIG[smartcard] = "--enable-smartcard-support,--disable-smartcard-support,nss"
-
-EXTRA_OECONF = " \
- --x-includes=${STAGING_INCDIR} \
- --x-libraries=${STAGING_LIBDIR} \
- --enable-polkit \
-"
-
-do_configure_prepend() {
- sed -i -e 's:-L$libdir::g' -e 's:-I$includedir::g' ${S}/configure.ac
-}
-
-FILES_${PN} += "${libdir}/gnome-settings-daemon-2.0/*.so ${libdir}/gnome-settings-daemon-2.0/*plugin \
- ${datadir}/dbus-1/ \
- ${datadir}/icon* \
- ${datadir}/gnome-control-center \
- ${datadir}/xsession*"
-
-FILES_${PN}-dbg += "${libdir}/gnome-settings-daemon-2.0/.debug"
-FILES_${PN}-dev += "${libdir}/gnome-settings-daemon-2.0/*.la"
-FILES_${PN}-staticdev += "${libdir}/gnome-settings-daemon-2.0/*.a"
-
-
-PNBLACKLIST[gnome-settings-daemon] ?= "Depends on blacklisted libgnomekbd - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[gnome-settings-daemon] ?= "Depends on blacklisted gnome-desktop - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/files/0001-Fix-glib-includes.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/files/0001-Fix-glib-includes.patch
deleted file mode 100644
index ace1b0076..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/files/0001-Fix-glib-includes.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-From 8587e35af52f7773f62361be2e72ddf286a59185 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Tue, 15 May 2012 13:02:02 +0200
-Subject: [PATCH] Fix glib includes
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-Upstream-Status: unknown
-
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- src/interface.h | 2 +-
- src/load-graph.h | 2 +-
- src/lsof.h | 2 +-
- src/openfiles.h | 2 +-
- src/procman_gnomesu.h | 2 +-
- src/util.cpp | 2 +-
- 6 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/src/interface.h b/src/interface.h
-index 4bda35a..b26b670 100644
---- a/src/interface.h
-+++ b/src/interface.h
-@@ -20,7 +20,7 @@
- #ifndef _PROCMAN_INTERFACE_H_
- #define _PROCMAN_INTERFACE_H_
-
--#include <glib/gtypes.h>
-+#include <glib.h>
- #include <gtk/gtk.h>
- #include "procman.h"
-
-diff --git a/src/load-graph.h b/src/load-graph.h
-index 6111c78..6e7a599 100644
---- a/src/load-graph.h
-+++ b/src/load-graph.h
-@@ -1,7 +1,7 @@
- #ifndef _PROCMAN_LOAD_GRAPH_H_
- #define _PROCMAN_LOAD_GRAPH_H_
-
--#include <glib/gtypes.h>
-+#include <glib.h>
- #include <glibtop/cpu.h>
-
- enum
-diff --git a/src/lsof.h b/src/lsof.h
-index ad7f111..da420e2 100644
---- a/src/lsof.h
-+++ b/src/lsof.h
-@@ -1,7 +1,7 @@
- #ifndef H_PROCMAN_LSOF_1161179202
- #define H_PROCMAN_LSOF_1161179202
-
--#include <glib/gmacros.h>
-+#include <glib.h>
- #include "procman.h"
-
- void procman_lsof(ProcData *data);
-diff --git a/src/openfiles.h b/src/openfiles.h
-index 38b1cc8..a8b7b05 100644
---- a/src/openfiles.h
-+++ b/src/openfiles.h
-@@ -1,7 +1,7 @@
- #ifndef _OPENFILES_H_
- #define _OPENFILES_H_
-
--#include <glib/gtypes.h>
-+#include <glib.h>
-
- #include "procman.h"
-
-diff --git a/src/procman_gnomesu.h b/src/procman_gnomesu.h
-index fec2650..474ca9a 100644
---- a/src/procman_gnomesu.h
-+++ b/src/procman_gnomesu.h
-@@ -1,7 +1,7 @@
- #ifndef H_GNOME_SYSTEM_MONITOR_GNOMESU_H_1132171917
- #define H_GNOME_SYSTEM_MONITOR_GNOMESU_H_1132171917
-
--#include <glib/gtypes.h>
-+#include <glib.h>
-
- gboolean
- procman_gnomesu_create_root_password_dialog(const char * message);
-diff --git a/src/util.cpp b/src/util.cpp
-index 9b1c9f5..90073fe 100644
---- a/src/util.cpp
-+++ b/src/util.cpp
-@@ -1,7 +1,7 @@
- #include <config.h>
-
- #include <glib/gi18n.h>
--#include <glib/gstring.h>
-+#include <glib.h>
- #include <gtk/gtk.h>
-
- #include <glibtop/proctime.h>
---
-1.7.6.5
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/files/0002-src-procman.cpp-include-main-gtkmm.h.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/files/0002-src-procman.cpp-include-main-gtkmm.h.patch
deleted file mode 100644
index 7b6728102..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/files/0002-src-procman.cpp-include-main-gtkmm.h.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From acff719983aa1294148dc4a367c48957f5510eff Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Fri, 17 May 2013 18:25:56 +0200
-Subject: [PATCH] src/procman.cpp: include main gtkmm.h
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-after update of gtkmm build failed with:
-
-In file included from /home/Superandy/tmp/oe-core-eglibc/sysroots/overo/usr/include/gtkmm-2.4/gtkmm/main.h:33:0,
- from procman.cpp:26:
-/home/Superandy/tmp/oe-core-eglibc/sysroots/overo/usr/include/gdkmm-2.4/gdkmm/types.h:92:7: error: 'Value' is not a template
-/home/Superandy/tmp/oe-core-eglibc/sysroots/overo/usr/include/gdkmm-2.4/gdkmm/types.h:92:54: error: expected template-name before '<' token
-/home/Superandy/tmp/oe-core-eglibc/sysroots/overo/usr/include/gdkmm-2.4/gdkmm/types.h:92:54: error: expected '{' before '<' token
-/home/Superandy/tmp/oe-core-eglibc/sysroots/overo/usr/include/gdkmm-2.4/gdkmm/types.h:92:54: error: expected unqualified-id before '<' token
-/home/Superandy/tmp/oe-core-eglibc/sysroots/overo/usr/include/gdkmm-2.4/gdkmm/types.h:174:7: error: 'Value' is not a template
-/home/Superandy/tmp/oe-core-eglibc/sysroots/overo/usr/include/gdkmm-2.4/gdkmm/types.h:174:30: error: 'Glib::Value' is not a template type
-/home/Superandy/tmp/oe-core-eglibc/sysroots/overo/usr/include/gdkmm-2.4/gdkmm/types.h:174:58: error: expected template-name before '<' token
-/home/Superandy/tmp/oe-core-eglibc/sysroots/overo/usr/include/gdkmm-2.4/gdkmm/types.h:207:7: error: 'Value' is not a template
-/home/Superandy/tmp/oe-core-eglibc/sysroots/overo/usr/include/gdkmm-2.4/gdkmm/types.h:207:24: error: 'Glib::Value' is not a template type
-/home/Superandy/tmp/oe-core-eglibc/sysroots/overo/usr/include/gdkmm-2.4/gdkmm/types.h:207:51: error: expected template-name before '<' token
-/home/Superandy/tmp/oe-core-eglibc/sysroots/overo/usr/include/gdkmm-2.4/gdkmm/types.h:274:7: error: 'Value' is not a template
-/home/Superandy/tmp/oe-core-eglibc/sysroots/overo/usr/include/gdkmm-2.4/gdkmm/types.h:274:32: error: 'Glib::Value' is not a template type
-<...>
-
-Upstream-Status: Backport
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- src/procman.cpp | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/src/procman.cpp b/src/procman.cpp
-index b5c0d0a..d9b4b3f 100644
---- a/src/procman.cpp
-+++ b/src/procman.cpp
-@@ -23,7 +23,7 @@
-
- #include <locale.h>
-
--#include <gtkmm/main.h>
-+#include <gtkmm.h>
- #include <giomm/volumemonitor.h>
- #include <giomm/init.h>
- #include <glib.h>
---
-1.7.4.4
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/files/Remove-pkg-config-check-for-gnome-icon-theme.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/files/Remove-pkg-config-check-for-gnome-icon-theme.patch
deleted file mode 100644
index 3c5169e78..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/files/Remove-pkg-config-check-for-gnome-icon-theme.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 36fd2aa23e712f05f0cce4a1be3453fcf405d026 Mon Sep 17 00:00:00 2001
-From: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Date: Tue, 15 Sep 2015 16:28:18 +0300
-Subject: [PATCH] Remove pkg-config check for gnome-icon-theme
-
-Theme is not required for building, and the icons are provided by
-adwaita-icon-theme anyway
-
-Upstream-Status: Inappropriate [Fixed in current versions]
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
----
- configure.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.in b/configure.in
-index 3600823..42262f2 100644
---- a/configure.in
-+++ b/configure.in
-@@ -37,7 +37,7 @@ LIBXML_REQUIRED=2.0
- RSVG_REQUIRED=2.12
- DBUS_REQUIRED=0.7
-
--PKG_CHECK_MODULES(PROCMAN, glib-2.0 >= $GLIB_REQUIRED gconf-2.0 >= $GCONF_REQUIRED libgtop-2.0 >= $LIBGTOP_REQUIRED libwnck-1.0 >= $LIBWNCK_REQUIRED gtk+-2.0 >= $GTK_REQUIRED gnome-icon-theme >= $GNOME_ICON_THEME_REQUIRED gtkmm-2.4 >= $GTKMM_REQUIRED libxml-2.0 >= $LIBXML_REQUIRED librsvg-2.0 >= $RSVG_REQUIRED glibmm-2.4 >= $GLIBMM_REQUIRED giomm-2.4 >= $GIOMM_REQUIRED dbus-glib-1 >= $DBUS_REQUIRED)
-+PKG_CHECK_MODULES(PROCMAN, glib-2.0 >= $GLIB_REQUIRED gconf-2.0 >= $GCONF_REQUIRED libgtop-2.0 >= $LIBGTOP_REQUIRED libwnck-1.0 >= $LIBWNCK_REQUIRED gtk+-2.0 >= $GTK_REQUIRED gtkmm-2.4 >= $GTKMM_REQUIRED libxml-2.0 >= $LIBXML_REQUIRED librsvg-2.0 >= $RSVG_REQUIRED glibmm-2.4 >= $GLIBMM_REQUIRED giomm-2.4 >= $GIOMM_REQUIRED dbus-glib-1 >= $DBUS_REQUIRED)
-
-
- AC_ARG_ENABLE(more-warnings,
---
-2.1.4
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_2.28.2.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_2.28.2.bb
deleted file mode 100644
index 4b397bf83..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_2.28.2.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "Gnome system monitor"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-SECTION = "x11/gnome"
-PR = "r2"
-
-DEPENDS = "libgtop gtkmm glibmm gnome-doc-utils libwnck gtk+ dbus-glib librsvg intltool-native gnome-common-native"
-
-inherit gnome
-SRC_URI[archive.md5sum] = "3f0bca9b0ebc7a365466851cd580d167"
-SRC_URI[archive.sha256sum] = "b628edfd39e3a6b374ce133f367d3568475eb4e981a367f4f9d62a9784e5ae59"
-GNOME_COMPRESS_TYPE="bz2"
-SRC_URI += " \
- file://0001-Fix-glib-includes.patch \
- file://0002-src-procman.cpp-include-main-gtkmm.h.patch \
- file://Remove-pkg-config-check-for-gnome-icon-theme.patch \
-"
-
-do_configure_prepend() {
- sed -i -e s:help::g ${S}/Makefile.am
-}
-
-CXXFLAGS += "--std=c++11"
-
-RRECOMMENDS_${PN} = "adwaita-icon-theme"
-
-FILES_${PN} += "${datadir}/icons \
- ${datadir}/dbus-1 \
- ${datadir}/gnome/autostart \
-"
-
-FILES_${PN}-doc += "${datadir}/omf \
- ${datadir}/gnome/help "
-
-PNBLACKLIST[gnome-system-monitor] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/131635/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/gnome-terminal/0001-Makefile.am-do-not-build-help.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/gnome-terminal/0001-Makefile.am-do-not-build-help.patch
deleted file mode 100644
index d7874e492..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/gnome-terminal/0001-Makefile.am-do-not-build-help.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From d2549d3ef08536be6d141524e3382fef07fea8bf Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Tue, 30 Apr 2013 19:48:27 +0200
-Subject: [PATCH] Makefile.am: do not build help
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- Makefile.am | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 89f7ee4..31e11ab 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -1,4 +1,4 @@
--SUBDIRS = src po help
-+SUBDIRS = src po
-
- NULL =
-
---
-1.7.6.5
-
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
deleted file mode 100644
index 6b3bf7654..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/gnome-terminal_2.30.2.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "GNOME Terminal"
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5b51eba4ba4cafe64073227530c061ed"
-DEPENDS = "gtk+ glib-2.0 startup-notification dbus-glib vte9 gnome-doc-utils intltool-native"
-PR = "r1"
-
-inherit gnome
-
-SRC_URI += " \
- file://0001-Makefile.am-do-not-build-help.patch \
-"
-
-EXTRA_OECONF += "--disable-scrollkeeper"
-
-SRC_URI[archive.md5sum] = "74c4528f00067072c2bd867d1f8fe844"
-SRC_URI[archive.sha256sum] = "2c7af2250698b9f9f53c6eaa93211c1118cf2c7e29cbbacfd1e8a6a10069e07a"
-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 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
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
deleted file mode 100644
index 3480712b5..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomecups_0.2.3.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-DESCRIPTION="Gnome Cups Manager"
-LICENSE="GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-DEPENDS="glib-2.0 gtk+ pango cups intltool libgnomeui"
-
-PR = "r2"
-
-inherit gnomebase pkgconfig
-
-do_compile_append () {
- cp libgnomecups-1.0.pc libgnomecups-1.0.pc.old
- sed 's:${STAGING_DIR_HOST}::' < libgnomecups-1.0.pc.old > libgnomecups-1.0.pc
-}
-
-SRC_URI += "\
- file://libgnomecups-0.2.3-glib.h.patch \
- file://libgnomecups-0.2.3-cups-1.6.patch \
-"
-
-SRC_URI[archive.md5sum] = "dc4920c15c9f886f73ea74fbff0ae48b"
-SRC_URI[archive.sha256sum] = "e130e80942b386de19a288a4c194ff3dbe9140315b31e982058c8bffbb6a1d29"
-GNOME_COMPRESS_TYPE="bz2"
-
-PNBLACKLIST[libgnomecups] ?= "Depends on blacklisted libgnomeui - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomeprint/0001-configure-use-pkgconfig-for-freetype.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomeprint/0001-configure-use-pkgconfig-for-freetype.patch
deleted file mode 100644
index 174985a7e..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomeprint/0001-configure-use-pkgconfig-for-freetype.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From ed31fd89f4c77d89390774d29427898a85b25ab1 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Fri, 1 Aug 2014 13:58:36 +0200
-Subject: [PATCH] configure: use pkgconfig for freetype
-
-Upstream-status: Pending
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
----
- configure.in | 12 +++++-------
- 1 file changed, 5 insertions(+), 7 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index 729278d..e569429 100644
---- a/configure.in
-+++ b/configure.in
-@@ -164,13 +164,11 @@ dnl Checking for freetype2
- dnl =================================
- FREETYPE_LIBS=
- FREETYPE_CFLAGS=
--AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
--if test "x$FREETYPE_CONFIG" = "xno" ; then
-- AC_MSG_ERROR(You need FreeType2 (freetype-devel v 2.x package) for this version of libgnomeprint)
--else
-- FREETYPE_CFLAGS=`$FREETYPE_CONFIG --cflags`
-- FREETYPE_LIBS=`$FREETYPE_CONFIG --libs`
--fi
-+PKG_CHECK_MODULES(FREETYPE2, freetype2,
-+ FREETYPE_CFLAGS="$CFLAGS $FREETYPE2_CFLAGS"
-+ FREETYPE_LIBS="$LIBS $FREETYPE2_LIBS",
-+ AC_MSG_ERROR([*** Unable to find FreeType2 library (http://www.freetype.org/)])
-+)
-
- libgnomeprint_save_ldflags=$LDFLAGS
- LDFLAGS="$LDFLAGS $FREETYPE_LIBS"
---
-1.9.0
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomeprint/bison3-support.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomeprint/bison3-support.patch
deleted file mode 100644
index 29d410a0a..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomeprint/bison3-support.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Index: libgnomeprint-2.18.8/libgnomeprint/grammar.y
-===================================================================
---- libgnomeprint-2.18.8.orig/libgnomeprint/grammar.y
-+++ libgnomeprint-2.18.8/libgnomeprint/grammar.y
-@@ -99,7 +99,7 @@ gnome_print_filter_parse_prop (GnomePrin
- }
-
- static int yylex (void *lvalp);
--static int yyerror (const char *s);
-+static int yyerror (graph_t *g, const char *s);
- %}
-
- %union {
-@@ -117,6 +117,7 @@ static int yyerror (const char *s);
- %type <p> pool
-
- %pure_parser
-+%parse-param { graph_t *graph }
-
- %start graph
- %%
-@@ -185,7 +186,7 @@ graph: filter {
- %%
-
- static int
--yyerror (const char *s)
-+yyerror (graph_t *g, const char *s)
- {
- return -1;
- }
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomeprint/fix.includes.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomeprint/fix.includes.patch
deleted file mode 100644
index 53235a12d..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomeprint/fix.includes.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -uNr libgnomeprint-2.18.7.orig/libgnomeprint/modules/cups/gnome-print-cups-transport.c libgnomeprint-2.18.7/libgnomeprint/modules/cups/gnome-print-cups-transport.c
---- libgnomeprint-2.18.7.orig/libgnomeprint/modules/cups/gnome-print-cups-transport.c 2009-04-19 19:45:36.000000000 +0200
-+++ libgnomeprint-2.18.7/libgnomeprint/modules/cups/gnome-print-cups-transport.c 2012-12-23 12:34:52.058643537 +0100
-@@ -35,6 +35,7 @@
- #include <sys/stat.h>
- #include <fcntl.h>
- #include <unistd.h>
-+#include <stdio.h>
- #include <locale.h>
-
- #include <cups/cups.h>
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomeprint/freetype.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomeprint/freetype.patch
deleted file mode 100644
index 7a27ecd23..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomeprint/freetype.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Use proper method to include freetype headers
-
-FreeType wants to use these special macros to include its APIs
-so be it.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-
-Index: libgnomeprint-2.18.7/libgnomeprint/gnome-font-face.c
-===================================================================
---- libgnomeprint-2.18.7.orig/libgnomeprint/gnome-font-face.c
-+++ libgnomeprint-2.18.7/libgnomeprint/gnome-font-face.c
-@@ -36,7 +36,9 @@
- #include <stdarg.h>
- #include <locale.h>
-
--#include <freetype/ftoutln.h>
-+#include <ft2build.h>
-+#include FT_FREETYPE_H
-+
-
- #include <libgnomeprint/gnome-print-private.h>
- #include <libgnomeprint/gnome-font-private.h>
-Index: libgnomeprint-2.18.7/libgnomeprint/gnome-rfont.c
-===================================================================
---- libgnomeprint-2.18.7.orig/libgnomeprint/gnome-rfont.c
-+++ libgnomeprint-2.18.7/libgnomeprint/gnome-rfont.c
-@@ -28,8 +28,8 @@
-
- #include <ft2build.h>
- #include FT_FREETYPE_H
--#include <freetype/ftglyph.h>
--#include <freetype/ftbbox.h>
-+#include FT_GLYPH_H
-+#include FT_BBOX_H
- #include <libart_lgpl/art_misc.h>
- #include <libart_lgpl/art_affine.h>
- #include <libart_lgpl/art_vpath.h>
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
deleted file mode 100644
index a462a4b9e..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomeprint_2.18.8.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-LICENSE = "GPLv2"
-SECTION = "x11/gnome/libs"
-
-DEPENDS = "bison-native flex-native libxml2 libgnomecups glib-2.0 pango libart-lgpl fontconfig popt gnome-common freetype"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-inherit gnomebase
-
-SRC_URI += "file://fix.includes.patch \
- file://freetype.patch \
- file://0001-configure-use-pkgconfig-for-freetype.patch \
- file://bison3-support.patch \
- "
-SRC_URI[archive.md5sum] = "63b05ffb5386e131487c6af30f4c56ac"
-SRC_URI[archive.sha256sum] = "1034ec8651051f84d2424e7a1da61c530422cc20ce5b2d9e107e1e46778d9691"
-GNOME_COMPRESS_TYPE="bz2"
-
-FILES_${PN}-dbg += "\
- ${libdir}/${PN}/${PV}/modules/.debug \
- ${libdir}/${PN}/${PV}/modules/*/.debug \
-"
-FILES_${PN}-staticdev += "\
- ${libdir}/${PN}/${PV}/modules/*.a \
- ${libdir}/${PN}/${PV}/modules/*/*.a \
-"
-
-PNBLACKLIST[libgnomeprint] ?= "Depends on broken libgnomecups - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnumeric/gnumeric/0001-configure.in-drop-introspection-macros-replace-them-.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnumeric/gnumeric/0001-configure.in-drop-introspection-macros-replace-them-.patch
deleted file mode 100644
index 914d2ccf9..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnumeric/gnumeric/0001-configure.in-drop-introspection-macros-replace-them-.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From de5f0a535d6ea1932d2c7de53bd33510c8682ee7 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Mon, 22 Feb 2016 16:34:03 +0200
-Subject: [PATCH] configure.in: drop introspection macros, replace them with a
- standard one
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- configure.in | 57 +--------------------------------------------------------
- 1 file changed, 1 insertion(+), 56 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index 8e1aa37..3086503 100644
---- a/configure.in
-+++ b/configure.in
-@@ -934,63 +934,8 @@ AC_SUBST(MONO_CFLAGS)
- AC_SUBST(MONO_LIBS)
- ])
-
--# GObject Introspection
--GIR_REQ=1.0.0
--AC_ARG_ENABLE(introspection,
-- AS_HELP_STRING([--enable-introspection[=@<:@no/auto/yes@:>@]],
-- [Enable introspection for this build]),,
-- [enable_introspection=no])
--
--AC_MSG_CHECKING([for gobject-introspection])
--
--dnl presence/version checking
--AS_CASE([$enable_introspection],
--[no], [
-- found_introspection="no (disabled, use --enable-introspection to enable)"
--],
--[yes],[
-- PKG_CHECK_EXISTS([gobject-introspection-1.0],,
-- AC_MSG_ERROR([gobject-introspection-1.0 is not installed]))
-- PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $GIR_REQ],
-- found_introspection=yes,
-- AC_MSG_ERROR([You need to have gobject-introspection >= $1 installed to build AC_PACKAGE_NAME]))
--],
--[auto],[
-- PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $GIR_REQ], found_introspection=yes, found_introspection=no)
--dnl Canonicalize enable_introspection
--enable_introspection=$found_introspection
--],
--[
-- AC_MSG_ERROR([invalid argument passed to --enable-introspection, should be one of @<:@no/auto/yes@:>@])
--])
-+GOBJECT_INTROSPECTION_CHECK([1.46.0])
-
--AC_MSG_RESULT([$found_introspection])
--
--INTROSPECTION_SCANNER=
--INTROSPECTION_COMPILER=
--INTROSPECTION_GENERATE=
--INTROSPECTION_GIRDIR=
--INTROSPECTION_TYPELIBDIR=
--if test "x$found_introspection" = "xyes"; then
-- INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
-- INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
-- INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
-- INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
-- INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
-- INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
-- INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
-- INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
--fi
--AC_SUBST(INTROSPECTION_SCANNER)
--AC_SUBST(INTROSPECTION_COMPILER)
--AC_SUBST(INTROSPECTION_GENERATE)
--AC_SUBST(INTROSPECTION_GIRDIR)
--AC_SUBST(INTROSPECTION_TYPELIBDIR)
--AC_SUBST(INTROSPECTION_CFLAGS)
--AC_SUBST(INTROSPECTION_LIBS)
--AC_SUBST(INTROSPECTION_MAKEFILE)
--
--AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes")
- dnl we need to change the install directories for distcheck
- AC_ARG_WITH([gir-dir],
- AS_HELP_STRING(
---
-2.7.0
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnumeric/gnumeric/do-not-use-srcdir.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnumeric/gnumeric/do-not-use-srcdir.patch
deleted file mode 100644
index cc81b1fc0..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnumeric/gnumeric/do-not-use-srcdir.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Index: gnumeric-1.12.0/test/Makefile.am
-===================================================================
---- gnumeric-1.12.0.orig/test/Makefile.am 2011-05-17 17:54:24.000000000 -0700
-+++ gnumeric-1.12.0/test/Makefile.am 2013-10-17 20:28:19.920618596 -0700
-@@ -25,7 +25,9 @@
- #
- # 90xx: Misc stuff.
-
--TESTS = $(sort $(wildcard $(srcdir)/t[0-9][0-9][0-9][0-9]-*.pl))
-+TESTS_EXTENSIONS=.pl
-+TESTS = @auto_find_tests@
-+
- SUPPS = common.supp commondots.supp gui.supp t8003-valgrind-pdf.supp
-
- import-db:
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
deleted file mode 100644
index 49d0fe9d4..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnumeric/gnumeric_1.12.0.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-LICENSE = "GPLv2 | GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=be0de417af78dd340558810d1ced52e6"
-SECTION = "x11/utils"
-S = "${WORKDIR}/gnumeric-${PV}"
-DEPENDS = "gdk-pixbuf libgsf gtk+3 libxml2 libglade libart-lgpl intltool-native libgnomecanvas libgnomeprint libbonoboui orbit2-native goffice"
-SUMMARY = "Gnumeric spreadsheet for GNOME"
-
-GNOME_COMPRESS_TYPE = "xz"
-
-inherit gnome pythonnative gobject-introspection
-
-SRC_URI += "file://do-not-use-srcdir.patch \
- file://0001-configure.in-drop-introspection-macros-replace-them-.patch"
-
-SRC_URI[archive.md5sum] = "3fd87cca95334b5d8ac922989670fe27"
-SRC_URI[archive.sha256sum] = "037b53d909e5d1454b2afda8c4fb1e7838e260343e36d4e36245f4a5d0e04111"
-
-
-EXTRA_OECONF=" --without-perl "
-
-PACKAGES_DYNAMIC += "gnumeric-plugin-*"
-PACKAGES += "libspreadsheet libspreadsheet-dev gnumeric-goffice gnumeric-goffice-dbg"
-
-FILES_${PN}-dbg += "${libdir}/gnumeric/${PV}/plugins/*/.debug"
-FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig"
-FILES_${PN}-staticdev = "${libdir}/libspreadsheet.la"
-FILES_libspreadsheet = "${libdir}/libspreadsheet-${PV}.so"
-FILES_libspreadsheet-dev = "${libdir}/libspreadsheet.so"
-FILES_gnumeric-goffice-dbg += "${libdir}/goffice/*/plugins/gnumeric/.debug"
-FILES_gnumeric-goffice = "${libdir}/goffice/*/plugins/gnumeric/*"
-
-# This hack works around the problem mentioned here:
-# https://mail.gnome.org/archives/gnumeric-list/2010-February/msg00006.html
-do_install_prepend() {
- sed -i ${B}/doc/C/Makefile -e 's/\tfor file in $(omffile); do/\t-for file in $(omffile); do/'
-}
-
-python populate_packages_prepend () {
- gnumeric_libdir = bb.data.expand('${libdir}/gnumeric/${PV}/plugins', d)
-
- do_split_packages(d, gnumeric_libdir, '^(.*)/.*$',
- output_pattern='gnumeric-plugin-%s',
- description='Gnumeric plugin %s',
- extra_depends='',
- recursive=True,
- prepend=True)
-}
-
-PNBLACKLIST[gnumeric] ?= "Depends on broken libgnomeprint - the recipe will be removed on 2017-09-01 unless the issue is fixed"
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
deleted file mode 100644
index d116968a6..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gthumb/files/0001-Drop-help-directory-from-build.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-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/files/parallel.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gthumb/files/parallel.patch
deleted file mode 100644
index 20ce5c5aa..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gthumb/files/parallel.patch
+++ /dev/null
@@ -1,158 +0,0 @@
-From 34969cde1dcb7740b4a7c3b6e3d04d481e5980b5 Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Tue, 31 Jul 2012 17:26:27 +0100
-Subject: [PATCH] build: Fix parallel build problems with enum generation
-
-This is a backport from a patch against master.
-
-Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=680925]
----
- extensions/file_tools/Makefile.am | 10 ++++------
- extensions/importer/Makefile.am | 10 ++++------
- extensions/pixbuf_savers/Makefile.am | 10 ++++------
- gthumb/Makefile.am | 10 ++++------
- 4 files changed, 16 insertions(+), 24 deletions(-)
-
-diff --git a/extensions/file_tools/Makefile.am b/extensions/file_tools/Makefile.am
-index 7785eff..d70a8a5 100644
---- a/extensions/file_tools/Makefile.am
-+++ b/extensions/file_tools/Makefile.am
-@@ -24,17 +24,16 @@ HEADER_FILES = \
- gth-file-tool-undo.h \
- preferences.h
-
--enum-types.h: $(HEADER_FILES) $(GLIB_MKENUMS)
-+enum-types.h: $(HEADER_FILES)
- $(AM_V_GEN)( $(GLIB_MKENUMS) \
- --fhead "#ifndef ENUM_TYPES_H\n#define ENUM_TYPES_H\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
- --fprod "/* enumerations from \"@filename@\" */\n" \
- --vhead "GType @enum_name@_get_type (void);\n#define GTH_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
- --ftail "G_END_DECLS\n\n#endif /* ENUM_TYPES_H */" \
- $^> xgen-$(@F) \
-- && (cmp -s xgen-$(@F) enum-types.h || cp xgen-$(@F) enum-types.h ) \
-- && rm -f xgen-$(@F) )
-+ && mv -f xgen-$(@F) enum-types.h )
-
--enum-types.c: $(HEADER_FILES) enum-types.h
-+enum-types.c: $(HEADER_FILES)
- $(AM_V_GEN)( $(GLIB_MKENUMS) \
- --fhead "#include <glib-object.h>\n" \
- --fprod "\n/* enumerations from \"@filename@\" */\n#include \"@filename@\"" \
-@@ -42,8 +41,7 @@ enum-types.c: $(HEADER_FILES) enum-types.h
- --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
- --vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (\"@EnumName@\", values);\n }\n return etype;\n}\n" \
- $^> xgen-$(@F) \
-- && (cmp -s xgen-$(@F) enum-types.c || cp xgen-$(@F) enum-types.c ) \
-- && rm -f xgen-$(@F) )
-+ && mv -f xgen-$(@F) enum-types.c )
-
- libfile_tools_la_SOURCES = \
- $(ENUM_TYPES) \
-diff --git a/extensions/importer/Makefile.am b/extensions/importer/Makefile.am
-index 29e7f2c..07c1eba 100644
---- a/extensions/importer/Makefile.am
-+++ b/extensions/importer/Makefile.am
-@@ -14,17 +14,16 @@ HEADER_FILES = \
- preferences.h \
- utils.h
-
--gth-import-enum-types.h: $(HEADER_FILES) $(GLIB_MKENUMS)
-+gth-import-enum-types.h: $(HEADER_FILES)
- $(AM_V_GEN)( $(GLIB_MKENUMS) \
- --fhead "#ifndef ENUM_TYPES_H\n#define ENUM_TYPES_H\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
- --fprod "/* enumerations from \"@filename@\" */\n" \
- --vhead "GType @enum_name@_get_type (void);\n#define GTH_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
- --ftail "G_END_DECLS\n\n#endif /* ENUM_TYPES_H */" \
- $^> xgen-$(@F) \
-- && (cmp -s xgen-$(@F) gth-import-enum-types.h || cp xgen-$(@F) gth-import-enum-types.h ) \
-- && rm -f xgen-$(@F) )
-+ && mv -f xgen-$(@F) gth-import-enum-types.h )
-
--gth-import-enum-types.c: $(HEADER_FILES) gth-import-enum-types.h
-+gth-import-enum-types.c: $(HEADER_FILES)
- $(AM_V_GEN)( $(GLIB_MKENUMS) \
- --fhead "#include <glib-object.h>\n" \
- --fprod "\n/* enumerations from \"@filename@\" */\n#include \"@filename@\"" \
-@@ -32,8 +31,7 @@ gth-import-enum-types.c: $(HEADER_FILES) gth-import-enum-types.h
- --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
- --vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (\"@EnumName@\", values);\n }\n return etype;\n}\n" \
- $^> xgen-$(@F) \
-- && (cmp -s xgen-$(@F) gth-import-enum-types.c || cp xgen-$(@F) gth-import-enum-types.c ) \
-- && rm -f xgen-$(@F) )
-+ && mv -f xgen-$(@F) gth-import-enum-types.c )
-
- libimporter_la_SOURCES = \
- $(ENUM_TYPES) \
-diff --git a/extensions/pixbuf_savers/Makefile.am b/extensions/pixbuf_savers/Makefile.am
-index bfe9f34..4764c32 100644
---- a/extensions/pixbuf_savers/Makefile.am
-+++ b/extensions/pixbuf_savers/Makefile.am
-@@ -10,17 +10,16 @@ ENUM_TYPES = \
- HEADER_FILES = \
- preferences.h
-
--enum-types.h: $(HEADER_FILES) $(GLIB_MKENUMS)
-+enum-types.h: $(HEADER_FILES)
- $(AM_V_GEN)( $(GLIB_MKENUMS) \
- --fhead "#ifndef ENUM_TYPES_H\n#define ENUM_TYPES_H\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
- --fprod "/* enumerations from \"@filename@\" */\n" \
- --vhead "GType @enum_name@_get_type (void);\n#define GTH_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
- --ftail "G_END_DECLS\n\n#endif /* ENUM_TYPES_H */" \
- $^> xgen-$(@F) \
-- && (cmp -s xgen-$(@F) enum-types.h || cp xgen-$(@F) enum-types.h ) \
-- && rm -f xgen-$(@F) )
-+ && mv -f xgen-$(@F) enum-types.h )
-
--enum-types.c: $(HEADER_FILES) enum-types.h
-+enum-types.c: $(HEADER_FILES)
- $(AM_V_GEN)( $(GLIB_MKENUMS) \
- --fhead "#include <glib-object.h>\n" \
- --fprod "\n/* enumerations from \"@filename@\" */\n#include \"@filename@\"" \
-@@ -28,8 +27,7 @@ enum-types.c: $(HEADER_FILES) enum-types.h
- --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
- --vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (\"@EnumName@\", values);\n }\n return etype;\n}\n" \
- $^> xgen-$(@F) \
-- && (cmp -s xgen-$(@F) enum-types.c || cp xgen-$(@F) enum-types.c ) \
-- && rm -f xgen-$(@F) )
-+ && mv -f xgen-$(@F) enum-types.c )
-
- libpixbuf_savers_la_SOURCES = \
- $(ENUM_TYPES) \
-diff --git a/gthumb/Makefile.am b/gthumb/Makefile.am
-index e9e385e..2f14e03 100644
---- a/gthumb/Makefile.am
-+++ b/gthumb/Makefile.am
-@@ -296,17 +296,16 @@ gthumb_CFLAGS = \
- -DGTHUMB_EXTENSIONS_DIR=\"$(extensions_dir)\" \
- $(NULL)
-
--gth-enum-types.h: $(PUBLIC_HEADER_FILES) $(GLIB_MKENUMS)
-+gth-enum-types.h: $(PUBLIC_HEADER_FILES)
- $(AM_V_GEN)( $(GLIB_MKENUMS) \
- --fhead "#ifndef GTH_ENUM_TYPES_H\n#define GTH_ENUM_TYPES_H\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
- --fprod "/* enumerations from \"@filename@\" */\n" \
- --vhead "GType @enum_name@_get_type (void);\n#define GTH_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
- --ftail "G_END_DECLS\n\n#endif /* GTH_ENUM_TYPES_H */" \
- $^> xgen-$(@F) \
-- && (cmp -s xgen-$(@F) gth-enum-types.h || cp xgen-$(@F) gth-enum-types.h ) \
-- && rm -f xgen-$(@F) )
-+ && mv -f xgen-$(@F) gth-enum-types.h )
-
--gth-enum-types.c: $(PUBLIC_HEADER_FILES) gth-enum-types.h
-+gth-enum-types.c: $(PUBLIC_HEADER_FILES)
- $(AM_V_GEN)( $(GLIB_MKENUMS) \
- --fhead "#include <glib-object.h>\n" \
- --fprod "\n/* enumerations from \"@filename@\" */\n#include \"@filename@\"" \
-@@ -314,8 +313,7 @@ gth-enum-types.c: $(PUBLIC_HEADER_FILES) gth-enum-types.h
- --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
- --vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (\"@EnumName@\", values);\n }\n return etype;\n}\n" \
- $^> xgen-$(@F) \
-- && (cmp -s xgen-$(@F) gth-enum-types.c || cp xgen-$(@F) gth-enum-types.c ) \
-- && rm -f xgen-$(@F) )
-+ && mv -f xgen-$(@F) gth-enum-types.c )
-
- gth-marshal.h: gth-marshal.list $(GLIB_GENMARSHAL)
- $(AM_V_GEN)( $(GLIB_GENMARSHAL) $(srcdir)/gth-marshal.list --header --prefix=gth_marshal > $@ )
---
-1.7.10.4
-
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
deleted file mode 100644
index 62d3df98e..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb_2.12.4.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "gThumb is an image viewer and browser for the GNOME Desktop"
-SECTION = "x11/gnome"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-DEPENDS = "gnome-common-native glib-2.0 gtk+ libxml2 gnome-doc-utils libunique gconf libpng gstreamer jpeg tiff gst-plugins-base intltool-native gconf-native"
-
-PR = "r4"
-
-EXTRA_OECONF = "--disable-gnome-keyring --disable-libsoup --disable-exiv2 --disable-clutter"
-
-inherit gnome pkgconfig
-
-SRC_URI[archive.md5sum] = "97fc13221b0c5d80c27a2e25a3a3ac6f"
-SRC_URI[archive.sha256sum] = "cf809695230ab8892a078be454a42ade865754c72ec1da7c3d74d4310de54f1d"
-GNOME_COMPRESS_TYPE="bz2"
-
-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
-}
-
-FILES_${PN} += "${datadir}/icons"
-FILES_${PN} += "${libdir}/${BPN}/extensions/*.so \
- ${libdir}/${BPN}/extensions/*.extension"
-FILES_${PN}-dev += "${libdir}/${BPN}/extensions/*.la"
-FILES_${PN}-dbg += "${libdir}/${BPN}/extensions/.debug/"
-
-
-PNBLACKLIST[gthumb] ?= "Depends on blacklisted gstreamer - the recipe will be removed on 2017-09-01 unless the issue is fixed"
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
deleted file mode 100644
index 62b757fd9..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.28.3.bb
+++ /dev/null
@@ -1,60 +0,0 @@
-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.filter('DISTRO_FEATURES', 'systemd', d)}"
-
-PACKAGECONFIG[afc] = "--enable-afc, --disable-afc, libimobiledevice libplist"
-PACKAGECONFIG[archive] = "--enable-archive, --disable-archive, libarchive"
-PACKAGECONFIG[avahi] = "--enable-avahi, --disable-avahi, avahi"
-PACKAGECONFIG[gcr] = "--enable-gcr, --disable-gcr, gcr"
-PACKAGECONFIG[gtk] = "--enable-gtk, --disable-gtk, gtk+3"
-PACKAGECONFIG[http] = "--enable-http, --disable-http, libsoup-2.4"
-PACKAGECONFIG[libmtp] = "--enable-libmtp, --disable-libmtp, libmtp"
-PACKAGECONFIG[libgphoto2] = "--enable-gphoto2, --disable-gphoto2, libgphoto2"
-PACKAGECONFIG[samba] = "--enable-samba, --disable-samba, samba"
-PACKAGECONFIG[systemd] = "--with-systemduserunitdir=${systemd_user_unitdir},--without-systemduserunitdir,systemd"
-
-# needs meta-filesystems
-PACKAGECONFIG[fuse] = "--enable-fuse, --disable-fuse, fuse"
-
-# libcdio-paranoia recipe doesn't exist yet
-PACKAGECONFIG[cdda] = "--enable-cdda, --disable-cdda, libcdio-paranoia"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.32.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.32.1.bb
new file mode 100644
index 000000000..d38068836
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.32.1.bb
@@ -0,0 +1,66 @@
+DESCRIPTION = "gvfs is a userspace virtual filesystem"
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=05df38dd77c35ec8431f212410a3329e"
+
+inherit gnome bash-completion gettext
+
+DEPENDS += "libsecret glib-2.0 gconf intltool-native libgudev udisks2 polkit shadow-native"
+
+SRC_URI = "https://download.gnome.org/sources/${BPN}/${@gnome_verdir("${PV}")}/${BPN}-${PV}.tar.xz;name=archive"
+
+SRC_URI[archive.md5sum] = "cbe766b46f324e17d7abcfb4a89a1684"
+SRC_URI[archive.sha256sum] = "d0b6c9edab09d52472355657a2f0a14831b2e6c58caba395f721ab683f836ade"
+
+EXTRA_OECONF = " \
+ --disable-gdu \
+ --enable-udisks2 \
+ --disable-documentation \
+ --with-archive-includes=${STAGING_INCDIR} \
+ --with-archive-libs=${STAGING_LIBDIR} \
+"
+
+PACKAGES =+ "gvfsd-ftp gvfsd-sftp gvfsd-trash"
+
+FILES_${PN} += " \
+ ${datadir}/glib-2.0 \
+ ${datadir}/GConf \
+ ${datadir}/dbus-1/services \
+ ${libdir}/gio/modules/*.so \
+ ${libdir}/tmpfiles.d \
+ ${systemd_user_unitdir} \
+"
+RDEPENDS_${PN} = "udisks2"
+
+FILES_${PN}-dbg += "${libdir}/gio/modules/.debug/*"
+FILES_${PN}-dev += "${libdir}/gio/modules/*.la"
+
+FILES_gvfsd-ftp = "${libexecdir}/gvfsd-ftp ${datadir}/gvfs/mounts/ftp.mount"
+FILES_gvfsd-sftp = "${libexecdir}/gvfsd-sftp ${datadir}/gvfs/mounts/sftp.mount"
+FILES_gvfsd-trash = "${libexecdir}/gvfsd-trash ${datadir}/gvfs/mounts/trash.mount"
+
+RRECOMMENDS_gvfsd-ftp += "openssh-sftp openssh-ssh"
+
+PACKAGECONFIG ?= "libgphoto2 ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+
+PACKAGECONFIG[afc] = "--enable-afc, --disable-afc, libimobiledevice libplist"
+PACKAGECONFIG[archive] = "--enable-archive, --disable-archive, libarchive"
+PACKAGECONFIG[avahi] = "--enable-avahi, --disable-avahi, avahi"
+PACKAGECONFIG[gcr] = "--enable-gcr, --disable-gcr, gcr"
+PACKAGECONFIG[gtk] = "--enable-gtk, --disable-gtk, gtk+3"
+PACKAGECONFIG[http] = "--enable-http, --disable-http, libsoup-2.4"
+PACKAGECONFIG[libmtp] = "--enable-libmtp, --disable-libmtp, libmtp"
+PACKAGECONFIG[libgphoto2] = "--enable-gphoto2, --disable-gphoto2, libgphoto2"
+PACKAGECONFIG[samba] = "--enable-samba, --disable-samba, samba"
+PACKAGECONFIG[systemd] = "--with-systemduserunitdir=${systemd_user_unitdir},--without-systemduserunitdir,systemd"
+
+# needs meta-filesystems
+PACKAGECONFIG[fuse] = "--enable-fuse, --disable-fuse, fuse"
+
+# libcdio-paranoia recipe doesn't exist yet
+PACKAGECONFIG[cdda] = "--enable-cdda, --disable-cdda, libcdio-paranoia"
+
+# Fix up permissions on polkit rules.d to work with rpm4 constraints
+do_install_append() {
+ chmod 700 ${D}/${datadir}/polkit-1/rules.d
+ chown polkitd:root ${D}/${datadir}/polkit-1/rules.d
+}
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gweather/libgweather3_3.0.2.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gweather/libgweather3_3.0.2.bb
deleted file mode 100644
index 6920f0aa2..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gweather/libgweather3_3.0.2.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SECTION = "x11/gnome/libs"
-DEPENDS = "libxml2 gconf libsoup-2.4 gtk+3"
-
-PNBLACKLIST[libgweather3] ?= "CONFLICT: 876 files are conflicting with libgweather - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-# e.g. sysroots/qemux86-64/usr/share/libgweather/locations.dtd
-# sysroots/qemux86-64/usr/share/libgweather/Locations.zh_TW.xml
-
-BPN = "libgweather"
-
-inherit gnome
-SRC_URI[archive.md5sum] = "f1a96c6f19c9a0bc6b4e12acc9a8a85d"
-SRC_URI[archive.sha256sum] = "9041526fa0466b99dae5cf06c2cc70376f25531eec5d58b1e1378acfb302410c"
-
-do_configure_prepend() {
- sed -i -e 's: doc : :g' ${S}/Makefile.am
-}
-
-FILES_${PN} += "${datadir}/gnome* \
- ${datadir}/icons"
-
-PACKAGES =+ "${PN}-locationdata"
-FILES_${PN}-locationdata = "${datadir}/libgweather/*ocations*"
-
-
-
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
deleted file mode 100644
index 8b69f1fe7..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gweather/libgweather_2.30.3.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-SECTION = "x11/gnome/libs"
-DEPENDS = "libxml2 gconf libsoup-2.4 gtk+ libgnome-keyring"
-
-inherit gnome
-
-SRC_URI[archive.md5sum] = "bf6a0a05051341ecb250f332e3edfb88"
-SRC_URI[archive.sha256sum] = "b835374661423f37c46aa8e37368ae24a68856f117b7c21e475a21efdba5264c"
-GNOME_COMPRESS_TYPE="bz2"
-
-do_configure_prepend() {
- sed -i -e 's: doc : :g' ${S}/Makefile.am
-}
-
-FILES_${PN} += "${datadir}/gnome* \
- ${datadir}/icons"
-
-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 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/Makefile.am.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/Makefile.am.patch
deleted file mode 100644
index 190ba9608..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/Makefile.am.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-Index: libart_lgpl-2.3.21/Makefile.am
-===================================================================
---- libart_lgpl-2.3.21.orig/Makefile.am 2009-04-18 05:29:25.000000000 -0700
-+++ libart_lgpl-2.3.21/Makefile.am 2010-11-23 23:12:32.445450075 -0800
-@@ -7,8 +7,8 @@
-
- BUILT_SOURCES = art_config.h
-
--art_config.h:
-- ./gen_art_config.sh > art_config.h
-+#art_config.h:
-+# ./gen_art_config.sh > art_config.h
-
- EXTRA_DIST = \
- libart.def \
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/aarch64/art_config.h b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/aarch64/art_config.h
deleted file mode 100644
index 500ffc38f..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/aarch64/art_config.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Automatically generated by gen_art_config.c */
-
-#define ART_SIZEOF_CHAR 1
-#define ART_SIZEOF_SHORT 2
-#define ART_SIZEOF_INT 4
-#define ART_SIZEOF_LONG 8
-
-typedef unsigned char art_u8;
-typedef unsigned short art_u16;
-typedef unsigned int art_u32;
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/aarch64be/art_config.h b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/aarch64be/art_config.h
deleted file mode 100644
index 500ffc38f..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/aarch64be/art_config.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Automatically generated by gen_art_config.c */
-
-#define ART_SIZEOF_CHAR 1
-#define ART_SIZEOF_SHORT 2
-#define ART_SIZEOF_INT 4
-#define ART_SIZEOF_LONG 8
-
-typedef unsigned char art_u8;
-typedef unsigned short art_u16;
-typedef unsigned int art_u32;
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/aarch64be_32/art_config.h b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/aarch64be_32/art_config.h
deleted file mode 100644
index b0e74ad6a..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/aarch64be_32/art_config.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Automatically generated by gen_art_config.c */
-
-#define ART_SIZEOF_CHAR 1
-#define ART_SIZEOF_SHORT 2
-#define ART_SIZEOF_INT 4
-#define ART_SIZEOF_LONG 4
-
-typedef unsigned char art_u8;
-typedef unsigned short art_u16;
-typedef unsigned int art_u32;
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/arm/art_config.h b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/arm/art_config.h
deleted file mode 100644
index b0e74ad6a..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/arm/art_config.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Automatically generated by gen_art_config.c */
-
-#define ART_SIZEOF_CHAR 1
-#define ART_SIZEOF_SHORT 2
-#define ART_SIZEOF_INT 4
-#define ART_SIZEOF_LONG 4
-
-typedef unsigned char art_u8;
-typedef unsigned short art_u16;
-typedef unsigned int art_u32;
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/armeb/art_config.h b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/armeb/art_config.h
deleted file mode 100644
index b0e74ad6a..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/armeb/art_config.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Automatically generated by gen_art_config.c */
-
-#define ART_SIZEOF_CHAR 1
-#define ART_SIZEOF_SHORT 2
-#define ART_SIZEOF_INT 4
-#define ART_SIZEOF_LONG 4
-
-typedef unsigned char art_u8;
-typedef unsigned short art_u16;
-typedef unsigned int art_u32;
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/i386/art_config.h b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/i386/art_config.h
deleted file mode 100644
index b0e74ad6a..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/i386/art_config.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Automatically generated by gen_art_config.c */
-
-#define ART_SIZEOF_CHAR 1
-#define ART_SIZEOF_SHORT 2
-#define ART_SIZEOF_INT 4
-#define ART_SIZEOF_LONG 4
-
-typedef unsigned char art_u8;
-typedef unsigned short art_u16;
-typedef unsigned int art_u32;
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/i586/art_config.h b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/i586/art_config.h
deleted file mode 100644
index b0e74ad6a..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/i586/art_config.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Automatically generated by gen_art_config.c */
-
-#define ART_SIZEOF_CHAR 1
-#define ART_SIZEOF_SHORT 2
-#define ART_SIZEOF_INT 4
-#define ART_SIZEOF_LONG 4
-
-typedef unsigned char art_u8;
-typedef unsigned short art_u16;
-typedef unsigned int art_u32;
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/i686/art_config.h b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/i686/art_config.h
deleted file mode 100644
index b0e74ad6a..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/i686/art_config.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Automatically generated by gen_art_config.c */
-
-#define ART_SIZEOF_CHAR 1
-#define ART_SIZEOF_SHORT 2
-#define ART_SIZEOF_INT 4
-#define ART_SIZEOF_LONG 4
-
-typedef unsigned char art_u8;
-typedef unsigned short art_u16;
-typedef unsigned int art_u32;
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/mips/art_config.h b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/mips/art_config.h
deleted file mode 100644
index b0e74ad6a..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/mips/art_config.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Automatically generated by gen_art_config.c */
-
-#define ART_SIZEOF_CHAR 1
-#define ART_SIZEOF_SHORT 2
-#define ART_SIZEOF_INT 4
-#define ART_SIZEOF_LONG 4
-
-typedef unsigned char art_u8;
-typedef unsigned short art_u16;
-typedef unsigned int art_u32;
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/mips64/art_config.h b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/mips64/art_config.h
deleted file mode 100644
index d10cd957d..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/mips64/art_config.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Automatically generated by gen_art_config */
-
-#define ART_SIZEOF_CHAR 1
-#define ART_SIZEOF_SHORT 2
-#define ART_SIZEOF_INT 4
-#define ART_SIZEOF_LONG 8
-
-typedef unsigned char art_u8;
-typedef unsigned short art_u16;
-typedef unsigned int art_u32;
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/mips64el/art_config.h b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/mips64el/art_config.h
deleted file mode 100644
index d10cd957d..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/mips64el/art_config.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Automatically generated by gen_art_config */
-
-#define ART_SIZEOF_CHAR 1
-#define ART_SIZEOF_SHORT 2
-#define ART_SIZEOF_INT 4
-#define ART_SIZEOF_LONG 8
-
-typedef unsigned char art_u8;
-typedef unsigned short art_u16;
-typedef unsigned int art_u32;
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/mipsel/art_config.h b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/mipsel/art_config.h
deleted file mode 100644
index b0e74ad6a..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/mipsel/art_config.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Automatically generated by gen_art_config.c */
-
-#define ART_SIZEOF_CHAR 1
-#define ART_SIZEOF_SHORT 2
-#define ART_SIZEOF_INT 4
-#define ART_SIZEOF_LONG 4
-
-typedef unsigned char art_u8;
-typedef unsigned short art_u16;
-typedef unsigned int art_u32;
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/powerpc/art_config.h b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/powerpc/art_config.h
deleted file mode 100644
index b0e74ad6a..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/powerpc/art_config.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Automatically generated by gen_art_config.c */
-
-#define ART_SIZEOF_CHAR 1
-#define ART_SIZEOF_SHORT 2
-#define ART_SIZEOF_INT 4
-#define ART_SIZEOF_LONG 4
-
-typedef unsigned char art_u8;
-typedef unsigned short art_u16;
-typedef unsigned int art_u32;
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/powerpc64/art_config.h b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/powerpc64/art_config.h
deleted file mode 100644
index 500ffc38f..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/powerpc64/art_config.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Automatically generated by gen_art_config.c */
-
-#define ART_SIZEOF_CHAR 1
-#define ART_SIZEOF_SHORT 2
-#define ART_SIZEOF_INT 4
-#define ART_SIZEOF_LONG 8
-
-typedef unsigned char art_u8;
-typedef unsigned short art_u16;
-typedef unsigned int art_u32;
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/x86_64/art_config.h b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/x86_64/art_config.h
deleted file mode 100644
index 500ffc38f..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl/x86_64/art_config.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Automatically generated by gen_art_config.c */
-
-#define ART_SIZEOF_CHAR 1
-#define ART_SIZEOF_SHORT 2
-#define ART_SIZEOF_INT 4
-#define ART_SIZEOF_LONG 8
-
-typedef unsigned char art_u8;
-typedef unsigned short art_u16;
-typedef unsigned int art_u32;
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
deleted file mode 100644
index 7b295063b..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl_2.3.21.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "Library of functions for 2D graphics"
-SECTION = "x11/gnome"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
-PR = "r2"
-
-ART_CONFIG = "${HOST_ARCH}/art_config.h"
-
-# can't use gnome.oeclass due to _ in filename
-SRC_URI = "${GNOME_MIRROR}/libart_lgpl/2.3/libart_lgpl-${PV}.tar.bz2 \
- file://${ART_CONFIG} \
- file://Makefile.am.patch"
-
-SRC_URI[md5sum] = "08559ff3c67fd95d57b0c5e91a6b4302"
-SRC_URI[sha256sum] = "fdc11e74c10fc9ffe4188537e2b370c0abacca7d89021d4d303afdf7fd7476fa"
-
-inherit autotools pkgconfig
-
-DEPENDS = ""
-
-FILES_${PN} = "${libdir}/*.so.*"
-FILES_${PN}-dev += "${bindir}/libart2-config"
-
-S = "${WORKDIR}/libart_lgpl-${PV}"
-
-do_configure_prepend() {
- cp ${WORKDIR}/${ART_CONFIG} ${S}/art_config.h
-}
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
deleted file mode 100644
index 852d8e1ff..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_2.32.0.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "GNOME keyboard library"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=6e29c688d912da12b66b73e32b03d812"
-
-SECTION = "x11/gnome/libs"
-
-DEPENDS = "gconf gtk+ glib-2.0 libxklavier intltool-native gnome-common-native"
-
-inherit gnome
-
-SRC_URI[archive.md5sum] = "de32a6e3e3464b566eecdc4332bf34bd"
-SRC_URI[archive.sha256sum] = "ddd52c4cc7d83ad7ef964a1bcb4db87407e65b00ffc3e70c088ca4ee7383d256"
-GNOME_COMPRESS_TYPE="bz2"
-
-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
-}
-
-PNBLACKLIST[libgnomekbd] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130608/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.22.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.22.0.bb
new file mode 100644
index 000000000..12ed81d4f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.22.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "GNOME keyboard library"
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=6e29c688d912da12b66b73e32b03d812"
+
+SECTION = "x11/gnome/libs"
+
+DEPENDS = "gconf glib-2.0 libxklavier gtk+3 intltool-native"
+
+inherit gnome gobject-introspection gettext
+
+GNOME_COMPRESS_TYPE = "xz"
+
+SRC_URI[archive.md5sum] = "7b1ebf99f4254c99922163c262c7ff04"
+SRC_URI[archive.sha256sum] = "340b30dabfebbd4e0e6c0fe34a378966dd5640b5d44595ab8a19b0be255d77df"
+
+EXTRA_OECONF_remove = "--disable-schemas-install"
+
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libidl/libidl.inc b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libidl/libidl.inc
index a40203776..1a5c81582 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libidl/libidl.inc
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libidl/libidl.inc
@@ -1,4 +1,5 @@
DESCRIPTION = "Library for parsing CORBA IDL files"
+HOMEPAGE = "http://andrewtv.org/libIDL/"
SECTION = "x11/gnome/libs"
LICENSE = "LGPLv2+"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.5.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.5.bb
new file mode 100644
index 000000000..d6aeed380
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.5.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "Time zone map widget for Gtk+"
+HOMEPAGE = "https://launchpad.net/timezonemap"
+SECTION = "devel/lib"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "http://archive.ubuntu.com/ubuntu/pool/main/libt/${BPN}/${BPN}_${PV}.tar.gz \
+"
+SRC_URI[md5sum] = "054306fa998fe580f17b68aa1e16551b"
+SRC_URI[sha256sum] = "327e64a17c676c1bcda3b6ba3394d3d01250e5ac9a49222b9ff5737d90b15383"
+
+
+DEPENDS = "gtk+3 gdk-pixbuf libsoup-2.4 json-glib gnome-common-native \
+"
+
+B = "${S}"
+
+inherit autotools pkgconfig gobject-introspection
+
+do_configure_prepend() {
+ (cd ${S}; NOCONFIGURE="yes" . ${S}/autogen.sh)
+}
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus/idl-sysroot.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus/idl-sysroot.patch
deleted file mode 100644
index 0062cfb11..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus/idl-sysroot.patch
+++ /dev/null
@@ -1,7 +0,0 @@
-Index: nautilus-2.24.2/add-include-prefix
-===================================================================
---- nautilus-2.24.2.orig/add-include-prefix 2008-10-06 17:22:21.000000000 +0000
-+++ nautilus-2.24.2/add-include-prefix 2009-04-09 16:00:05.000000000 +0000
-@@ -1 +1 @@
--sed -e 's/^/ /' -e 's/ */ /g' -e 's/ / -I /g' -e 's/ -I $//'
-+sed -e 's:^: :' -e 's: *: :g' -e 's: : -I '"$SYSROOT"':g' -e 's: -I '"$SYSROOT"'$::'
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus/no-G_DISABLE_DEPRECATED.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus/no-G_DISABLE_DEPRECATED.patch
deleted file mode 100644
index 43a6152d8..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus/no-G_DISABLE_DEPRECATED.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From e7233d98c114b03c7c8b96d1f41770452da14aa7 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmx.de>
-Date: Mon, 17 Oct 2011 00:59:01 +0200
-Subject: [PATCH] nautilus build fails for newer glib versions
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-build with glib-2.0 v2.30.0 run into errors for at least G_CONST_RETURN missing
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmx.de>
----
- configure.in | 2 +-
- eel/Makefile.am | 1 -
- 2 files changed, 1 insertions(+), 2 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index 97e171e..859a097 100644
---- a/configure.in
-+++ b/configure.in
-@@ -342,7 +342,7 @@ AC_SUBST(CORE_CFLAGS)
- CORE_LIBS="`$PKG_CONFIG --libs $CORE_MODULES` $x_libs"
- AC_SUBST(CORE_LIBS)
-
--DISABLE_DEPRECATED_CFLAGS="-DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED"
-+DISABLE_DEPRECATED_CFLAGS="-DGDK_PIXBUF_DISABLE_DEPRECATED"
- AC_SUBST(DISABLE_DEPRECATED_CFLAGS)
-
- dnl Multimedia keys
-diff --git a/eel/Makefile.am b/eel/Makefile.am
-index b1fe356..c1d56cd 100644
---- a/eel/Makefile.am
-+++ b/eel/Makefile.am
-@@ -10,7 +10,6 @@ INCLUDES = \
- -DDATADIR=\""$(datadir)"\" \
- -DSOURCE_DATADIR=\""$(top_srcdir)/data"\" \
- -DGNOMELOCALEDIR=\""$(prefix)/${DATADIRNAME}/locale"\" \
-- -DG_DISABLE_DEPRECATED \
- -DGDK_PIXBUF_DISABLE_DEPRECATED \
- -DGMENU_I_KNOW_THIS_IS_UNSTABLE \
- $(NULL)
---
-1.7.4.4
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus3_3.2.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus3_3.2.1.bb
deleted file mode 100644
index 5580f93a5..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus3_3.2.1.bb
+++ /dev/null
@@ -1,54 +0,0 @@
-# nautilus OE build file
-# Copyright (C) 2005, Advanced Micro Devices, Inc. All Rights Reserved
-# Released under the MIT license (see packages/COPYING)
-
-LICENSE="GPLv2 & LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f08a446809913fc9b3c718f0eaea0426 \
- file://COPYING.LIB;md5=f30a9716ef3762e3467a2f62bf790f0a"
-
-PR = "r4"
-
-DEPENDS = "libnotify gtk+3 libunique gvfs librsvg libexif gnome-desktop3"
-# optional: tracker
-
-# to include nautilus3/no-try-run-strftime.diff before the rest
-FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
-BPN = "nautilus"
-inherit gnome
-
-SRC_URI += "file://no-try-run-strftime.diff"
-SRC_URI[archive.md5sum] = "12314328b59aa1dfd83619f718b81bd5"
-SRC_URI[archive.sha256sum] = "c482d6e7babcc238304cf55586cdf7e2b2806025214a143ed355f0d89b33b154"
-
-EXTRA_OECONF = " --disable-gtk-doc --disable-update-mimedb --enable-nst-extension"
-export SYSROOT = "${STAGING_DIR_HOST}"
-
-do_configure() {
- sed -i -e /docs/d ${S}/Makefile.am
- autotools_do_configure
-}
-
-RDEPENDS_${PN} = "gvfs gvfsd-ftp gvfsd-sftp gvfsd-trash glib-2.0-utils"
-FILES_${PN} += "${datadir}/icons \
- /usr/libexec/ \
- ${datadir}/nautilus* \
- ${datadir}/dbus-1 \
- ${libdir}/nautilus/extensions*/*.so \
-"
-FILES_${PN}-dbg += "/usr/libexec/.debug \
- ${libdir}/nautilus/extensions*/.debug"
-
-# Don't make nautils drag us in
-PRIVATE_LIBS = "libnautilus-extension.so.1"
-
-pkg_postinst_${PN} () {
-if [ -n "$D" ]; then
- exit 1
-fi
-
-glib-compile-schemas ${datadir}/glib-2.0/schemas
-}
-
-# 3.2.1-r4/nautilus-3.2.1/eel/eel-gnome-extensions.c:34:50: fatal error: libgnome-desktop/gnome-desktop-utils.h: No such file or directory
-# 3.2.1-r4/nautilus-3.2.1/eel/eel-editable-label.c:3105:55: error: 'GTK_STOCK_CUT' undeclared (first use in this function)
-PNBLACKLIST[nautilus3] ?= "BROKEN: fails to build, maybe missing dependency on gnome-desktop-utils.h provider - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_2.32.2.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_2.32.2.bb
deleted file mode 100644
index caf7f57b1..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_2.32.2.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-# nautilus OE build file
-# Copyright (C) 2005, Advanced Micro Devices, Inc. All Rights Reserved
-# Released under the MIT license (see packages/COPYING)
-
-LICENSE="GPLv2 & LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=7c0048536e43642a1f3a724c2909872b \
- file://COPYING.LIB;md5=f30a9716ef3762e3467a2f62bf790f0a"
-
-PR = "r6"
-
-DEPENDS = "gdk-pixbuf gtk+ libunique gvfs librsvg libexif esound gnome-desktop orbit2-native"
-# optional: tracker
-
-inherit gnome gobject-introspection
-
-SRC_URI[archive.md5sum] = "51565aa10d1625dff56e381228346911"
-SRC_URI[archive.sha256sum] = "2d4ff28c7a7aa5d40eb2468149954a564c257a305183773057584d22d15347a2"
-GNOME_COMPRESS_TYPE="bz2"
-
-SRC_URI += "file://idl-sysroot.patch \
- file://no-try-run-strftime.diff \
- file://no-G_DISABLE_DEPRECATED.patch \
-"
-
-
-EXTRA_OECONF = " --disable-gtk-doc --disable-update-mimedb "
-export SYSROOT = "${STAGING_DIR_HOST}"
-
-do_configure() {
- sed -i -e /docs/d ${S}/Makefile.am
- autotools_do_configure
- # We need native orbit-idl with target idl files. No way to say it in a clean way:
- find ${B} -name Makefile -exec sed -i '/\/usr\/bin\/orbit-idl-2/{s:/usr/bin:${STAGING_BINDIR_NATIVE}:;s:/usr/share:${STAGING_DATADIR}:g}' {} \;
-}
-
-RDEPENDS_${PN} = "gvfs gvfsd-ftp gvfsd-sftp gvfsd-trash glib-networking"
-FILES_${PN} += "${datadir}/icons"
-
-# Don't make nautils3 drag us in
-PRIVATE_LIBS = "libnautilus-extension.so.1"
-
-
-PNBLACKLIST[nautilus] ?= "Depends on blacklisted gnome-desktop - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/orbit2/orbit2_2.14.19.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/orbit2/orbit2_2.14.19.bb
index f9af2ee64..eb4397263 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/orbit2/orbit2_2.14.19.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/orbit2/orbit2_2.14.19.bb
@@ -1,4 +1,5 @@
SUMMARY = "CORBA ORB"
+HOMEPAGE = "http://www.gnome.org/projects/ORBit2"
SECTION = "x11/gnome/libs"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/contacts.inc b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/contacts.inc
deleted file mode 100644
index fedd22332..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/contacts.inc
+++ /dev/null
@@ -1,28 +0,0 @@
-DESCRIPTION = "Address-book application."
-HOMEPAGE = "http://pimlico-project.org/contacts.html"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-
-LICENSE = "GPLv2 & GPLv2+ & GPLv3+ "
-SECTION = "x11"
-DEPENDS = "glib-2.0 gtk+ evolution-data-server intltool-native"
-RDEPENDS_${PN} = "libedata-book"
-
-inherit autotools pkgconfig gconf
-
-EXTRA_OECONF += "--disable-gnome-vfs"
-EXTRA_OEMAKE += "GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1"
-
-do_install_append () {
- install -d ${D}/${datadir}/pixmaps
- install -m 0644 ${WORKDIR}/stock_contact.png ${D}/${datadir}/pixmaps
- install -m 0644 ${WORKDIR}/stock_person.png ${D}/${datadir}/pixmaps
-}
-
-FILES_${PN} += "${datadir}/pixmaps/stock_contact.png \
- ${datadir}/pixmaps/stock_person.png \
- ${datadir}/icons/hicolor"
-
-SRC_URI = "file://stock_contact.png \
- file://stock_person.png \
- file://contacts-conditionally-install-schema.patch \
-"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/contacts/contacts-conditionally-install-schema.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/contacts/contacts-conditionally-install-schema.patch
deleted file mode 100644
index 2ab7882c8..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/contacts/contacts-conditionally-install-schema.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Install schema should respect to GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL
-
-If GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL is set, the schema should not
-be installed.
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-
-Upstream-Status: Pending
----
- data/Makefile.am | 7 ++++---
- 1 files changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/data/Makefile.am b/data/Makefile.am
-index f790823..b6fd643 100644
---- a/data/Makefile.am
-+++ b/data/Makefile.am
-@@ -14,13 +14,14 @@ dist_man1_MANS = contacts.1
-
- if HAVE_GCONF
- install-data-local:
-- GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) \
-+ if [ "$(GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL)" != "1" ]; then \
-+ GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) \
- $(GCONFTOOL) --makefile-install-rule $(schema_DATA) || \
- (echo ;\
- echo "*****************************************************"; \
- echo "Installation of schemas failed, install them manually"; \
-- echo "*****************************************************";)
-- @true
-+ echo "*****************************************************";); \
-+ fi
- endif
-
- CLEANFILES = $(desktop_DATA)
---
-1.7.7.6
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/contacts/make-382.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/contacts/make-382.patch
deleted file mode 100644
index a7cfee3a0..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/contacts/make-382.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Fix for stricter parser in make 3.82. This fix has been pushed to upstream git.
-
-JL - 15/12/10
-
-Upstream-Status: Accepted
-
-Index: git/Makefile.am
-===================================================================
---- git.orig/Makefile.am
-+++ git/Makefile.am
-@@ -11,4 +11,4 @@ DISTCLEANFILES = $(INTLTOOL_BUILT)
- MAINTAINERCLEANFILES = aclocal.m4 compile config.guess config.sub configure depcomp $(INTLTOOL_BUILT:=.in) install-sh ltmain.sh mkinstalldirs Makefile.in missing
-
- snapshot:
-- $(MAKE) dist distdir=$(PACKAGE)-snap`date +"%Y%m%d"`
-+ $(MAKE) dist distdir=$(PACKAGE)-snap`date +"%Y%m%d"`
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/contacts_0.9.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/contacts_0.9.bb
deleted file mode 100644
index 516cf93e4..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/contacts_0.9.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-require contacts.inc
-
-PR = "r8"
-
-SRC_URI =+ "http://pimlico-project.org/sources/${BPN}/${BPN}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "aab5affbf93d6fa7b978b323a8d44de0"
-SRC_URI[sha256sum] = "9cacec98f8123993033aaa255f3f4c04c86a1be65e487dd21f0aaa54384a6f6d"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
- file://src/contacts-main.h;endline=18;md5=0371af46fbc72e33575e0072dca5fb19 \
- file://src/contacts-dbus.c;endline=18;md5=e4da9ac1a0539fafc7df431010904fd5 \
- file://src/contacts-gtk.c;endline=21;md5=1c2e3f55b215635eff4ba76f7696f8ee"
-
-do_configure_prepend () {
- # It used 8 spaces to instead of a tab, but it doesn't work for us
- sed -i 's/^ $(MAKE) dist distdir=/\t$(MAKE) dist distdir/' Makefile.am
-}
-
-PNBLACKLIST[contacts] ?= "Fails to fetch, pimlico-project.org is gone http://errors.yoctoproject.org/Errors/Details/132854/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/contacts_git.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/contacts_git.bb
deleted file mode 100644
index b46e9d9db..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/contacts_git.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-require contacts.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
- file://src/contacts-main.h;endline=20;md5=9dc3531c914fb6d6d4a8d1aee4519fef \
- file://src/contacts-dbus.c;endline=20;md5=95e02d77f155fbd07a14dba3348b9b03 \
- file://src/contacts-gtk.c;endline=23;md5=e1ee9b9e72045f2d3aa44cf17313b46e"
-
-SRCREV = "19853893fdb595de6aa59db0d9dc2f9451ed2933"
-PV = "0.12+git${SRCPV}"
-PR = "r4"
-
-S = "${WORKDIR}/git"
-
-SRC_URI =+ "git://git.gnome.org/${BPN} \
- file://make-382.patch"
-
-S = "${WORKDIR}/git"
-
-PNBLACKLIST[contacts] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/132826/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/tasks.inc b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/tasks.inc
deleted file mode 100644
index f8217dc3a..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/tasks.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-DESCRIPTION = "Task list application"
-HOMEPAGE = "http://pimlico-project.org/tasks.html"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-
-LICENSE = "GPLv2 & GPLv2+"
-
-SECTION = "x11"
-DEPENDS = "glib-2.0 gtk+ evolution-data-server intltool-native"
-
-inherit autotools pkgconfig gtk-icon-cache
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
deleted file mode 100644
index 42c20c47e..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/tasks_0.19.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require tasks.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
- file://src/gtk/main.c;endline=19;md5=8659d0b7fd68a2ad6ac30c6539ea5b82 \
- file://src/omoko/openmoko-tasks.c;endline=20;md5=04d56a46863c9f4247694f40257a836a \
- file://src/hildon/hildon-tasks.c;endline=21;md5=488ddf31dc14b2196dec7cc736211b52"
-
-SRC_URI = "http://pimlico-project.org/sources/${BPN}/${BPN}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "0afd969758561599fd782e1effb39c08"
-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 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
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
deleted file mode 100644
index b71f1dc5b..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/tasks_git.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require tasks.inc
-
-SRC_URI = "git://git.gnome.org/${BPN}"
-
-SRCREV = "ea52d46d691c5fce4473ea4e24a35411381f3a65"
-PV = "0.13+git${SRCPV}"
-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 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/system-tools/system-tools-backends-2.10.2/add-angstrom-distro.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/system-tools/system-tools-backends-2.10.2/add-angstrom-distro.patch
deleted file mode 100644
index cb03fd86e..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/system-tools/system-tools-backends-2.10.2/add-angstrom-distro.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From b5084616a3bc2a0d485f43aeae69c6025f3f857e Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Fri, 10 Jun 2011 18:44:21 +0200
-Subject: [PATCH] add support for the angstrom distribtion
-
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
----
- Utils/Platform.pm | 3 +++
- 1 files changed, 3 insertions(+), 0 deletions(-)
-
-diff --git a/Utils/Platform.pm b/Utils/Platform.pm
-index fc76360..8b8c770 100644
---- a/Utils/Platform.pm
-+++ b/Utils/Platform.pm
-@@ -92,6 +92,7 @@ my $PLATFORM_INFO = {
- "nexenta-1.0" => [ "Nexenta GNU/Solaris", "1.0", "Ellate" ],
- "yellowdog-4.1" => [ "Yellow Dog Linux", "4.1", "Sagitta" ],
- "guadalinex-v4" => [ "Guadalinex", "v4", "Toro" ],
-+ "angstrom" => [ "Angstrom", "", "" ],
- };
-
- sub get_platform_info
-@@ -143,6 +144,7 @@ sub ensure_distro_map
- "vine-3.1" => "vine-3.0",
- "vlos-1.2" => "gentoo",
- "nexenta-1.0" => "solaris-2.11",
-+ "angstrom" => "debian",
- );
-
- return $metamap{$distro} if ($metamap{$distro});
-@@ -375,6 +377,7 @@ sub guess
- [ \&check_ark ],
- [ \&check_yoper ],
- [ \&check_distro_file, "/etc/yellowdog-release", "yellowdog", "^Yellow Dog Linux release (\\S+)" ],
-+ [ \&check_file_exists, "/etc/angstrom-version", "angstrom" ],
- ],
- "FreeBSD" => [[ \&check_freebsd ]],
- "SunOS" => [[ \&check_solaris ]]
---
-1.6.6.1
-
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
deleted file mode 100644
index 862c0ea30..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/system-tools/system-tools-backends_2.10.2.bb
+++ /dev/null
@@ -1,54 +0,0 @@
-SUMMARY = "gnome system tools backends"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-DEPENDS = "dbus dbus-glib glib-2.0 polkit"
-
-inherit gnome pkgconfig update-rc.d gettext
-
-SRC_URI[archive.md5sum] = "edae148b31342aecae035051adc70c74"
-SRC_URI[archive.sha256sum] = "1dbe5177df46a9c7250735e05e77129fe7ec04840771accfa87690111ca2c670"
-
-SRC_URI += " \
- file://system-tools-backends \
-"
-
-# This needs to move to meta-angstrom
-SRC_URI_append_angstrom = " \
- file://add-angstrom-distro.patch \
-"
-
-EXTRA_OECONF = " --with-net-dbus=${libdir}/perl5 "
-
-do_configure() {
- rm missing || true
- automake --add-missing
- sed -i -e 's:CC=$(CC):CC="$(CC)":g' ${S}/Net-DBus/Makefile.am
- sed -i -e 's:CC=$(CC):CC="$(CC)":g' ${S}/Net-DBus/Makefile.in
- libtoolize --force --install
- aclocal
- gnu-configize
- oe_runconf
- cp ${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool ${S}
-}
-
-do_install_append () {
- install -d ${D}/${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/system-tools-backends ${D}/${sysconfdir}/init.d/
-}
-
-INITSCRIPT_NAME = "system-tools-backends"
-INITSCRIPT_PARAMS = "start 50 2 3 4 5 . stop 70 1 ."
-
-# Shadow added so there is a full adduser/deluser
-# (Gnome images tend to pull in shadow anyway)
-RDEPENDS_${PN} = "shadow"
-
-FILES_${PN} += " ${sysconfdir}/dbus-1/system.d"
-FILES_${PN} += " ${libdir}/pkgconfig"
-FILES_${PN} += " ${datadir}/dbus-1/system-services"
-FILES_${PN} += " ${datadir}/system-tools-backends-2.0/files"
-FILES_${PN} += " ${datadir}/system-tools-backends-2.0/scripts"
-FILES_${PN} += " ${datadir}/polkit*"
-
-PNBLACKLIST[system-tools-backends] ?= "does not build with distroless qemuarm as reported in 'State of bitbake world' thread, nobody volunteered to fix them - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/zenity/files/0001-Makefile.am-don-t-build-help.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/zenity/files/0001-Makefile.am-don-t-build-help.patch
deleted file mode 100644
index 50c9cb99f..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/zenity/files/0001-Makefile.am-don-t-build-help.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 17e5606f8c4c8ff26ba18489aad4c484cf8e2949 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Mon, 29 Apr 2013 11:34:27 +0200
-Subject: [PATCH] Makefile.am: don't build help
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-it crashes with:
-
-| warning: failed to load external entity "/usr/share/xml/gnome/xslt/docbook/omf/db2omf.xsl"
-| cannot parse /usr/share/xml/gnome/xslt/docbook/omf/db2omf.xsl
-| make[2]: *** [zenity-bg.omf] Error 1
-| make[2]: Leaving directory `/home/andreas/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/zenity/2.32.1-r2/zenity-2.32.1/help'
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- Makefile.am | 3 +--
- 1 files changed, 1 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 03accc1..caec7f0 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -1,8 +1,7 @@
- SUBDIRS = \
- src \
- po \
-- data \
-- help
-+ data
-
- EXTRA_DIST = \
- autogen.sh \
---
-1.7.6.5
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_2.32.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_2.32.1.bb
deleted file mode 100644
index bd9f7a0ab..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_2.32.1.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Display dialog boxes from the commandline and shell scripts"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
-
-PR = "r2"
-
-PNBLACKLIST[zenity] ?= "BROKEN: doesn't build with B!=S - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-DEPENDS = "gtk+ glib-2.0 libnotify gnome-doc-utils"
-
-inherit gnomebase
-SRC_URI += "file://0001-Makefile.am-don-t-build-help.patch"
-SRC_URI[archive.md5sum] = "aa66ec35451b16e424519b4973082170"
-SRC_URI[archive.sha256sum] = "8838be041a07364b62a4281c971392e4a09bb01bb3237a836ec0457ec0ea18ac"
-
-EXTRA_OECONF += "--disable-scrollkeeper"
-# remove -I/usr/include from zenity_CPPFLAGS
-do_configure_prepend() {
- sed -i -e '/-I$(includedir)/d' src/Makefile.am
-}
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-support/florence/files/0001-Fix-glib-includes.patch b/import-layers/meta-openembedded/meta-gnome/recipes-support/florence/files/0001-Fix-glib-includes.patch
deleted file mode 100644
index 83e598e6a..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-support/florence/files/0001-Fix-glib-includes.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From c8419ef05ff92ffa3de2e626eb6acd5d2df3baa1 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Tue, 15 May 2012 13:40:05 +0200
-Subject: [PATCH] Fix glib includes
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-Upstream-Status: unknown
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- src/trace.c | 5 +----
- 1 files changed, 1 insertions(+), 4 deletions(-)
-
-diff --git a/src/trace.c b/src/trace.c
-index 5ea5c13..774c56d 100644
---- a/src/trace.c
-+++ b/src/trace.c
-@@ -21,10 +21,7 @@
-
- #include "trace.h"
- #include "system.h"
--#include <glib/gprintf.h>
--#include <glib/gutils.h>
--#include <glib/gslist.h>
--#include <glib/gstrfuncs.h>
-+#include <glib.h>
- #include <stdio.h>
- #include <stdarg.h>
-
---
-1.7.6.5
-
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
deleted file mode 100644
index 0bb5dee80..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-support/florence/files/fix-no-atspi-compile.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-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.4.bb b/import-layers/meta-openembedded/meta-gnome/recipes-support/florence/florence_0.5.4.bb
deleted file mode 100644
index 8ce85c967..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-support/florence/florence_0.5.4.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 gconf-native 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/florence/florence_0.6.3.bb b/import-layers/meta-openembedded/meta-gnome/recipes-support/florence/florence_0.6.3.bb
new file mode 100644
index 000000000..b9b7d0cb1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-support/florence/florence_0.6.3.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Florence is a virtual keyboard for touch screens"
+HOMEPAGE = "http://florence.sourceforge.net/english.html"
+
+#NOTICE: If florence can't find its gconf settings, you need to start florence with --config for one time and save the configuration once.
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+DEPENDS = "gtk+3 libxml2 libglade librsvg libxtst gconf gconf-native cairo intltool-native gnome-doc-utils libnotify gstreamer1.0"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/${PN}/${PN}/${PV}/${PN}-${PV}.tar.bz2"
+SRC_URI[md5sum] = "8775051d7352f75dec5a86dc9964e8e0"
+SRC_URI[sha256sum] = "422992fd07d285be73cce721a203e22cee21320d69b0fda1579ce62944c5091e"
+
+inherit gettext autotools gconf pkgconfig
+
+EXTRA_OECONF = "--disable-scrollkeeper --without-docs --without-at-spi --without-panelapplet --without-xrecord"
+
+FILES_${PN} += "${datadir}/glib-2.0/schemas"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-support/goffice/goffice/0001-configure.ac-fix-paths-to-introspection-tools.patch b/import-layers/meta-openembedded/meta-gnome/recipes-support/goffice/goffice/0001-configure.ac-fix-paths-to-introspection-tools.patch
deleted file mode 100644
index a645978d9..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-support/goffice/goffice/0001-configure.ac-fix-paths-to-introspection-tools.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 8e158c16cd15fff08b42ed86edc55816d3387837 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 19 Feb 2016 16:04:24 +0200
-Subject: [PATCH] configure.ac: fix paths to introspection tools
-
-They need to be prefixed with $PKG_CONFIG_SYSROOT_DIR
-
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- configure.ac | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 6d2b747..3b28463 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -706,9 +706,9 @@ if test "x$found_introspection" = "xyes"; then
- dnl python where to find libgoffice, so you might also need to set
- dnl LD_LIBRARY_PATH.
-
-- INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
-- INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
-- INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
-+ INTROSPECTION_SCANNER=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
-+ INTROSPECTION_COMPILER=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
-+ INTROSPECTION_GENERATE=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
- if test "x$INTROSPECTION_GIRDIR" = x; then
- INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
- fi
-@@ -717,7 +717,7 @@ if test "x$found_introspection" = "xyes"; then
- fi
- INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
- INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
-- INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
-+ INTROSPECTION_MAKEFILE=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
- else
- INTROSPECTION_SCANNER=
- INTROSPECTION_COMPILER=
---
-2.7.0
-
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
deleted file mode 100644
index 6a2080d4c..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-support/goffice/goffice_0.10.1.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-DESCRIPTION="Gnome Office Library"
-
-LICENSE="GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6dc33ff21e1ba1ac1a2a1069d361e29e"
-
-DEPENDS = "libxml-parser-perl-native glib-2.0 gtk+3 pango cairo libgsf libpcre libxml2 libart-lgpl librsvg intltool"
-
-inherit gnomebase pkgconfig perlnative gobject-introspection
-
-GNOME_COMPRESS_TYPE = "xz"
-
-SRC_URI += "file://0001-configure.ac-fix-paths-to-introspection-tools.patch"
-
-SRC_URI[archive.md5sum] = "90fd17c6fe205b779571e00d9b0b4727"
-SRC_URI[archive.sha256sum] = "5c38f4e81e874cc8e89481b080f77c47c72bfd6fe2526f4fc2ef87c17f96cad0"
-
-FILES_${PN}-dbg += "${libdir}/goffice/${PV}/plugins/*/.debug"
-
-RRECOMMENDS_${PN} = " \
- goffice-plugin-plot-barcol \
- goffice-plugin-plot-distrib \
- goffice-plugin-plot-pie \
- goffice-plugin-plot-radar \
- goffice-plugin-plot-surface \
- goffice-plugin-plot-xy \
- goffice-plugin-reg-linear \
- goffice-plugin-reg-logfit \
- goffice-plugin-smoothing \
-"
-
-FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*${SOLIBS} \
- ${sysconfdir} ${sharedstatedir} ${localstatedir} \
- ${base_bindir}/* ${base_sbindir}/* \
- ${base_libdir}/*${SOLIBS} \
- ${datadir}/${PN} \
- ${datadir}/pixmaps ${datadir}/applications \
- ${datadir}/idl ${datadir}/omf ${datadir}/sounds \
- ${libdir}/bonobo/servers"
-
-FILES_${PN}-locale = "${libdir}/locale"
-
-PACKAGES_DYNAMIC += "^goffice-plugin-.*"
-
-python populate_packages_prepend () {
- goffice_libdir = d.expand('${libdir}/goffice/${PV}/plugins/')
-
- 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 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-support/keybinder/keybinder_3.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-support/keybinder/keybinder_3.0.bb
new file mode 100644
index 000000000..d6744a306
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-support/keybinder/keybinder_3.0.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "keybinder is a library for registering global key bindings, for gtk-based applications."
+HOMEPAGE = "https://github.com/engla/keybinder"
+LICENSE = "X11"
+SECTION = "devel/lib"
+DEPENDS = "gtk+3 gobject-introspection-native \
+ gtk+ \
+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=1f18f9c6d8b4cfcc7d7804a243a4c0b4"
+
+S = "${WORKDIR}/git"
+B = "${S}"
+
+SRCREV = "736ccef40d39603b8111c8a3a0bca0319bbafdc0"
+PV = "3.0+git${SRCPV}"
+SRC_URI = "git://github.com/engla/keybinder.git;branch=keybinder-3.0 \
+"
+
+RDEPENDS_${PN} = "gtk+"
+
+inherit autotools gtk-doc gobject-introspection
+do_configure_prepend() {
+ touch ${S}/ChangeLog
+}
+
+SRC_DISTRIBUTE_LICENSES += "X11"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch b/import-layers/meta-openembedded/meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch
new file mode 100644
index 000000000..fda37895c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch
@@ -0,0 +1,67 @@
+From 1c95f64aa342147387ce4b1b7269a5c8b34bd898 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Jul 2017 09:01:04 -0700
+Subject: [PATCH] pypredict/lm: Define error API if platform does not have it
+
+error() API is not implemented across all libcs on linux
+e.g. musl does not provide it.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Onboard/pypredict/lm/lm.cpp | 1 -
+ Onboard/pypredict/lm/lm.h | 13 +++++++++++++
+ Onboard/pypredict/lm/lm_dynamic.cpp | 2 --
+ 3 files changed, 13 insertions(+), 3 deletions(-)
+
+diff --git a/Onboard/pypredict/lm/lm.cpp b/Onboard/pypredict/lm/lm.cpp
+index 2e64296..37ae241 100644
+--- a/Onboard/pypredict/lm/lm.cpp
++++ b/Onboard/pypredict/lm/lm.cpp
+@@ -19,7 +19,6 @@
+
+ #include <stdlib.h>
+ #include <stdio.h>
+-#include <error.h>
+ #include <algorithm>
+ #include <cmath>
+ #include <string>
+diff --git a/Onboard/pypredict/lm/lm.h b/Onboard/pypredict/lm/lm.h
+index ed4164a..b8b63ee 100644
+--- a/Onboard/pypredict/lm/lm.h
++++ b/Onboard/pypredict/lm/lm.h
+@@ -32,6 +32,19 @@
+ #include <algorithm>
+ #include <string>
+
++#if defined(HAVE_ERROR_H)
++#include <error.h>
++#else
++#include <err.h>
++#define _onboard_error(S, E, F, ...) do { \
++ if (E) \
++ err(S, F ": %s", ##__VA_ARGS__, strerror(E)); \
++ else \
++ err(S, F, ##__VA_ARGS__); \
++} while(0)
++
++#define error _onboard_error
++#endif
+
+ // break into debugger
+ // step twice to come back out of the raise() call into known code
+diff --git a/Onboard/pypredict/lm/lm_dynamic.cpp b/Onboard/pypredict/lm/lm_dynamic.cpp
+index 7c62824..e7c7f40 100644
+--- a/Onboard/pypredict/lm/lm_dynamic.cpp
++++ b/Onboard/pypredict/lm/lm_dynamic.cpp
+@@ -17,8 +17,6 @@
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+-#include <error.h>
+-
+ #include "lm_dynamic.h"
+
+ using namespace std;
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-support/onboard/onboard_1.3.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-support/onboard/onboard_1.3.0.bb
deleted file mode 100644
index bdf0a4eb9..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-support/onboard/onboard_1.3.0.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "An onscreen keyboard"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING.GPL3;md5=8521fa4dd51909b407c5150498d34f4e"
-
-DEPENDS += "gtk+3 hunspell libcanberra libxkbfile dconf python3-distutils-extra-native intltool-native"
-
-SRC_URI = "https://launchpad.net/onboard/1.3/${PV}/+download/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "8000df3e789512a90fcb227580fd60ff"
-SRC_URI[sha256sum] = "fd74b54b8bd7a075cf5f6e1a8ca3e6de5cd2663507adb690d7b1a85e71afa2e4"
-
-inherit setuptools3 pkgconfig gtk-icon-cache gsettings
-
-FILES_${PN} += " \
- ${datadir}/dbus-1 \
- ${datadir}/icons \
- ${datadir}/gnome-shell \
- ${datadir}/help \
-"
-
-RDEPENDS_${PN} += " \
- ncurses \
- python3-dbus \
- python3-pycairo \
- python3-pygobject \
-"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-support/onboard/onboard_1.4.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-support/onboard/onboard_1.4.1.bb
new file mode 100644
index 000000000..10765ee0c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-support/onboard/onboard_1.4.1.bb
@@ -0,0 +1,27 @@
+SUMMARY = "An onscreen keyboard"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING.GPL3;md5=8521fa4dd51909b407c5150498d34f4e"
+
+DEPENDS += "gtk+3 hunspell libcanberra libxkbfile dconf python3-distutils-extra-native intltool-native"
+
+SRC_URI = "https://launchpad.net/onboard/1.4/${PV}/+download/${BPN}-${PV}.tar.gz \
+ file://0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch \
+ "
+SRC_URI[md5sum] = "1a2fbe82e934f5b37841d17ff51e80e8"
+SRC_URI[sha256sum] = "01cae1ac5b1ef1ab985bd2d2d79ded6fc99ee04b1535cc1bb191e43a231a3865"
+
+inherit setuptools3 pkgconfig gtk-icon-cache gsettings
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1 \
+ ${datadir}/icons \
+ ${datadir}/gnome-shell \
+ ${datadir}/help \
+"
+
+RDEPENDS_${PN} += " \
+ ncurses \
+ python3-dbus \
+ python3-pycairo \
+ python3-pygobject \
+"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/tracker-0.14.2/enable-sqlite-crosscompile.patch b/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/tracker-0.14.2/enable-sqlite-crosscompile.patch
deleted file mode 100644
index 5dadda2a2..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/tracker-0.14.2/enable-sqlite-crosscompile.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: tracker-0.10.17/m4/sqlite-threadsafe.m4
-===================================================================
---- tracker-0.10.17.orig/m4/sqlite-threadsafe.m4
-+++ tracker-0.10.17/m4/sqlite-threadsafe.m4
-@@ -45,7 +45,7 @@ int main ()
- ]])],
- [ax_cv_sqlite_threadsafe=yes],
- [ax_cv_sqlite_threadsafe=no],
-- [ax_cv_sqlite_threadsafe=no])])
-+ [ax_cv_sqlite_threadsafe=yes])])
-
- LIBS="$save_LIBS"
- ])
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/tracker-0.14.2/fix-removable-media-detection.patch b/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/tracker-0.14.2/fix-removable-media-detection.patch
deleted file mode 100644
index 6c3d9de10..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/tracker-0.14.2/fix-removable-media-detection.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Index: tracker-0.14.2/src/libtracker-miner/tracker-storage.c
-===================================================================
---- tracker-0.14.2.orig/src/libtracker-miner/tracker-storage.c 2011-08-03 13:53:16.000000000 +0100
-+++ tracker-0.14.2/src/libtracker-miner/tracker-storage.c 2012-09-10 08:25:18.322215126 +0100
-@@ -20,6 +20,7 @@
- #include "config.h"
-
- #include <string.h>
-+#include <sys/stat.h>
-
- #include <gio/gio.h>
- #include <gio/gunixmounts.h>
-@@ -646,6 +647,17 @@
- gchar *content_type;
- gboolean is_multimedia;
- gboolean is_blank;
-+ struct stat st;
-+
-+ /*
-+ * Consider all files under /media to be
-+ * removable unless the file .this-is-root is
-+ * present.
-+ */
-+ if (!strncmp (mount_path, "/media/",
-+ strlen ("/media/")) &&
-+ stat ("/media/.this-is-root", &st))
-+ is_removable = TRUE;
-
- content_type = mount_guess_content_type (mount, &is_optical, &is_multimedia, &is_blank);
-
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
deleted file mode 100644
index fab3371f0..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/tracker-0.14.2/giflib5-support.patch
+++ /dev/null
@@ -1,126 +0,0 @@
- 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
deleted file mode 100644
index eb36a120f..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/tracker_0.14.2.bb
+++ /dev/null
@@ -1,88 +0,0 @@
-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 intltool-native"
-
-RDEPENDS_${PN} += " gvfs gsettings-desktop-schemas"
-
-RDEPENDS_${PN}-nautilus-extension += "nautilus"
-HOMEPAGE = "http://projects.gnome.org/tracker/"
-
-PR = "r7"
-
-inherit autotools pkgconfig gnomebase gettext gsettings systemd gobject-introspection
-
-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://giflib5-support.patch \
- file://90tracker \
- file://tracker-store.service \
- file://tracker-miner-fs.service \
- file://tracker-dbus.service \
- "
-
-SYSTEMD_SERVICE_${PN} = " tracker-store.service tracker-miner-fs.service tracker-dbus.service "
-SYSTEMD_AUTO_ENABLE = "disable"
-
-EXTRA_OECONF += " tracker_cv_have_ioprio=yes"
-
-PACKAGECONFIG ?= "nautilus"
-PACKAGECONFIG[nautilus] = "--enable-nautilus-extension,--disable-nautilus-extension,nautilus"
-
-# Disable the desktop-centric miners
-EXTRA_OECONF += "--disable-miner-thunderbird --disable-miner-firefox \
- --disable-miner-evolution --disable-miner-flickr"
-
-LEAD_SONAME = "libtrackerclient.so.0"
-
-do_compile_prepend() {
- export GIR_EXTRA_LIBS_PATH="${B}/src/libtracker-sparql-backend/.libs:${B}/src/libtracker-data/.libs:${B}/src/libtracker-common/.libs"
-}
-
-do_install_append() {
- cp -PpR ${D}${STAGING_DATADIR}/* ${D}${datadir}/ || true
-# install -d ${D}/${sysconfdir}/X11/Xsession.d/
-# install -m 0755 ${WORKDIR}/90tracker ${D}/${sysconfdir}/X11/Xsession.d/
-
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/tracker-store.service ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/tracker-miner-fs.service ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/tracker-dbus.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@LIBEXECDIR@,${libexecdir},g' \
- -e 's,@BASE_BINDIR@,${base_bindir},g' \
- ${D}${systemd_unitdir}/system/*.service
-}
-
-PACKAGES =+ "${PN}-tests ${PN}-vala ${PN}-nautilus-extension"
-
-FILES_${PN} += "${datadir}/dbus-1/ \
- ${libdir}/tracker-${VER_DIR}/*.so.* \
- ${libdir}/tracker-${VER_DIR}/extract-modules/*.so \
- ${libdir}/tracker-${VER_DIR}/writeback-modules/*.so \
- ${datadir}/icons/hicolor/*/apps/tracker.* \
- ${libdir}/nautilus/extensions-2.0/*.la \
- ${datadir}/glib-2.0/schemas/* \
- ${systemd_unitdir}/system/tracker-store.service \
- ${systemd_unitdir}/system/tracker-miner-fs.service \
- ${systemd_unitdir}/system/tracker-dbus.service \
-"
-
-FILES_${PN}-dev += "${libdir}/tracker-${VER_DIR}/*.la \
- ${libdir}/tracker-${VER_DIR}/*.so \
- ${libdir}/tracker-${VER_DIR}/*/*.la \
- ${libdir}/tracker-${VER_DIR}/extract-modules/*.la"
-
-FILES_${PN}-staticdev += "${libdir}/nautilus/extensions-2.0/*.a"
-FILES_${PN}-dbg += "${libdir}/*/*/.debug \
- ${libdir}/*/.debug"
-FILES_${PN}-tests = "${datadir}/tracker-tests/"
-FILES_${PN}-vala = "${datadir}/vala/"
-FILES_${PN}-nautilus-extension += "${libdir}/nautilus/extensions-2.0/*.so"
-
-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 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-Makefile.am-Link-with-libm-for-powl-API.patch b/import-layers/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-Makefile.am-Link-with-libm-for-powl-API.patch
new file mode 100644
index 000000000..76640b0a1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-Makefile.am-Link-with-libm-for-powl-API.patch
@@ -0,0 +1,26 @@
+From fda0ff49968aebc7b27f9711cf6eb7f6c560adc1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 25 Jul 2017 18:28:15 -0700
+Subject: [PATCH] Makefile.am: Link with libm for powl() API
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 4219f28..2a5ceac 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -69,7 +69,7 @@ dist_pkgdata_DATA = usermode.ui
+ userhelper_SOURCES = userhelper.c userhelper.h shvar.c shvar.h
+ userhelper_CPPFLAGS = $(AM_CPPFLAGS) -DSYSCONFDIR='"$(sysconfdir)"'
+ userhelper_LDADD = liblib.a $(LIBUSER_LIBS) $(GLIB_LIBS) $(PAM_LIBS) \
+- $(SELINUX_LIBS) $(EFENCE_LIBS)
++ $(SELINUX_LIBS) $(EFENCE_LIBS) -lm
+
+ userinfo_SOURCES = userinfo.c
+ userinfo_CPPFLAGS = $(AM_CPPFLAGS) $(PIXMAPDIR_CPPFLAGS) $(SBINDIR_CPPFLAGS) \
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-fix-compile-failure-against-musl-C-library.patch b/import-layers/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-fix-compile-failure-against-musl-C-library.patch
new file mode 100644
index 000000000..bf19f284c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-fix-compile-failure-against-musl-C-library.patch
@@ -0,0 +1,27 @@
+From c77e3f0d4560797f7dc56549ae5ebcc035714a4d Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 20 Jul 2017 23:20:53 -0400
+Subject: [PATCH] fix compile failure against musl C library
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ usermount.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/usermount.c b/usermount.c
+index 3aafadd..4107027 100644
+--- a/usermount.c
++++ b/usermount.c
+@@ -46,6 +46,7 @@
+ #include <limits.h>
+ #include <locale.h>
+ #include <mntent.h>
++#include <paths.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-formatting-issues.patch b/import-layers/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-formatting-issues.patch
new file mode 100644
index 000000000..9d512d439
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-formatting-issues.patch
@@ -0,0 +1,34 @@
+From 7a316dad0697af2ef4e8079a5af51565a8195aa6 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 24 Jul 2017 01:42:30 -0400
+Subject: [PATCH] userhelper.c: fix formatting issues
+
+Fixed when compile with "-Wformat -Wformat-security -Werror=format-security":
+|../usermode-1.111/userhelper.c:585:4: error: format not a string
+literal and no format arguments [-Werror=format-security]
+| text = g_strdup_printf(dgettext(data->domain, data->banner));
+| ^~~~
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ userhelper.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/userhelper.c b/userhelper.c
+index 76ad492..ee0da49 100644
+--- a/userhelper.c
++++ b/userhelper.c
+@@ -582,7 +582,7 @@ converse_console(int num_msg, const struct pam_message **msg,
+
+ if (banner == 0) {
+ if ((data->banner != NULL) && (data->domain != NULL)) {
+- text = g_strdup_printf(dgettext(data->domain, data->banner));
++ text = g_strdup_printf("%s", dgettext(data->domain, data->banner));
+ } else {
+ if ((service != NULL) && (strlen(service) > 0)) {
+ if (data->fallback_allowed) {
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-support/usermode/usermode_1.111.bb b/import-layers/meta-openembedded/meta-gnome/recipes-support/usermode/usermode_1.111.bb
new file mode 100644
index 000000000..c2d73289e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-support/usermode/usermode_1.111.bb
@@ -0,0 +1,29 @@
+DESCRIPTION = "The usermode contains the userhelper program, which can be used to allow configured \
+programs to be run with superuser privileges by ordinary users, and several \
+graphical tools for users: \
+* userinfo allows users to change their finger information. \
+* usermount lets users mount, unmount, and format filesystems. \
+* userpasswd allows users to change their passwords. \
+"
+HOMEPAGE = "https://pagure.io/usermode"
+LICENSE = "GPLv2+"
+DEPENDS = "libuser ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \
+ gtk+ desktop-file-utils-native \
+ startup-notification intltool-native \
+ util-linux \
+"
+
+SRC_URI = "https://releases.pagure.org/${BPN}/${BPN}-${PV}.tar.xz \
+ file://0001-formatting-issues.patch \
+ file://0001-fix-compile-failure-against-musl-C-library.patch \
+ file://0001-Makefile.am-Link-with-libm-for-powl-API.patch \
+ "
+SRC_URI[md5sum] = "28ba510fbd8da9f4e86e57d6c31cff29"
+SRC_URI[sha256sum] = "3dd0b9639b5bd396b7ea5fada6aaa694dbfdaa3ad06eb95a6eabcdfd02f875c6"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+inherit autotools gettext pkgconfig
+
+EXTRA_OEMAKE += "INSTALL='install -p'"
+
diff --git a/import-layers/meta-openembedded/meta-gpe/README b/import-layers/meta-openembedded/meta-gpe/README
deleted file mode 100644
index fd2997d13..000000000
--- a/import-layers/meta-openembedded/meta-gpe/README
+++ /dev/null
@@ -1,17 +0,0 @@
-This layer depends on:
-
-URI: git://github.com/openembedded/oe-core.git
-branch: pyro
-revision: HEAD
-
-URI: git://github.com/openembedded/meta-oe.git
-branch: pyro
-revision: HEAD
-
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-gpe][pyro]' 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][pyro][PATCH'
-
-pyro Branch Maintainer:
-Armin Kuster <akuster808@gmail.com>
diff --git a/import-layers/meta-openembedded/meta-gpe/conf/layer.conf b/import-layers/meta-openembedded/meta-gpe/conf/layer.conf
deleted file mode 100644
index 00f3929f8..000000000
--- a/import-layers/meta-openembedded/meta-gpe/conf/layer.conf
+++ /dev/null
@@ -1,15 +0,0 @@
-# We have a conf and classes directory, append to BBPATH
-BBPATH .= ":${LAYERDIR}"
-
-# We have a recipes directory, add to BBFILES
-BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend"
-
-BBFILE_COLLECTIONS += "gpe-layer"
-BBFILE_PATTERN_gpe-layer := "^${LAYERDIR}/"
-BBFILE_PRIORITY_gpe-layer = "7"
-
-# This should only be incremented on significant changes that will
-# cause compatibility issues with other layers
-LAYERVERSION_gpe-layer = "1"
-
-LAYERDEPENDS_gpe-layer = "core openembedded-layer"
diff --git a/import-layers/meta-openembedded/meta-gpe/recipes-graphics/gpe-scap/gpe-scap/0001-Fix-the-ordering-of-LDADD-options-to-fix-a-compilati.patch b/import-layers/meta-openembedded/meta-gpe/recipes-graphics/gpe-scap/gpe-scap/0001-Fix-the-ordering-of-LDADD-options-to-fix-a-compilati.patch
deleted file mode 100644
index c976ff470..000000000
--- a/import-layers/meta-openembedded/meta-gpe/recipes-graphics/gpe-scap/gpe-scap/0001-Fix-the-ordering-of-LDADD-options-to-fix-a-compilati.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From c551dece6768f67b74b508e9c0133320205ef2df Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Mon, 23 May 2011 15:03:29 +0200
-Subject: [PATCH] Fix the ordering of LDADD options to fix a compilation failure.
-
-"invalid DSO for symbol `XUngrabServer' definition "
-
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
----
- src/Makefile.am | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 2fddc98..45bd850 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -6,7 +6,7 @@ INCLUDES = -DPKGDATADIR=\"$(pkgdatadir)\" \
- $(GLADE_CFLAGS) \
- -D_GNU_SOURCE
-
--LIBS = $(GTK_LIBS) $(GLADE_LIBS) $(XSHAPE_LIBS)
-+LIBS = -lX11 $(XSHAPE_LIBS) $(GLADE_LIBS) $(GTK_LIBS)
-
- bin_PROGRAMS = gpe-scap
- gpe_scap_SOURCES = scr-i18n.h \
---
-1.6.6.1
-
diff --git a/import-layers/meta-openembedded/meta-gpe/recipes-graphics/gpe-scap/gpe-scap/use.libsoup-2.4.patch b/import-layers/meta-openembedded/meta-gpe/recipes-graphics/gpe-scap/gpe-scap/use.libsoup-2.4.patch
deleted file mode 100644
index 3cfe5d724..000000000
--- a/import-layers/meta-openembedded/meta-gpe/recipes-graphics/gpe-scap/gpe-scap/use.libsoup-2.4.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-diff -uNr gpe-scap-1.4.orig/configure.ac gpe-scap-1.4/configure.ac
---- gpe-scap-1.4.orig/configure.ac 2009-03-05 18:53:53.000000000 +0100
-+++ gpe-scap-1.4/configure.ac 2012-05-06 10:18:29.348308322 +0200
-@@ -24,7 +24,7 @@
- AC_SUBST(LDFLAGS)
-
- dnl libraries
--GTK_MODULES="gtk+-2.0 >= 2.6.0 gthread-2.0 libsoup-2.2"
-+GTK_MODULES="gtk+-2.0 >= 2.6.0 gthread-2.0 libsoup-2.4"
- PKG_CHECK_MODULES(GTK, $GTK_MODULES)
- AC_SUBST(GTK_CFLAGS)
- AC_SUBST(GTK_LIBS)
-diff -uNr gpe-scap-1.4.orig/src/scr-shot-common.c gpe-scap-1.4/src/scr-shot-common.c
---- gpe-scap-1.4.orig/src/scr-shot-common.c 2009-03-05 12:13:20.000000000 +0100
-+++ gpe-scap-1.4/src/scr-shot-common.c 2012-05-06 10:30:52.299371576 +0200
-@@ -182,12 +182,12 @@
- /* create session and message */
- session = soup_session_sync_new ();
- message = soup_message_new ("POST", url);
-- soup_message_add_header (message->request_headers, "User-Agent", "gpe-scap/" VERSION);
-- soup_message_add_header (message->request_headers, "Accept",
-+ soup_message_headers_append (message->request_headers, "User-Agent", "gpe-scap/" VERSION);
-+ soup_message_headers_append (message->request_headers, "Accept",
- "text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5");
--/* soup_message_add_header (message->request_headers, "Accept-Charset", "Accept-Charset=ISO-8859-1,utf-8;q=0.7,*;q=0.7");
-- soup_message_add_header (message->request_headers, "Keep-Alive", "100");
-- soup_message_add_header (message->request_headers, "Connection", "keep-alive");
-+/* soup_message_headers_append (message->request_headers, "Accept-Charset", "Accept-Charset=ISO-8859-1,utf-8;q=0.7,*;q=0.7");
-+ soup_message_headers_append (message->request_headers, "Keep-Alive", "100");
-+ soup_message_headers_append (message->request_headers, "Connection", "keep-alive");
- soup_message_wire add_header (message->request_headers, "Accept-Encoding", "gzip,deflate");
- */
- /* build message body */
-@@ -207,7 +207,7 @@
- memcpy (body + strlen (cmd) + len, tail, strlen (tail));
-
- soup_message_set_request (message, "multipart/form-data; boundary="SEP,
-- SOUP_BUFFER_SYSTEM_OWNED, body, content_len);
-+ SOUP_MEMORY_TAKE, body, content_len);
-
- soup_session_send_message (session, message);
-
diff --git a/import-layers/meta-openembedded/meta-gpe/recipes-graphics/gpe-scap/gpe-scap_1.4.bb b/import-layers/meta-openembedded/meta-gpe/recipes-graphics/gpe-scap/gpe-scap_1.4.bb
deleted file mode 100644
index db50e38e3..000000000
--- a/import-layers/meta-openembedded/meta-gpe/recipes-graphics/gpe-scap/gpe-scap_1.4.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "A GPE application that allows you to take screenshots"
-SECTION = "gpe"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
-
-DEPENDS = "glib-2.0 gtk+ libgpewidget libglade libsoup-2.4"
-
-PR = "r3"
-
-SRC_URI[md5sum] = "eaf545561b0ad981c9d01833f30fcf95"
-SRC_URI[sha256sum] = "762778421fae7c62d5ec6a9d27986166c0dbbe2ff51fc10bb9b8baff5c367534"
-
-GPE_TARBALL_SUFFIX = "bz2"
-
-inherit gpe autotools pkgconfig
-
-SRC_URI += "file://0001-Fix-the-ordering-of-LDADD-options-to-fix-a-compilati.patch \
- file://use.libsoup-2.4.patch \
-"
-
-RREPLACES_${PN} = "gpe-screenshot"
-
-PNBLACKLIST[gpe-scap] ?= "Depends on blacklisted libgpewidget - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-gpe/recipes-graphics/libgpewidget/libgpewidget/glib-2.32.patch b/import-layers/meta-openembedded/meta-gpe/recipes-graphics/libgpewidget/libgpewidget/glib-2.32.patch
deleted file mode 100644
index f590caa46..000000000
--- a/import-layers/meta-openembedded/meta-gpe/recipes-graphics/libgpewidget/libgpewidget/glib-2.32.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -uNr libgpewidget-0.117.orig/gpehelp.c libgpewidget-0.117/gpehelp.c
---- libgpewidget-0.117.orig/gpehelp.c 2006-10-12 12:20:33.000000000 +0200
-+++ libgpewidget-0.117/gpehelp.c 2012-04-30 07:45:57.813293792 +0200
-@@ -33,7 +33,6 @@
- #include <gdk-pixbuf/gdk-pixbuf.h>
- #include <gdk/gdk.h>
- #include <glib.h>
--#include <glib/gkeyfile.h>
-
-
- /* helper function definitions*/
diff --git a/import-layers/meta-openembedded/meta-gpe/recipes-graphics/libgpewidget/libgpewidget/pkgconfig.patch b/import-layers/meta-openembedded/meta-gpe/recipes-graphics/libgpewidget/libgpewidget/pkgconfig.patch
deleted file mode 100644
index 317e01a9b..000000000
--- a/import-layers/meta-openembedded/meta-gpe/recipes-graphics/libgpewidget/libgpewidget/pkgconfig.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- configure.ac.orig 2006-02-04 17:37:55.000000000 +0100
-+++ configure.ac 2006-02-06 00:56:28.000000000 +0100
-@@ -36,7 +36,7 @@
- ENABLE_CAIRO=$enableval
- ],
- [
-- PKG_CHECK_EXISTS(cairo, [ENABLE_CAIRO=yes], [ENABLE_CAIRO=no])
-+ PKG_CHECK_MODULES(cairo, [ENABLE_CAIRO=yes], [ENABLE_CAIRO=no])
- ])
-
- ENABLE_HILDON=false
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
deleted file mode 100644
index 31e247eb1..000000000
--- a/import-layers/meta-openembedded/meta-gpe/recipes-graphics/libgpewidget/libgpewidget_0.117.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-DESCRIPTION = "libgpewidget contains a collection of widgets and other common code shared by many GPE applications."
-SECTION = "gpe/libs"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=d8045f3b8f929c1cb29a1e3fd737b499"
-
-DEPENDS = "gtk+ cairo libxinerama libxcomposite libxrender"
-PR = "r5"
-
-inherit gpe pkgconfig autotools gtk-doc
-
-SRC_URI += "file://pkgconfig.patch;striplevel=0 \
- file://glib-2.32.patch \
-"
-SRC_URI[md5sum] = "b85a839264a35d0faf9a1a38c486e189"
-SRC_URI[sha256sum] = "f96d30c09b0395ea4e146730fd52d9ea303b619bb139051d9f12d3f868a9e18c"
-
-GPE_TARBALL_SUFFIX = "bz2"
-
-EXTRA_OECONF = "--enable-cairo --disable-gtk-doc"
-LDFLAGS += " -L${STAGING_LIBDIR}"
-
-PACKAGES =+ "${PN}-bin"
-
-PNBLACKLIST[libgpewidget] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130594/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-gpe/recipes-graphics/minilite/minilite/makefile-fix.patch b/import-layers/meta-openembedded/meta-gpe/recipes-graphics/minilite/minilite/makefile-fix.patch
deleted file mode 100644
index 1be6ceaa8..000000000
--- a/import-layers/meta-openembedded/meta-gpe/recipes-graphics/minilite/minilite/makefile-fix.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- /tmp/Makefile.old 2006-01-16 22:51:34.000000000 +0100
-+++ minilite-050/Makefile 2009-05-01 16:36:32.000000000 +0200
-@@ -45,7 +45,7 @@
-
- install-program: all
- mkdir -p $(DESTDIR)$(PREFIX)/bin
-- $(INSTALL) -s $(PACKAGE) $(DESTDIR)$(PREFIX)/bin/$(PACKAGE)
-+ $(INSTALL) $(PACKAGE) $(DESTDIR)$(PREFIX)/bin/$(PACKAGE)
- mkdir -p $(DESTDIR)$(PREFIX)/share/applications
- $(INSTALL) -m 644 $(PACKAGE).desktop $(DESTDIR)$(PREFIX)/share/applications/$(PACKAGE).desktop
- mkdir -p $(DESTDIR)$(PREFIX)/share/pixmaps/
diff --git a/import-layers/meta-openembedded/meta-gpe/recipes-graphics/minilite/minilite_0.50.bb b/import-layers/meta-openembedded/meta-gpe/recipes-graphics/minilite/minilite_0.50.bb
deleted file mode 100644
index 8e064fdc6..000000000
--- a/import-layers/meta-openembedded/meta-gpe/recipes-graphics/minilite/minilite_0.50.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "GPE Screen light control dockapp"
-SECTION = "gpe"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://minilite.c;beginline=8;endline=11;md5=fe9332aaecbce9f74ce2bfeb91680ed1"
-
-DEPENDS = "libgpewidget"
-
-inherit gpe
-
-SRC_URI = "${GPE_MIRROR}/${BP}.tar.gz \
- file://makefile-fix.patch"
-SRC_URI[md5sum] = "d81cecf269ad7bab0da960e6e7228332"
-SRC_URI[sha256sum] = "2b299425203246090a4949e034f1d0efb3ff99cd1591d0e16c57370a530b361e"
-
-export CVSBUILD="no"
-
-PNBLACKLIST[minilite] ?= "Depends on blacklisted libgpewidget - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader-0.12.10/Makefile.patch b/import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader-0.12.10/Makefile.patch
deleted file mode 100644
index 0e498c712..000000000
--- a/import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader-0.12.10/Makefile.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -uri fbreader-0.12.1.orig/fbreader/Makefile fbreader-0.12.1/fbreader/Makefile
---- fbreader-0.12.1.orig/fbreader/Makefile 2009-12-13 09:03:11.000000000 +0100
-+++ fbreader-0.12.1/fbreader/Makefile 2009-12-14 17:18:47.548638783 +0100
-@@ -37,7 +37,6 @@
- @install $(TARGET) $(DESTDIR)$(BINDIR)/FBReader
- @install -d $(FBSHAREDIR)
- @install -d $(FBSHAREDIR)/help
-- @./scripts/install_help.sh $(VARIANT) $(FBSHAREDIR)/help
- @install -d $(FBSHAREDIR)/network
- @install -m 0644 $(wildcard data/network/*.xml) $(FBSHAREDIR)/network
- @install -d $(FBSHAREDIR)/network/certificates
-@@ -58,8 +57,8 @@
- @install -d $(FBSHAREDIR)/resources
- @install -m 0644 $(wildcard data/resources/*.xml) $(FBSHAREDIR)/resources
- @install -d $(DESTDIR)$(APPIMAGEDIR_REAL)
-- @install -m 0644 $(wildcard data/icons/toolbar/$(VARIANT)/*.*) $(DESTDIR)$(APPIMAGEDIR_REAL)
-- @install -m 0644 $(wildcard data/icons/filetree/$(VARIANT)/*.*) $(DESTDIR)$(APPIMAGEDIR_REAL)
-+ @install -m 0644 $(wildcard data/icons/toolbar/$(TARGET_ARCH)/*.*) $(DESTDIR)$(APPIMAGEDIR_REAL)
-+ @install -m 0644 $(wildcard data/icons/filetree/$(TARGET_ARCH)/*.*) $(DESTDIR)$(APPIMAGEDIR_REAL)
- @install -m 0644 $(wildcard data/icons/booktree/new/*.*) $(DESTDIR)$(APPIMAGEDIR_REAL)
- @make -C $(TARGET_ARCH) RESOLUTION=$(RESOLUTION) install
-
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
deleted file mode 100644
index e72fa8cf2..000000000
--- a/import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader-0.12.10/fix-cflags-fribidi.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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
deleted file mode 100644
index 97ab4d315..000000000
--- a/import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader-0.12.10/fix-return-code-gcc6.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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/gcc45.patch b/import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader-0.12.10/gcc45.patch
deleted file mode 100644
index 00cba1023..000000000
--- a/import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader-0.12.10/gcc45.patch
+++ /dev/null
@@ -1,20 +0,0 @@
- Fix compilation with gcc 4.5
-
- [FBreader Ticket #340] -- http://old.fbreader.org/mantis/view.php?id=340
-
- Without that patch we have:
- Compiling Library.o ...Library.cpp:42:1: error: 'Library::Library' names the constructor, not the type
-
- Upstream-Status: Accepted [Fixed in Version 0.14.0]
-
---- fbreader-0.12.10-orig/fbreader/src/library/Library.cpp 2010-04-01 15:14:24.000000000 +0200
-+++ fbreader-0.12.10/fbreader/src/library/Library.cpp 2010-04-13 13:34:06.000000000 +0200
-@@ -39,7 +39,7 @@
- shared_ptr<Library> Library::ourInstance;
- const size_t Library::MaxRecentListSize = 10;
-
--Library::Library &Library::Instance() {
-+Library &Library::Instance() {
- if (ourInstance.isNull()) {
- ourInstance = new Library();
- }
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
deleted file mode 100644
index 2dbcef402..000000000
--- a/import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader_0.12.10.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-SUMMARY = "FBreader is an ebook reader"
-HOMEPAGE = "http://www.fbreader.org"
-SECTION = "x11/utils"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://fbreader/LICENSE;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS = "gtk+ enca expat bzip2 libgpewidget virtual/libiconv liblinebreak libfribidi curl sqlite3"
-
-PR = "r1"
-
-SRC_URI = "http://www.fbreader.org/fbreader-sources-${PV}.tgz \
-file://Makefile.patch \
-file://gcc45.patch \
-file://fix-cflags-fribidi.patch \
-file://fix-return-code-gcc6.patch"
-
-# Set the defaults
-READER_RESOLUTION ?= "1024x600"
-READER_ARCH ?= "desktop"
-READER_UI ?= "gtk"
-READER_STATUS ?= "release"
-
-FILES_${PN} += "${datadir}/FBReader ${datadir}/zlibrary ${libdir}/zlibrary"
-FILES_${PN}-dbg += "${libdir}/zlibrary/ui/.debug/"
-
-CFLAGS_append = " RESOLUTION=${READER_RESOLUTION} INSTALLDIR=${prefix}"
-EXTRA_OEMAKE = "CC='${CXX}' LD='${CXX}' LDFLAGS='${LDFLAGS}' INCPATH='${STAGING_INCDIR}' LIBPATH='${STAGING_LIBDIR}'"
-
-inherit pkgconfig
-
-do_configure() {
- cd ${WORKDIR}/${PN}-${PV}
- mv makefiles/target.mk makefiles/target.mk.orig
-
- echo "TARGET_ARCH = ${READER_ARCH}" > makefiles/target.mk
- echo "UI_TYPE = ${READER_UI}" >> makefiles/target.mk
- echo "TARGET_STATUS = ${READER_STATUS}" >> makefiles/target.mk
-}
-
-do_install() {
- oe_runmake install DESTDIR=${D} RESOLUTION=${READER_RESOLUTION}
-}
-
-SRC_URI[md5sum] = "da9ec4721efdb0ec0aaa182bff16ad82"
-SRC_URI[sha256sum] = "328aec454db80e225aa0b5c31adef74bf62a14357482947e87e9731686b3c624"
-
-PNBLACKLIST[fbreader] ?= "Depends on blacklisted libgpewidget - the recipe will be removed on 2017-09-01 unless the issue is fixed"
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
deleted file mode 100644
index b3e7946b5..000000000
--- a/import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader_git.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "FBreader is an ebook reader"
-HOMEPAGE = "http://www.fbreader.org"
-SECTION = "x11/utils"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://fbreader/LICENSE;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS = "gtk+ enca expat bzip2 libgpewidget virtual/libiconv liblinebreak libfribidi curl sqlite3"
-SRCREV = "2cf1ec0e306e1122dbed850bfa005cd59a6168ee"
-PV = "0.99.5+gitr${SRCPV}"
-
-PR = "r1"
-
-DEFAULT_PREFERENCE = "-1"
-
-SRC_URI = "git://github.com/geometer/FBReader.git;protocol=http;branch=master \
- file://0001-Fix-installation-of-the-icons-when-RESOLUTION-is-set.patch"
-
-# Set the defaults
-READER_RESOLUTION ?= "1024x600"
-READER_ARCH ?= "desktop"
-READER_UI ?= "gtk"
-READER_STATUS ?= "release"
-
-FILES_${PN} += "${datadir}/FBReader ${datadir}/zlibrary ${libdir}/zlibrary"
-FILES_${PN}-dbg += "${libdir}/zlibrary/ui/.debug/"
-
-CFLAGS_append = " RESOLUTION=${READER_RESOLUTION} INSTALLDIR=${prefix}"
-EXTRA_OEMAKE = "CC='${CXX}' LD='${CXX}' INCPATH='${STAGING_INCDIR}' LIBPATH='${STAGING_LIBDIR}'"
-inherit pkgconfig
-
-S = "${WORKDIR}/git"
-
-do_configure() {
- cd "${S}"
-
- echo "TARGET_ARCH = ${READER_ARCH}" > makefiles/target.mk
- echo "UI_TYPE = ${READER_UI}" >> makefiles/target.mk
- echo "TARGET_STATUS = ${READER_STATUS}" >> makefiles/target.mk
-}
-
-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 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/files/0001-Fix-installation-of-the-icons-when-RESOLUTION-is-set.patch b/import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/files/0001-Fix-installation-of-the-icons-when-RESOLUTION-is-set.patch
deleted file mode 100644
index f6e12023b..000000000
--- a/import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/files/0001-Fix-installation-of-the-icons-when-RESOLUTION-is-set.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From da4170b61bb41eff0af170d1d77bfd90f9ebe5dd Mon Sep 17 00:00:00 2001
-From: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
-Date: Fri, 20 Jan 2012 11:34:42 +0100
-Subject: [PATCH] Fix installation of the icons when RESOLUTION is set
-
-When resolution is set, the following code(in fbreader/Makefile) is executed:
- VARIANT = $(TARGET_ARCH)
- ifneq "$(RESOLUTION)" ""
- VARIANT = $(TARGET_ARCH)_$(RESOLUTION)
- endif
-
-This fix is based on a patch from the openembedded project,
- which can be found here:
- http://cgit.openembedded.org/openembedded/tree/recipes/fbreader/fbreader-0.12.1/Makefile.patch
-
-Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
----
- Submitted trough github to git://github.com/geometer/FBReader.git as a pull request
-
- fbreader/Makefile | 4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/fbreader/Makefile b/fbreader/Makefile
-index bfa9242..03e6cc3 100644
---- a/fbreader/Makefile
-+++ b/fbreader/Makefile
-@@ -60,8 +60,8 @@ do_install:
- @install -d $(FBSHAREDIR)/resources
- @install -m 0644 $(wildcard data/resources/*.xml) $(FBSHAREDIR)/resources
- @install -d $(DESTDIR)$(APPIMAGEDIR_REAL)
-- @install -m 0644 $(wildcard data/icons/toolbar/$(VARIANT)/*.*) $(DESTDIR)$(APPIMAGEDIR_REAL)
-- @install -m 0644 $(wildcard data/icons/filetree/$(VARIANT)/*.*) $(DESTDIR)$(APPIMAGEDIR_REAL)
-+ @install -m 0644 $(wildcard data/icons/toolbar/$(TARGET_ARCH)/*.*) $(DESTDIR)$(APPIMAGEDIR_REAL)
-+ @install -m 0644 $(wildcard data/icons/filetree/$(TARGET_ARCH)/*.*) $(DESTDIR)$(APPIMAGEDIR_REAL)
- @install -m 0644 $(wildcard data/icons/booktree/new/*.*) $(DESTDIR)$(APPIMAGEDIR_REAL)
- @make -C $(TARGET_ARCH) RESOLUTION=$(RESOLUTION) install
-
---
-1.7.4.1
-
diff --git a/import-layers/meta-openembedded/meta-initramfs/README b/import-layers/meta-openembedded/meta-initramfs/README
index 9c05e1fdb..b7dbfef2d 100644
--- a/import-layers/meta-openembedded/meta-initramfs/README
+++ b/import-layers/meta-openembedded/meta-initramfs/README
@@ -12,7 +12,7 @@ Dependencies
This layer depends on:
URI: git://github.com/openembedded/oe-core.git
-branch: pyro
+branch: rocko
revision: HEAD
@@ -20,12 +20,12 @@ Maintenance
-----------
Send patches / pull requests to openembedded-devel@lists.openembedded.org
-with '[meta-initramfs][pyro]' in the subject.
+with '[meta-initramfs][rocko]' 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][pyro][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-initramfs][rocko][PATCH'
-pyro Branch Maintainer:
+rocko Branch Maintainer:
Armin Kuster <akuster808@gmail.com>
diff --git a/import-layers/meta-openembedded/meta-initramfs/classes/klibc.bbclass b/import-layers/meta-openembedded/meta-initramfs/classes/klibc.bbclass
index f864104cf..b7b72b728 100644
--- a/import-layers/meta-openembedded/meta-initramfs/classes/klibc.bbclass
+++ b/import-layers/meta-openembedded/meta-initramfs/classes/klibc.bbclass
@@ -3,13 +3,14 @@ DEPENDS =+ "klcc-cross"
# Default for klcc is to build static binaries.
# Set CC = "${TARGET_PREFIX}klcc -shared" to build the dynamic version.
+CC_forcevariable = "${TARGET_PREFIX}klcc ${TOOLCHAIN_OPTIONS}"
+CC_forcevariable_armv4_linux-gnueabi = "${TARGET_PREFIX}klcc ${TOOLCHAIN_OPTIONS} -march=armv4 -mthumb-interwork"
+CC_append_armv7ve = " ${@' -mfloat-abi=${TUNE_CCARGS_MFLOAT}' if (d.getVar('TUNE_CCARGS_MFLOAT') != '') else ''}"
+CC_append_armv7a = " ${@' -mfloat-abi=${TUNE_CCARGS_MFLOAT}' if (d.getVar('TUNE_CCARGS_MFLOAT') != '') else ''}"
-export CC = "${TARGET_PREFIX}klcc ${TOOLCHAIN_OPTIONS}"
-export CC_armv4_linux-gnueabi = "${TARGET_PREFIX}klcc ${TOOLCHAIN_OPTIONS} -march=armv4 -mthumb-interwork"
-
-export CPP = "${CC} -E"
+CPP_forcevariable = "${CC} -E"
# klcc uses own optimizations by default. See klcc(1) man file.
-export CFLAGS=""
-export CPPFLAGS=""
-export LDFLAGS=""
+export CFLAGS="${TUNE_CCARGS}"
+export CPPFLAGS="${TUNE_CCARGS}"
+export LDFLAGS="${TUNE_CCARGS}"
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-image.bb b/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-image.bb
index 835b30754..2573eb481 100644
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-image.bb
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-image.bb
@@ -1,7 +1,7 @@
SUMMARY = "Initramfs image for kexecboot kernel"
DESCRIPTION = "This image provides kexecboot (linux as bootloader) and helpers."
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
inherit image
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/initrdscripts/initramfs-debug_1.0.bb b/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/initrdscripts/initramfs-debug_1.0.bb
index b7defff6f..667690f88 100644
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/initrdscripts/initramfs-debug_1.0.bb
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/initrdscripts/initramfs-debug_1.0.bb
@@ -1,6 +1,6 @@
SUMMARY = "Extremely basic live image init script"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
SRC_URI = "file://init-debug.sh"
S = "${WORKDIR}"
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/files/0001-kexecboot-fix-build-when-S-B.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/files/0001-kexecboot-fix-build-when-S-B.patch
deleted file mode 100644
index 6d3270f89..000000000
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/files/0001-kexecboot-fix-build-when-S-B.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 8519d61a7097498b0ee93fb8dc8262286825f3e5 Mon Sep 17 00:00:00 2001
-From: Andrea Adami <andrea.adami@gmail.com>
-Date: Thu, 1 May 2014 23:58:51 +0200
-Subject: [PATCH 1/4] kexecboot: fix build when S != B
-
-* fatal error: ../config.h: No such file or directory
-
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
----
- machine/zaurus.c | 2 +-
- res/theme-gui.h | 2 +-
- res/theme-tui.h | 4 ++--
- 3 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/machine/zaurus.c b/machine/zaurus.c
-index ea21047..83be13b 100644
---- a/machine/zaurus.c
-+++ b/machine/zaurus.c
-@@ -25,7 +25,7 @@
- *
- */
-
--#include "../config.h"
-+#include "config.h"
-
- #ifdef USE_ZAURUS
-
-diff --git a/res/theme-gui.h b/res/theme-gui.h
-index f8fef7f..79bed39 100644
---- a/res/theme-gui.h
-+++ b/res/theme-gui.h
-@@ -15,7 +15,7 @@
- *
- */
-
--#include "../config.h"
-+#include "config.h"
-
- #ifdef USE_ICONS
- /** Icons **/
-diff --git a/res/theme-tui.h b/res/theme-tui.h
-index 94e7693..909be56 100644
---- a/res/theme-tui.h
-+++ b/res/theme-tui.h
-@@ -15,11 +15,11 @@
- *
- */
-
--#include "../config.h"
-+#include "config.h"
-
- #ifdef USE_TEXTUI
- /** TEXT UI colors **/
--#include "../termseq.h"
-+#include "termseq.h"
-
- /* Background color pair */
- #define TUI_CLR_BG TERM_CSI TERM_BG_BLACK ";" TERM_FG_WHITE TERM_SGR
---
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/files/0002-kexecboot-fix-configure-warnings.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/files/0002-kexecboot-fix-configure-warnings.patch
deleted file mode 100644
index ecf422b72..000000000
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/files/0002-kexecboot-fix-configure-warnings.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From b8938acc3f1ab35273fa9a2fa7728050ef72ff65 Mon Sep 17 00:00:00 2001
-From: Andrea Adami <andrea.adami@gmail.com>
-Date: Fri, 2 May 2014 00:19:24 +0200
-Subject: [PATCH 2/4] kexecboot: fix configure warnings
-
-Makefile.am:5: warning: source file 'fstype/fstype.c' is in a subdirectory,
-Makefile.am:5: but option 'subdir-objects' is disabled
-automake: warning: possible forward-incompatibility.
-...
-Makefile.am:5: warning: source file 'machine/zaurus.c' is in a subdirectory,
-...
-
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 0ca4b81..66ec54e 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1,7 +1,7 @@
- AC_PREREQ(2.53)
- AC_INIT([kexecboot], [0.6], [kexecboot-devel@linuxtogo.org])
- AC_CANONICAL_HOST
--AM_INIT_AUTOMAKE([-Wall foreign])
-+AM_INIT_AUTOMAKE([-Wall foreign] [subdir-objects])
- AC_CONFIG_SRCDIR(kexecboot.c)
- AC_CONFIG_HEADERS(config.h)
- AM_MAINTAINER_MODE
---
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/files/0003-kexecboot-do-not-hardcode-MOUNTPOINT.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/files/0003-kexecboot-do-not-hardcode-MOUNTPOINT.patch
deleted file mode 100644
index 4caa0d5f0..000000000
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/files/0003-kexecboot-do-not-hardcode-MOUNTPOINT.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From 800dae0d34f8629a34c638a612166b76dda03e27 Mon Sep 17 00:00:00 2001
-From: Andrea Adami <andrea.adami@gmail.com>
-Date: Sat, 2 Aug 2014 01:13:08 +0200
-Subject: [PATCH 3/4] kexecboot: do not hardcode MOUNTPOINT
-
-Avoid to hardcode it: could be requested as a new configure option.
-
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
----
- cfgparser.c | 6 +++---
- kexecboot.c | 18 ++++++++++--------
- 2 files changed, 13 insertions(+), 11 deletions(-)
-
-diff --git a/cfgparser.c b/cfgparser.c
-index 8f6688c..dec27b1 100644
---- a/cfgparser.c
-+++ b/cfgparser.c
-@@ -141,7 +141,7 @@ static int set_kernel(struct cfgdata_t *cfgdata, char *value)
- return -1;
- }
-
-- strcpy(sc->kernelpath, "/mnt");
-+ strcpy(sc->kernelpath, MOUNTPOINT);
- strcat(sc->kernelpath, value);
- return 0;
- }
-@@ -155,7 +155,7 @@ static int set_icon(struct cfgdata_t *cfgdata, char *value)
-
- dispose(sc->iconpath);
- /* Add our mountpoint, since the enduser won't know it */
-- sc->iconpath = malloc(sizeof(MOUNTPOINT)+strlen(value));
-+ sc->iconpath = malloc(strlen(MOUNTPOINT)+strlen(value)+1);
- if (NULL == sc->iconpath) {
- DPRINTF("Can't allocate memory to store iconpath '%s'", value);
- return -1;
-@@ -194,7 +194,7 @@ static int set_initrd(struct cfgdata_t *cfgdata, char *value)
- return -1;
- }
-
-- strcpy(sc->initrd, "/mnt");
-+ strcpy(sc->initrd, MOUNTPOINT);
- strcat(sc->initrd, value);
- return 0;
- }
-diff --git a/kexecboot.c b/kexecboot.c
-index d6657a0..7268d6b 100644
---- a/kexecboot.c
-+++ b/kexecboot.c
-@@ -57,20 +57,22 @@
- #endif
-
- #ifdef USE_MACHINE_KERNEL
--/* Machine-dependent kernel patch */
-+/* Machine-dependent kernel path */
- char *machine_kernel = NULL;
- #endif
-
-+#define PREPEND_MOUNTPATH(string) MOUNTPOINT""string
-+
- /* NULL-terminated array of kernel search paths
- * First item should be filled with machine-dependent path */
- char *default_kernels[] = {
- #ifdef USE_ZIMAGE
-- "/mnt/boot/zImage",
-- "/mnt/zImage",
-+ PREPEND_MOUNTPATH("/boot/zImage"),
-+ PREPEND_MOUNTPATH("/zImage"),
- #endif
- #ifdef USE_UIMAGE
-- "/mnt/boot/uImage",
-- "/mnt/uImage",
-+ PREPEND_MOUNTPATH("/boot/uImage"),
-+ PREPEND_MOUNTPATH("/uImage"),
- #endif
- NULL
- };
-@@ -149,14 +151,14 @@ char *get_machine_kernelpath() {
- ++tmp;
- }
-
-- /* Prepend "/mnt/boot/zImage-" to hw */
-- tmp = malloc(strlen(hw) + 17 + 1); /* strlen("/mnt/boot/zImage-") */
-+ /* Prepend MOUNTPOINT"/boot/zImage-" to hw */
-+ tmp = malloc(strlen(PREPEND_MOUNTPATH("/boot/zImage-")) + strlen(hw) + 1);
- if (NULL == tmp) {
- DPRINTF("Can't allocate memory for machine-specific kernel path");
- return NULL;
- }
-
-- strcpy(tmp, "/mnt/boot/zImage-");
-+ strcpy(tmp, PREPEND_MOUNTPATH("/boot/zImage-"));
- strcat(tmp, hw);
-
- return tmp;
---
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/files/0004-kexecboot.c-workaround-for-absolute-kernel-and-initr.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/files/0004-kexecboot.c-workaround-for-absolute-kernel-and-initr.patch
deleted file mode 100644
index 6d81d8357..000000000
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/files/0004-kexecboot.c-workaround-for-absolute-kernel-and-initr.patch
+++ /dev/null
@@ -1,135 +0,0 @@
-From de9a6284df8add6ec03e1d9981d0b6d0595bbc69 Mon Sep 17 00:00:00 2001
-From: Andrea Adami <andrea.adami@gmail.com>
-Date: Mon, 10 Nov 2014 23:37:23 +0100
-Subject: [PATCH 4/4] kexecboot.c: workaround for absolute kernel and initrd
- symlinks
-
-Add MOUNTPOINT prefix if the kernel/initrd symlinks start with '/'.
-Do nothing if the path is a relative symbolic link or not a symlink.
-
-Fix following situation:
-
-root@mizar:/var/tmp# ls -al boot/
-total 2076
-drwxr-xr-x 2 root root 4096 lug 5 01:38 .
-drwxrwxrwt 4 root root 4096 lug 5 12:26 ..
--rw-r--r-- 1 root root 831 lug 5 01:24 boot.cfg
--rw-r--r-- 1 root root 1322 lug 5 01:24 icon.xpm
-lrwxrwxrwx 1 root root 34 lug 5 12:26 zImage ->
-/boot/zImage-3.14.5-yocto-standard
--rw-r--r-- 1 root root 2106832 lug 5 01:20 zImage-3.14.5-yocto-standard
-
-Cannot open `/mnt/boot/zImage': No such file or directory
-Nothing has been loaded!
-
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
----
- kexecboot.c | 53 ++++++++++++++++++++++++++++++++++++++++++++---------
- 1 file changed, 44 insertions(+), 9 deletions(-)
-
-diff --git a/kexecboot.c b/kexecboot.c
-index 7268d6b..8a7a7d2 100644
---- a/kexecboot.c
-+++ b/kexecboot.c
-@@ -208,11 +208,16 @@ void start_kernel(struct params_t *params, int choice)
- const char *load_argv[] = { NULL, "-l", NULL, NULL, NULL, NULL };
- const char *exec_argv[] = { NULL, "-e", NULL, NULL};
-
-- char *cmdline_arg = NULL, *initrd_arg = NULL;
-+ char *cmdline_arg = NULL, *initrd_arg = NULL, *kernel_arg = NULL;
- int n, idx, u;
- struct stat sinfo;
- struct boot_item_t *item;
-
-+ /* buffer for readlink (could be truncated) */
-+ char buf[512];
-+ int len;
-+
-+
- item = params->bootcfg->list[choice];
-
- exec_argv[0] = kexec_path;
-@@ -306,10 +311,17 @@ void start_kernel(struct params_t *params, int choice)
- }
- }
-
-+ /* Mount boot device */
-+ if ( -1 == mount(mount_dev, mount_point, mount_fstype,
-+ MS_RDONLY, NULL) ) {
-+ perror("Can't mount boot device");
-+ exit(-1);
-+ }
-+
- /* fill '--initrd' option */
- if (item->initrd) {
- /* allocate space */
-- n = sizeof(str_initrd_start) + strlen(item->initrd);
-+ n = sizeof(str_initrd_start) + strlen(item->initrd) + 1 + sizeof(mount_point) + sizeof(buf);
-
- initrd_arg = (char *)malloc(n);
- if (NULL == initrd_arg) {
-@@ -317,24 +329,46 @@ void start_kernel(struct params_t *params, int choice)
- } else {
- strcpy(initrd_arg, str_initrd_start); /* --initrd= */
- strcat(initrd_arg, item->initrd);
-+
-+ if ((len = readlink(item->initrd, buf, sizeof(buf)-1)) != -1) {
-+ buf[len] = '\0';
-+ /* Fix absolute symlinks: prepend MOUNTPOINT */
-+ if (buf[0] == '/') {
-+ strcpy(initrd_arg, str_initrd_start); /* --initrd= */
-+ strcat(initrd_arg, mount_point);
-+ strcat(initrd_arg, buf);
-+ }
-+ }
- load_argv[idx] = initrd_arg;
- ++idx;
- }
- }
-
- /* Append kernelpath as last arg of kexec */
-- load_argv[idx] = item->kernelpath;
-+ /* allocate space */
-+ n = strlen(item->kernelpath) + 1 + sizeof(mount_point) + sizeof(buf);
-+
-+ kernel_arg = (char *)malloc(n);
-+ if (NULL == kernel_arg) {
-+ perror("Can't allocate memory for kernel_arg");
-+ } else {
-+ strcpy(kernel_arg, item->kernelpath);
-+
-+ if ((len = readlink(item->kernelpath, buf, sizeof(buf)-1)) != -1) {
-+ buf[len] = '\0';
-+ /* Fix absolute symlinks: prepend MOUNTPOINT */
-+ if (buf[0] == '/') {
-+ strcpy(kernel_arg, mount_point);
-+ strcat(kernel_arg, buf);
-+ }
-+ }
-+ load_argv[idx] = kernel_arg;
-+ }
-
- DPRINTF("load_argv: %s, %s, %s, %s, %s", load_argv[0],
- load_argv[1], load_argv[2],
- load_argv[3], load_argv[4]);
-
-- /* Mount boot device */
-- if ( -1 == mount(mount_dev, mount_point, mount_fstype,
-- MS_RDONLY, NULL) ) {
-- perror("Can't mount boot device");
-- exit(-1);
-- }
-
- /* Load kernel */
- n = fexecw(kexec_path, (char *const *)load_argv, envp);
-@@ -347,6 +381,7 @@ void start_kernel(struct params_t *params, int choice)
-
- dispose(cmdline_arg);
- dispose(initrd_arg);
-+ dispose(kernel_arg);
-
- /* Check /proc/sys/net presence */
- if ( -1 == stat("/proc/sys/net", &sinfo) ) {
---
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/files/0005-rgb.h-fix-build-with-gcc5.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/files/0005-rgb.h-fix-build-with-gcc5.patch
deleted file mode 100644
index b54199b08..000000000
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/files/0005-rgb.h-fix-build-with-gcc5.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From b2c4fc69868a4831ec798ad98f5e7fce200cf0e3 Mon Sep 17 00:00:00 2001
-From: Andrea Adami <andrea.adami@gmail.com>
-Date: Thu, 24 Sep 2015 00:02:48 +0200
-Subject: [PATCH] rgb.h: fix build with gcc 5 (C99 inline semantic)
-
-Building with gcc 5.2 we trigger the following error:
-
-rgb.h:55:1: warning: inline function 'rgba2comp' declared but never defined
-| rgba2comp(kx_rgba rgba, kx_ccomp *red, kx_ccomp *green,
-| ^
-
-https://gcc.gnu.org/gcc-5/porting_to.html
-
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
----
- rgb.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/rgb.h b/rgb.h
-index 0ba987a..4f64622 100644
---- a/rgb.h
-+++ b/rgb.h
-@@ -51,8 +51,7 @@ typedef struct {
- } kx_named_color;
-
- /* Convert RGBA uint32 to red/green/blue/alpha components */
--inline void
--rgba2comp(kx_rgba rgba, kx_ccomp *red, kx_ccomp *green,
-+void rgba2comp(kx_rgba rgba, kx_ccomp *red, kx_ccomp *green,
- kx_ccomp *blue, kx_ccomp *alpha);
-
- /* Convert hex rgb color to rgba color */
---
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/kexecboot-cfg_0.2.bb b/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/kexecboot-cfg_0.2.bb
index 085955c13..804ec3235 100644
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/kexecboot-cfg_0.2.bb
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/kexecboot-cfg_0.2.bb
@@ -2,7 +2,7 @@ SUMMARY = "Configuration files for kexecboot"
DESCRIPTION = "Default icon and boot.cfg for kexecboot linux-as-bootloader."
SECTION = "base"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
SRC_URI = "file://icon.xpm"
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/kexecboot_0.6.bb b/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/kexecboot_0.6.bb
deleted file mode 100644
index 45095f311..000000000
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/kexecboot_0.6.bb
+++ /dev/null
@@ -1,75 +0,0 @@
-###########################
-# Configure options:
-#
-# --enable-static-linking compile kexecboot as static executable [default=no]
-# --enable-fbui support framebuffer menu [default=yes]
-# --enable-fbui-width limit FB UI width to specified value [default=no]
-# --enable-fbui-height limit FB UI height to specified value [default=no]
-# --enable-textui support console text user interface [default=no]
-# --enable-cfgfiles support config files [default=yes]
-# --enable-icons support custom icons (depends on fbui) [default=yes]
-# --enable-zaurus compile Sharp Zaurus specific code [default=no]
-# --enable-zimage compile with zImage support [default=yes]
-# --enable-uimage compile with uImage support [default=no]
-# --enable-machine-kernel look for machine-specific zImage kernel [default=no]
-# --enable-devices-recreating
-# enable devices re-creating [default=yes]
-# --enable-debug enable debug output [default=no]
-# --enable-host-debug allow for non-destructive executing of kexecboot on
-# host system [default=no]
-# --enable-numkeys enable menu item selection by keys [0-9] [default=yes]
-# --enable-bg-buffer enable buffer for pre-drawed FB GUI background
-#
-# --enable-timeout allow to boot 1st kernel after timeout in seconds
-# [default=no]
-# --enable-delay specify delay before device scanning, allowing
-# initialization of old CF/SD cards [default=1]
-# --enable-bpp enable support of specified bpp modes
-# (all,32,24,18,16,4,2,1) [default=all]
-# --enable-evdev-rate change evdev (keyboard/mouse) repeat rate
-# in milliseconds e.g. "1000,250" [default=no]
-# --with-kexec-binary look for kexec binary at path
-# [default="/usr/sbin/kexec"]
-##########################
-SUMMARY = "kexecboot linux-as-bootloader"
-DESCRIPTION = "kexecboot is a graphical linux-as-bootloader implementation based on kexec."
-HOMEPAGE = "http://kexecboot.org"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-S = "${WORKDIR}/kexecboot-${PV}"
-SRC_URI = "https://github.com/kexecboot/kexecboot/archive/v${PV}.tar.gz"
-SRC_URI[md5sum] = "46b7c1a6f20531be56445ebb8669a2b8"
-SRC_URI[sha256sum] = "6b360b8aa59bc5d68a96705349a0dd416f8ed704e931fa0ac7849298258f0f15"
-
-SRC_URI += "\
- file://0001-kexecboot-fix-build-when-S-B.patch \
- file://0002-kexecboot-fix-configure-warnings.patch \
- file://0003-kexecboot-do-not-hardcode-MOUNTPOINT.patch \
- file://0004-kexecboot.c-workaround-for-absolute-kernel-and-initr.patch \
- \
- file://0005-rgb.h-fix-build-with-gcc5.patch \
- "
-
-inherit autotools
-
-EXTRA_OECONF = "--enable-textui --enable-delay=2 --enable-evdev-rate=1000,250"
-
-do_install () {
- install -d ${D}${bindir}
- install -m 0755 kexecboot ${D}${bindir}
- install -d ${D}/proc
- install -d ${D}/mnt
- install -d ${D}/dev
- install -d ${D}/sys
-}
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-FILES_${PN} += " ${bindir}/kexecboot /init /proc /mnt /dev /sys"
-
-pkg_postinst_${PN} () {
- ln -sf ${bindir}/kexecboot $D/init
-}
-
-BBCLASSEXTEND = "klibc"
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/kexecboot_git.bb b/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/kexecboot_git.bb
new file mode 100644
index 000000000..9f5dad7c6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/kexecboot_git.bb
@@ -0,0 +1,64 @@
+###########################
+# Configure options:
+#
+# --enable-static-linking compile kexecboot as static executable [default=no]
+# --enable-fbui support framebuffer menu [default=yes]
+# --enable-fbui-width limit FB UI width to specified value [default=no]
+# --enable-fbui-height limit FB UI height to specified value [default=no]
+# --enable-textui support console text user interface [default=no]
+# --enable-cfgfiles support config files [default=yes]
+# --enable-icons support custom icons (depends on fbui) [default=yes]
+# --enable-zaurus compile Sharp Zaurus specific code [default=no]
+# --enable-zimage compile with zImage support [default=yes]
+# --enable-uimage compile with uImage support [default=no]
+# --enable-machine-kernel look for machine-specific zImage kernel [default=no]
+# --enable-devices-recreating
+# enable devices re-creating [default=yes]
+# --enable-debug enable debug output [default=no]
+# --enable-host-debug allow for non-destructive executing of kexecboot on
+# host system [default=no]
+# --enable-numkeys enable menu item selection by keys [0-9] [default=yes]
+# --enable-bg-buffer enable buffer for pre-drawed FB GUI background
+#
+# --enable-timeout allow to boot 1st kernel after timeout in seconds
+# [default=no]
+# --enable-delay specify delay before device scanning, allowing
+# initialization of old CF/SD cards [default=1]
+# --enable-bpp enable support of specified bpp modes
+# (all,32,24,18,16,4,2,1) [default=all]
+# --enable-evdev-rate change evdev (keyboard/mouse) repeat rate
+# in milliseconds e.g. "1000,250" [default=no]
+# --with-kexec-binary look for kexec binary at path
+# [default="/usr/sbin/kexec"]
+##########################
+SUMMARY = "kexecboot linux-as-bootloader"
+DESCRIPTION = "kexecboot is a graphical linux-as-bootloader implementation based on kexec."
+HOMEPAGE = "http://kexecboot.org"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+PV = "0.6+git${SRCPV}"
+S = "${WORKDIR}/git"
+SRC_URI = "git://github.com/kexecboot/kexecboot.git"
+SRCREV = "4c4f127e79ac5b8d6b6e2fbb938ccbf12b04c531"
+inherit autotools
+
+EXTRA_OECONF = "--enable-textui --enable-delay=2 --enable-evdev-rate=1000,250"
+
+do_install () {
+ install -d ${D}${bindir}
+ install -m 0755 kexecboot ${D}${bindir}
+ install -d ${D}/proc
+ install -d ${D}/mnt
+ install -d ${D}/dev
+ install -d ${D}/sys
+}
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+FILES_${PN} += " ${bindir}/kexecboot /init /proc /mnt /dev /sys"
+
+pkg_postinst_${PN} () {
+ ln -sf ${bindir}/kexecboot $D/init
+}
+
+BBCLASSEXTEND = "klibc"
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut/0001-util.h-include-sys-reg.h-when-libc-glibc.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut/0001-util.h-include-sys-reg.h-when-libc-glibc.patch
new file mode 100644
index 000000000..32714038b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut/0001-util.h-include-sys-reg.h-when-libc-glibc.patch
@@ -0,0 +1,33 @@
+From 06011ce55b1e892e863568a73d64eebc6389544f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Jul 2017 17:14:05 -0700
+Subject: [PATCH] util.h: include <sys/reg.h> when libc != glibc
+
+For musl libc it is required to include <sys/reg.h> to
+have __WORDSIZE defined to e.g. 32 for arm*-musl.
+
+Taken from void-linux
+https://github.com/voidlinux/void-packages/blob/master/srcpkgs/dracut/patches/musl-__wordsize.patch
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ install/util.h | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/install/util.h b/install/util.h
+index 2ad3254d..062626ec 100644
+--- a/install/util.h
++++ b/install/util.h
+@@ -36,6 +36,9 @@
+ #include <sys/stat.h>
+ #include <dirent.h>
+ #include <sys/resource.h>
++#if !defined(__GLIBC__)
++#include <sys/reg.h>
++#endif
+
+ #include "macro.h"
+
+--
+2.13.2
+
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 b91f3fae2..e18409d11 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
@@ -1,17 +1,23 @@
SUMMARY = "Initramfs generator using udev"
+HOMEPAGE = "https://dracut.wiki.kernel.org/index.php/Main_Page"
DESCRIPTION = "Dracut is an event driven initramfs infrastructure. dracut (the tool) is used to create an initramfs image by copying tools and files from an installed system and combining it with the dracut framework, usually found in /usr/lib/dracut/modules.d."
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
PE = "1"
-PV = "044+git${SRCREV}"
+PV = "045+git${SRCREV}"
-# v044 tag
-SRCREV = "1bc3e733f96033a508841e97fe08da7a12851782"
-SRC_URI = "git://git.kernel.org/pub/scm/boot/dracut/dracut.git;protocol=http"
+# v045 tag
+SRCREV = "39c9b67f86145953aa30def9d77c68597a4ccfe8"
+SRC_URI = "git://git.kernel.org/pub/scm/boot/dracut/dracut.git;protocol=http \
+ file://0001-util.h-include-sys-reg.h-when-libc-glibc.patch \
+ "
-inherit bash-completion
+DEPENDS += "kmod"
+DEPENDS_append_libc-musl = " fts"
+
+inherit bash-completion pkgconfig
S = "${WORKDIR}/git"
@@ -30,7 +36,9 @@ EXTRA_OECONF = "--prefix=${prefix} \
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,,,systemd"
-EXTRA_OEMAKE += 'libdir=${prefix}/lib'
+EXTRA_OEMAKE += 'libdir=${prefix}/lib LDLIBS="${LDLIBS}"'
+
+LDLIBS_append_libc-musl = " -lfts"
do_configure() {
./configure ${EXTRA_OECONF}
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby/0001-Add-another-variable-LIBS-to-provides-libraries-from.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby/0001-Add-another-variable-LIBS-to-provides-libraries-from.patch
new file mode 100644
index 000000000..1b1a993a0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby/0001-Add-another-variable-LIBS-to-provides-libraries-from.patch
@@ -0,0 +1,26 @@
+From 22afaa21b4b258082be591e54c99e1ba6fbd7748 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 15 Jul 2017 10:19:22 -0700
+Subject: [PATCH 1/2] Add another variable LIBS to provides libraries from env
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index ac14404..92a8e73 100644
+--- a/Makefile
++++ b/Makefile
+@@ -27,7 +27,7 @@ RPM_OPT_FLAGS ?= -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector
+ CFLAGS += $(RPM_OPT_FLAGS) -std=gnu99 -Wall -Werror -Wno-error=unused-function -Wno-unused-function -ggdb
+ LDFLAGS :=
+
+-grubby_LIBS = -lblkid -lpopt
++grubby_LIBS = -lblkid -lpopt ${LIBS}
+
+ all: grubby
+
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby/0002-include-paths.h-for-_PATH_MOUNTED.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby/0002-include-paths.h-for-_PATH_MOUNTED.patch
new file mode 100644
index 000000000..de8133a3a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby/0002-include-paths.h-for-_PATH_MOUNTED.patch
@@ -0,0 +1,25 @@
+From 8f844ac7f44b8dc428d06cd6958c5f32d383d01c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 15 Jul 2017 10:19:50 -0700
+Subject: [PATCH 2/2] include paths.h for _PATH_MOUNTED
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ grubby.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/grubby.c b/grubby.c
+index 47a1a15..59f74a9 100644
+--- a/grubby.c
++++ b/grubby.c
+@@ -34,6 +34,7 @@
+ #include <libgen.h>
+ #include <execinfo.h>
+ #include <signal.h>
++#include <paths.h>
+ #include <blkid/blkid.h>
+
+ #include "log.h"
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb
index 0e9379085..5a998248c 100644
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb
@@ -9,11 +9,14 @@ LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a"
DEPENDS = "popt util-linux"
+DEPENDS_append_libc-musl = " libexecinfo"
SRC_URI = "https://github.com/rhinstaller/${BPN}/archive/${PV}-1.tar.gz;downloadfilename=${BPN}-${PV}-1.tar.gz \
file://grubby-rename-grub2-editenv-to-grub-editenv.patch \
file://run-ptest \
-"
+ file://0001-Add-another-variable-LIBS-to-provides-libraries-from.patch \
+ file://0002-include-paths.h-for-_PATH_MOUNTED.patch \
+ "
SRC_URI[md5sum] = "1005907b275d6d93368d045274537d86"
SRC_URI[sha256sum] = "85f1c678484f74c8978e8643451594967defce463a86c35cb1ee56d12767a9df"
@@ -24,8 +27,10 @@ RDEPENDS_${PN} += "dracut"
inherit autotools-brokensep ptest
-EXTRA_OEMAKE = "-e 'CC=${CC}' 'LDFLAGS=${LDFLAGS}'"
+EXTRA_OEMAKE = "-e 'CC=${CC}' 'LDFLAGS=${LDFLAGS}' LIBS='${LIBS}'"
+LIBS_libc-musl = "-lexecinfo"
+LIBS ?= ""
do_install_ptest() {
install -d ${D}${PTEST_PATH}
cp -r ${S}/test ${S}/test.sh ${D}${PTEST_PATH}
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch
new file mode 100644
index 000000000..7cd4c0e49
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch
@@ -0,0 +1,30 @@
+From 10fb440795a7796140bd657ee028847ec7c34447 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 8 Sep 2017 23:10:54 -0700
+Subject: [PATCH] Kbuild.klibc: Add path to compiler headers via -isystem
+
+We need to include this path so it can find compiler headers e.g.
+stdarg.h which is called from wrapper stdarg.h using include_next
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ scripts/Kbuild.klibc | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/scripts/Kbuild.klibc b/scripts/Kbuild.klibc
+index f500d535..1d5cdc43 100644
+--- a/scripts/Kbuild.klibc
++++ b/scripts/Kbuild.klibc
+@@ -105,7 +105,8 @@ KLIBCOBJCOPY := $(OBJCOPY)
+ KLIBCOBJDUMP := $(OBJDUMP)
+
+ # klibc include paths
+-KLIBCCPPFLAGS := -nostdinc -iwithprefix include \
++KLIBCCPPFLAGS := -nostdinc -iwithprefix include \
++ -isystem $(shell $(CC) -print-file-name=include) \
+ -I$(KLIBCINC)/arch/$(KLIBCARCHDIR) \
+ -I$(KLIBCINC)/bits$(KLIBCBITSIZE) \
+ -I$(KLIBCOBJ)/../include \
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch
new file mode 100644
index 000000000..41cc14275
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch
@@ -0,0 +1,30 @@
+From f66edde8a704131d98e8783ea8d4c848e8119b20 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 26 Jul 2017 16:13:16 -0700
+Subject: [PATCH 1/3] Kbuild.klibc: Use -print-libgcc-file-name instead of
+ --print-libgcc
+
+-print-libgcc-file-name works with clang and gcc unlike --print-libgcc
+which is gcc specific
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ scripts/Kbuild.klibc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/scripts/Kbuild.klibc b/scripts/Kbuild.klibc
+index f500d535..101f86f5 100644
+--- a/scripts/Kbuild.klibc
++++ b/scripts/Kbuild.klibc
+@@ -128,7 +128,7 @@ KLIBCCFLAGS += $(KLIBCCPPFLAGS) $(KLIBCREQFLAGS) $(KLIBCARCHREQFLAGS) \
+ KLIBCAFLAGS += -D__ASSEMBLY__ $(KLIBCCFLAGS)
+ KLIBCSTRIPFLAGS += --strip-all -R .comment -R .note
+
+-KLIBCLIBGCC_DEF := $(shell $(KLIBCCC) $(KLIBCCFLAGS) --print-libgcc)
++KLIBCLIBGCC_DEF := $(shell $(KLIBCCC) $(KLIBCCFLAGS) -print-libgcc-file-name)
+ KLIBCLIBGCC ?= $(KLIBCLIBGCC_DEF)
+ KLIBCCRT0 := $(KLIBCOBJ)/arch/$(KLIBCARCHDIR)/crt0.o
+ KLIBCLIBC := $(KLIBCOBJ)/libc.a
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-arm-Do-not-set-a-fallback-march-and-mtune.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-arm-Do-not-set-a-fallback-march-and-mtune.patch
new file mode 100644
index 000000000..9c0ea6397
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-arm-Do-not-set-a-fallback-march-and-mtune.patch
@@ -0,0 +1,33 @@
+From a46a144ac883898d9cedf7a0b13aec6d10116125 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Sep 2017 23:11:53 -0700
+Subject: [PATCH] arm: Do not set a fallback march and mtune
+
+In OE we pass the options explicitly, there is
+no need to set it inside the makefiles, we will
+need to compute values for CPU_ARCH and CPU_TUNE
+which is a bit harder in OE
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ usr/klibc/arch/arm/MCONFIG | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/usr/klibc/arch/arm/MCONFIG b/usr/klibc/arch/arm/MCONFIG
+index 53bc1dc3..857e2f2d 100644
+--- a/usr/klibc/arch/arm/MCONFIG
++++ b/usr/klibc/arch/arm/MCONFIG
+@@ -10,7 +10,7 @@
+ CPU_ARCH ?= armv4
+ CPU_TUNE ?= strongarm
+
+-KLIBCOPTFLAGS += -Os -march=$(CPU_ARCH) -mtune=$(CPU_TUNE)
++KLIBCOPTFLAGS += -Os
+ KLIBCBITSIZE = 32
+ KLIBCREQFLAGS += -fno-exceptions
+ KLIBCSTRIPFLAGS += -R .ARM.exidx
+--
+2.14.2
+
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc
index cd3f39808..30294b19a 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
@@ -17,6 +17,9 @@ SRC_URI = "git://git.kernel.org/pub/scm/libs/klibc/klibc.git \
file://0001-include-linux-sysinfo.h-directly.patch \
file://0001-mkfifo-Implement-mkfifo.patch \
file://0001-always-use-bfd-linker.patch \
+ file://0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch \
+ file://0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch \
+ file://0001-arm-Do-not-set-a-fallback-march-and-mtune.patch \
"
ARMPATCHES ?= ""
@@ -38,7 +41,8 @@ EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \
'INSTALLDIR=${libdir}/klibc' \
'SHLIBDIR=${libdir}' \
'${KLIBCTHUMB}' \
- 'KLIBCOPTFLAGS=${TUNE_CCARGS}' \
+ 'KLIBCOPTFLAGS=${TUNE_CCARGS} -Os' \
+ V=1 \
"
export FIX_ARMV4_EABI_BX = "${FIX_V4BX}"
@@ -48,6 +52,10 @@ do_configure () {
ln -sf "${STAGING_DIR_TARGET}${exec_prefix}" linux
}
+do_compile_prepend_toolchain-clang() {
+ sed -i -e 's#$(KLIBCROSS)gcc#$(KLIBCROSS)clang#g' ${S}/Makefile
+}
+
INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
INSANE_SKIP_${PN} = "already-stripped"
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0001-Makefile-only-build-ubi-utils.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0001-Makefile-only-build-ubi-utils.patch
index 9d5e4ebf0..6e1b9ff10 100644
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0001-Makefile-only-build-ubi-utils.patch
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0001-Makefile-only-build-ubi-utils.patch
@@ -25,11 +25,11 @@ Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Makefile | 24 ++----------------------
1 file changed, 2 insertions(+), 22 deletions(-)
-diff --git a/Makefile b/Makefile
-index eade234..2275865 100644
---- a/Makefile
-+++ b/Makefile
-@@ -16,28 +16,13 @@ endif
+Index: git/Makefile
+===================================================================
+--- git.orig/Makefile
++++ git/Makefile
+@@ -16,28 +16,11 @@ endif
TESTS = tests
@@ -37,7 +37,7 @@ index eade234..2275865 100644
- ftl_format flash_erase nanddump doc_loadbios \
- ftl_check mkfs.jffs2 flash_lock flash_unlock \
- flash_otp_info flash_otp_dump flash_otp_lock flash_otp_write \
-- mtd_debug flashcp nandwrite nandtest \
+- mtd_debug flashcp nandwrite nandtest mtdpart \
- jffs2dump \
- nftldump nftl_format docfdisk \
- rfddump rfdformat \
@@ -51,15 +51,15 @@ index eade234..2275865 100644
-BINS += mkfs.ubifs/mkfs.ubifs
-BINS += $(addprefix ubi-utils/,$(UBI_BINS))
-SCRIPTS = flash_eraseall
-+BINS = $(addprefix ubi-utils/,$(UBI_BINS))
-
- TARGETS = $(BINS)
+-
+-TARGETS = $(BINS)
-TARGETS += lib/libmtd.a
-TARGETS += ubi-utils/libubi.a
++BINS = $(addprefix ubi-utils/,$(UBI_BINS))
OBJDEPS = $(BUILDDIR)/include/version.h
-@@ -61,12 +46,9 @@ endif
+@@ -61,12 +44,9 @@ endif
rm -f $(BUILDDIR)/include/version.h
$(MAKE) -C $(TESTS) clean
@@ -73,7 +73,7 @@ index eade234..2275865 100644
tests::
$(MAKE) -C $(TESTS)
-@@ -91,8 +73,6 @@ LDLIBS_mkfs.jffs2 = -lz $(LZOLDLIBS)
+@@ -91,8 +71,6 @@ LDLIBS_mkfs.jffs2 = -lz $(LZOLDLIBS)
LDFLAGS_jffs2reader = $(ZLIBLDFLAGS) $(LZOLDFLAGS)
LDLIBS_jffs2reader = -lz $(LZOLDLIBS)
@@ -82,6 +82,3 @@ index eade234..2275865 100644
#
# Common libmtd
#
---
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0005-common.h-klibc-fixes-2.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0005-common.h-klibc-fixes-2.patch
index 2e43d5d97..6b09c14d6 100644
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0005-common.h-klibc-fixes-2.patch
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0005-common.h-klibc-fixes-2.patch
@@ -22,20 +22,11 @@ Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
include/common.h | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
-diff --git a/include/common.h b/include/common.h
-index 77f3f7d..2cbee0f 100644
---- a/include/common.h
-+++ b/include/common.h
-@@ -126,7 +126,7 @@ static char __PRIxoff_t_static_assert[sizeof(off_t) == 8 ? 1 : -1];
- fprintf(stderr, "%s: warning!: " fmt "\n", PROGRAM_NAME, ##__VA_ARGS__); \
- } while(0)
-
--#if defined(__UCLIBC__)
-+#if defined(__UCLIBC__) || defined(__KLIBC__)
- /* uClibc versions before 0.9.34 don't have rpmatch() */
- #if __UCLIBC_MAJOR__ == 0 && \
- (__UCLIBC_MINOR__ < 9 || \
-@@ -146,15 +146,17 @@ static inline int __rpmatch(const char *resp)
+Index: git/include/common.h
+===================================================================
+--- git.orig/include/common.h
++++ git/include/common.h
+@@ -161,15 +161,17 @@ static inline int __rpmatch(const char *
*/
static inline bool prompt(const char *msg, bool def)
{
@@ -56,6 +47,3 @@ index 77f3f7d..2cbee0f 100644
printf("failed to read prompt; assuming '%s'\n",
def ? "yes" : "no");
break;
---
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb
deleted file mode 100644
index 867407723..000000000
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-SUMMARY = "UBI utils statically compiled against klibc"
-DESCRIPTION = "Small sized tools from mtd-utils for use with initramfs."
-SECTION = "base"
-DEPENDS = "zlib lzo e2fsprogs util-linux"
-HOMEPAGE = "http://www.linux-mtd.infradead.org/"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
- file://include/common.h;beginline=1;endline=17;md5=ba05b07912a44ea2bf81ce409380049c"
-
-inherit klibc
-
-SRC_URI = "git://git.infradead.org/mtd-utils.git;tag=b7455d847ab4f9eeeb6a729efc306bfda7bddc99 \
- file://0001-Makefile-only-build-ubi-utils.patch \
- file://0002-common.mk-for-klibc-CC-is-klcc.patch \
- file://0003-libubi.c-add-klibc-specific-fixes.patch \
- file://0004-common.h-klibc-fixes-1.patch \
- file://0005-common.h-klibc-fixes-2.patch \
- file://0006-libiniparser-remove-unused-function-needing-float.patch \
- "
-
-S = "${WORKDIR}/git/"
-
-EXTRA_OEMAKE = "'CC=${CC}' 'RANLIB=${RANLIB}' 'AR=${AR}' 'CFLAGS=${CFLAGS} -I${S}include -DWITHOUT_XATTR' 'BUILDDIR=${S}'"
-CFLAGS += "${TUNE_CCARGS}"
-
-do_install () {
-
- install -d ${D}${sbindir}
- oe_runmake DESTDIR="${D}" install
-
-}
-
-PACKAGES = "ubi-utils-klibc-dbg"
-
-PACKAGES =+ "mtdinfo-klibc ubiattach-klibc ubiblock-klibc ubicrc32-klibc ubidetach-klibc \
- ubiformat-klibc ubimkvol-klibc ubinfo-klibc ubinize-klibc ubirename-klibc \
- ubirmvol-klibc ubirsvol-klibc ubiupdatevol-klibc"
-
-FILES_mtdinfo-klibc = "${sbindir}/mtdinfo"
-FILES_ubiattach-klibc = "${sbindir}/ubiattach"
-FILES_ubiblock-klibc = "${sbindir}/ubiblock"
-FILES_ubicrc32-klibc = "${sbindir}/ubicrc32"
-FILES_ubidetach-klibc = "${sbindir}/ubidetach"
-FILES_ubiformat-klibc = "${sbindir}/ubiformat"
-FILES_ubimkvol-klibc = "${sbindir}/ubimkvol"
-FILES_ubinfo-klibc = "${sbindir}/ubinfo"
-FILES_ubinize-klibc = "${sbindir}/ubinize"
-FILES_ubirename-klibc = "${sbindir}/ubirename"
-FILES_ubirmvol-klibc = "${sbindir}/ubirmvol"
-FILES_ubirsvol-klibc = "${sbindir}/ubirsvol"
-FILES_ubiupdatevol-klibc = "${sbindir}/ubiupdatevol"
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.2.bb b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.2.bb
new file mode 100644
index 000000000..518c02fc0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.2.bb
@@ -0,0 +1,48 @@
+SUMMARY = "UBI utils statically compiled against klibc"
+DESCRIPTION = "Small sized tools from mtd-utils for use with initramfs."
+SECTION = "base"
+DEPENDS = "zlib lzo e2fsprogs util-linux"
+HOMEPAGE = "http://www.linux-mtd.infradead.org/"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
+ file://include/common.h;beginline=1;endline=17;md5=ba05b07912a44ea2bf81ce409380049c"
+
+inherit klibc
+
+SRCREV = "aea36417067dade75192bafa03af70b6eb2677b1"
+SRC_URI = "git://git.infradead.org/mtd-utils.git \
+ file://0001-Makefile-only-build-ubi-utils.patch \
+ file://0002-common.mk-for-klibc-CC-is-klcc.patch \
+ file://0003-libubi.c-add-klibc-specific-fixes.patch \
+ file://0004-common.h-klibc-fixes-1.patch \
+ file://0005-common.h-klibc-fixes-2.patch \
+ file://0006-libiniparser-remove-unused-function-needing-float.patch \
+ "
+
+S = "${WORKDIR}/git/"
+
+EXTRA_OEMAKE = "'CC=${CC}' 'RANLIB=${RANLIB}' 'AR=${AR}' 'CFLAGS=${CFLAGS} -I${S}include -DWITHOUT_XATTR' 'BUILDDIR=${S}'"
+
+do_install () {
+ oe_runmake install DESTDIR=${D} SBINDIR=${sbindir} MANDIR=${mandir} INCLUDEDIR=${includedir}
+}
+
+PACKAGES = "ubi-utils-klibc-dbg"
+
+PACKAGES =+ "mtdinfo-klibc ubiattach-klibc ubiblock-klibc ubicrc32-klibc ubidetach-klibc \
+ ubiformat-klibc ubimkvol-klibc ubinfo-klibc ubinize-klibc ubirename-klibc \
+ ubirmvol-klibc ubirsvol-klibc ubiupdatevol-klibc"
+
+FILES_mtdinfo-klibc = "${sbindir}/mtdinfo"
+FILES_ubiattach-klibc = "${sbindir}/ubiattach"
+FILES_ubiblock-klibc = "${sbindir}/ubiblock"
+FILES_ubicrc32-klibc = "${sbindir}/ubicrc32"
+FILES_ubidetach-klibc = "${sbindir}/ubidetach"
+FILES_ubiformat-klibc = "${sbindir}/ubiformat"
+FILES_ubimkvol-klibc = "${sbindir}/ubimkvol"
+FILES_ubinfo-klibc = "${sbindir}/ubinfo"
+FILES_ubinize-klibc = "${sbindir}/ubinize"
+FILES_ubirename-klibc = "${sbindir}/ubirename"
+FILES_ubirmvol-klibc = "${sbindir}/ubirmvol"
+FILES_ubirsvol-klibc = "${sbindir}/ubirsvol"
+FILES_ubiupdatevol-klibc = "${sbindir}/ubiupdatevol"
diff --git a/import-layers/meta-openembedded/meta-multimedia/README b/import-layers/meta-openembedded/meta-multimedia/README
index abdc1a205..b59dfe0df 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: pyro
+branch: rocko
revision: HEAD
URI: git://github.com/openembedded/meta-oe.git
-layers: meta-oe, meta-ruby
-branch: pyro
+layers: meta-oe
+branch: rocko
revision: HEAD
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-multimedia][pyro]' in the subject'
+Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-multimedia][rocko]' 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][pyro][PATCH
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-multimedia][rocko][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.
-pyro Branch Maintainer:
+rocko Branch Maintainer:
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
index 715282fd1..3927235ef 100644
--- a/import-layers/meta-openembedded/meta-multimedia/classes/juce.bbclass
+++ b/import-layers/meta-openembedded/meta-multimedia/classes/juce.bbclass
@@ -1,8 +1,8 @@
inherit pkgconfig
+# List of JUCE modules that requires external dependencies
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)} \
@@ -11,7 +11,6 @@ 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},"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/files/move_vapigen.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/files/move_vapigen.patch
new file mode 100644
index 000000000..9bfc31b8e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/files/move_vapigen.patch
@@ -0,0 +1,102 @@
+OE-Core's vala class known one type of vapigen.m4 and deletes it since its
+not cross compile friendly, but this is a different case here where its not
+same vapigen.m4 just name is same and it tends to inherit vala bbclass so
+save it
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Index: gupnp-dlna-0.10.5/m4/vapigen-custom.m4
+===================================================================
+--- /dev/null
++++ gupnp-dlna-0.10.5/m4/vapigen-custom.m4
+@@ -0,0 +1,43 @@
++
++dnl vala.m4
++dnl
++dnl Copyright 2010 Marc-Andre Lureau
++dnl Copyright 2011 Rodney Dawes <dobey.pwns@gmail.com>
++dnl
++dnl This library is free software; you can redistribute it and/or
++dnl modify it under the terms of the GNU Lesser General Public
++dnl License as published by the Free Software Foundation; either
++dnl version 2.1 of the License, or (at your option) any later version.
++dnl
++dnl This library is distributed in the hope that it will be useful,
++dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
++dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++dnl Lesser General Public License for more details.
++dnl
++dnl You should have received a copy of the GNU Lesser General Public
++dnl License along with this library; if not, write to the Free Software
++dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
++
++dnl dropped everything but VALA_PROG_VAPIGEN - Jens Georg <mail@jensge.org>
++
++# Check whether the Vala API Generator exists in `PATH'. If it is found,
++# the variable VAPIGEN is set. Optionally a minimum release number of the
++# generator can be requested.
++#
++# VALA_PROG_VAPIGEN([MINIMUM-VERSION])
++# ------------------------------------
++AC_DEFUN([GUPNP_PROG_VAPIGEN],
++[AC_PATH_PROG([VAPIGEN], [vapigen], [])
++ AS_IF([test -z "$VAPIGEN"],
++ [AC_MSG_WARN([No Vala API Generator found. You will not be able to generate .vapi files.])],
++ [AS_IF([test -n "$1"],
++ [AC_MSG_CHECKING([$VAPIGEN is at least version $1])
++ am__vapigen_version=`$VAPIGEN --version | sed 's/Vala API Generator *//'`
++ AS_VERSION_COMPARE([$1], ["$am__vapigen_version"],
++ [AC_MSG_RESULT([yes])],
++ [AC_MSG_RESULT([yes])],
++ [AC_MSG_RESULT([no])
++ AC_MSG_WARN([Vala API Generator $1 not found.])
++ VAPIGEN=""
++ ])])])
++])
+Index: gupnp-dlna-0.10.5/m4/vapigen.m4
+===================================================================
+--- gupnp-dlna-0.10.5.orig/m4/vapigen.m4
++++ /dev/null
+@@ -1,43 +0,0 @@
+-
+-dnl vala.m4
+-dnl
+-dnl Copyright 2010 Marc-Andre Lureau
+-dnl Copyright 2011 Rodney Dawes <dobey.pwns@gmail.com>
+-dnl
+-dnl This library is free software; you can redistribute it and/or
+-dnl modify it under the terms of the GNU Lesser General Public
+-dnl License as published by the Free Software Foundation; either
+-dnl version 2.1 of the License, or (at your option) any later version.
+-dnl
+-dnl This library is distributed in the hope that it will be useful,
+-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+-dnl Lesser General Public License for more details.
+-dnl
+-dnl You should have received a copy of the GNU Lesser General Public
+-dnl License along with this library; if not, write to the Free Software
+-dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+-
+-dnl dropped everything but VALA_PROG_VAPIGEN - Jens Georg <mail@jensge.org>
+-
+-# Check whether the Vala API Generator exists in `PATH'. If it is found,
+-# the variable VAPIGEN is set. Optionally a minimum release number of the
+-# generator can be requested.
+-#
+-# VALA_PROG_VAPIGEN([MINIMUM-VERSION])
+-# ------------------------------------
+-AC_DEFUN([GUPNP_PROG_VAPIGEN],
+-[AC_PATH_PROG([VAPIGEN], [vapigen], [])
+- AS_IF([test -z "$VAPIGEN"],
+- [AC_MSG_WARN([No Vala API Generator found. You will not be able to generate .vapi files.])],
+- [AS_IF([test -n "$1"],
+- [AC_MSG_CHECKING([$VAPIGEN is at least version $1])
+- am__vapigen_version=`$VAPIGEN --version | sed 's/Vala API Generator *//'`
+- AS_VERSION_COMPARE([$1], ["$am__vapigen_version"],
+- [AC_MSG_RESULT([yes])],
+- [AC_MSG_RESULT([yes])],
+- [AC_MSG_RESULT([no])
+- AC_MSG_WARN([Vala API Generator $1 not found.])
+- VAPIGEN=""
+- ])])])
+-])
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.14.8.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.14.8.bb
deleted file mode 100644
index 9457abc5c..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.14.8.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require gssdp.inc
-
-inherit gtk-doc
-
-PACKAGECONFIG[gtk] = "--with-gtk,--without-gtk,gtk+3"
-
-SRC_URI = "${GNOME_MIRROR}/${BPN}/0.14/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "b8658e480d047caf2d92baa4a51b9ae7"
-SRC_URI[sha256sum] = "4c3ffa01435e84dc31c954e669e1ca0749b962f76a333e74f5c2cb0de5803a13"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.0.2.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.0.2.bb
new file mode 100644
index 000000000..b60d1ea44
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.0.2.bb
@@ -0,0 +1,9 @@
+require gssdp.inc
+
+inherit gtk-doc
+
+PACKAGECONFIG[gtk] = "--with-gtk,--without-gtk,gtk+3"
+
+SRC_URI = "${GNOME_MIRROR}/${BPN}/1.0/${BPN}-${PV}.tar.xz"
+SRC_URI[md5sum] = "b30c9a406853c6a3a012d151d6e7ad2c"
+SRC_URI[sha256sum] = "a1e17c09c7e1a185b0bd84fd6ff3794045a3cd729b707c23e422ff66471535dc"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.10.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.10.bb
new file mode 100644
index 000000000..cfd0227e4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.10.bb
@@ -0,0 +1,7 @@
+require gupnp-av.inc
+
+SRC_URI = "${GNOME_MIRROR}/${BPN}/0.12/${BPN}-${PV}.tar.xz"
+SRC_URI[md5sum] = "215f626508d76b767f5da7c9b92e87d8"
+SRC_URI[sha256sum] = "8038ef84dddbe7ad91c205bf91dddf684f072df8623f39b6555a6bb72837b85a"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
+ file://libgupnp-av/gupnp-av.h;beginline=1;endline=22;md5=2b47b7b5f799d2ebabe62b895e848820"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.6.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.6.bb
deleted file mode 100644
index b8cfa27d4..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.6.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require gupnp-av.inc
-
-SRC_URI = "${GNOME_MIRROR}/${BPN}/0.12/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "f56cdb269376a9e6cb062eb9960ccf57"
-SRC_URI[sha256sum] = "e0553d60dd7c7277c65c02a68a270c4dcb9036a4c7075c902fc8111c6a5e6a44"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
- file://libgupnp-av/gupnp-av.h;beginline=1;endline=22;md5=2b47b7b5f799d2ebabe62b895e848820"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-dlna_0.10.5.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-dlna_0.10.5.bb
new file mode 100644
index 000000000..3cafd6976
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-dlna_0.10.5.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Helpers for AV applications using DLNA"
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
+ file://libgupnp-dlna/gupnp-dlna-profile.h;beginline=1;endline=22;md5=1b85459f65cb1e73a885ca137aab6274"
+
+DEPENDS = "libxml2 glib-2.0"
+
+SRC_URI = "http://download.gnome.org/sources/${BPN}/0.10/${BPN}-${PV}.tar.xz \
+ file://move_vapigen.patch \
+"
+SRC_URI[md5sum] = "2d0dc1e4189d0243ac3838ece1e8fea0"
+SRC_URI[sha256sum] = "123e368227c11d5c17fc1aa76cbdaffa345355eb51d172cd39fc74a5b468ff6a"
+
+inherit autotools pkgconfig gobject-introspection vala
+
+PACKAGECONFIG ?= "gstreamer"
+PACKAGECONFIG[gstreamer] = "--enable-gstreamer-metadata-backend,--disable-gstreamer-metadata-backend,gstreamer1.0 gstreamer1.0-plugins-base"
+
+FILES_${PN} += "${datadir}/gupnp-dlna-2.0/dlna-profiles"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-dlna_0.9.4.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-dlna_0.9.4.bb
deleted file mode 100644
index 053604e12..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-dlna_0.9.4.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Helpers for AV applications using DLNA"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
- file://libgupnp-dlna/gupnp-dlna-profile.h;beginline=1;endline=22;md5=1b85459f65cb1e73a885ca137aab6274"
-
-DEPENDS = "libxml2 glib-2.0"
-
-SRC_URI = "http://download.gnome.org/sources/${BPN}/0.9/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "f93665e535a512e4d515a86311435cb6"
-SRC_URI[sha256sum] = "69969713f36c0e815fbbbcfdfb3ad9bd447cfd10d0fd86227d82dfd8edb6c807"
-
-inherit autotools pkgconfig gobject-introspection vala
-
-PACKAGECONFIG ?= "gstreamer"
-PACKAGECONFIG[gstreamer] = "--enable-gstreamer-metadata-backend,--disable-gstreamer-metadata-backend,gstreamer1.0 gstreamer1.0-plugins-base"
-
-FILES_${PN} += "${datadir}/gupnp-dlna-2.0/dlna-profiles"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_0.2.2.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_0.2.2.bb
deleted file mode 100644
index 440e8262d..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_0.2.2.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Helpers for interacting with Internet Gateway Devices over UPnP"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
- file://libgupnp-igd/gupnp-simple-igd.c;beginline=1;endline=21;md5=aa292c0d9390463a6e1055dc5fc68e80"
-
-DEPENDS = "glib-2.0 gupnp sqlite3"
-
-SRC_URI = "http://download.gnome.org/sources/${BPN}/0.2/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "f881323304185c02634034e3bda714ba"
-SRC_URI[sha256sum] = "73b6a98a0f13b29b34c3bfc07f99f78b1319211cb95a8585752873af2b9067d3"
-
-inherit autotools pkgconfig gtk-doc gobject-introspection
-
-EXTRA_OECONF = "--disable-python"
-
-PNBLACKLIST[gupnp-igd] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130645/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_0.2.4.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_0.2.4.bb
new file mode 100644
index 000000000..0aa594dc7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_0.2.4.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Helpers for interacting with Internet Gateway Devices over UPnP"
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
+ file://libgupnp-igd/gupnp-simple-igd.c;beginline=1;endline=21;md5=aa292c0d9390463a6e1055dc5fc68e80"
+
+DEPENDS = "glib-2.0 gupnp sqlite3"
+
+SRC_URI = "http://download.gnome.org/sources/${BPN}/0.2/${BPN}-${PV}.tar.xz"
+SRC_URI[md5sum] = "124371136b5a7b1056a3681780a62772"
+SRC_URI[sha256sum] = "38c4a6d7718d17eac17df95a3a8c337677eda77e58978129ad3182d769c38e44"
+
+inherit autotools pkgconfig gtk-doc gobject-introspection
+
+EXTRA_OECONF = "--disable-python"
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
deleted file mode 100644
index ba7f8257f..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.8.10.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "Tools for GUPnP"
-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 intltool-native"
-RRECOMMENDS_${PN} = "adwaita-icon-theme"
-
-SRC_URI = "http://download.gnome.org/sources/${BPN}/0.8/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "ad8423d036e98bc6f877528d6b846f6a"
-SRC_URI[sha256sum] = "592c53289ff1cd70e676405c56ca87b28d2da37a385d34a3bb9b944ba9108d17"
-
-inherit autotools pkgconfig
-
-PNBLACKLIST[gupnp-tools] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130670/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.8.13.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.8.13.bb
new file mode 100644
index 000000000..9360d65b5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.8.13.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Tools for GUPnP"
+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 intltool-native"
+RRECOMMENDS_${PN} = "adwaita-icon-theme"
+
+SRC_URI = "http://download.gnome.org/sources/${BPN}/0.8/${BPN}-${PV}.tar.xz"
+SRC_URI[md5sum] = "212d85ebce89b32468b59e1164050d40"
+SRC_URI[sha256sum] = "aa3decb9d532c0e2e505adc592f431fd81c0231ded2981129e87da13712479ed"
+inherit autotools pkgconfig gettext
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.20.14.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.20.14.bb
deleted file mode 100644
index ed0717593..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.20.14.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require gupnp.inc
-
-SRC_URI = "${GNOME_MIRROR}/${BPN}/0.20/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "63346ef90ac5cd925c3a941f51d8bca6"
-SRC_URI[sha256sum] = "77ffb940ba77c4a6426d09d41004c75d92652dcbde86c84ac1c847dbd9ad59bd"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
- file://libgupnp/gupnp.h;beginline=1;endline=20;md5=d78a69d9b6e63ee2dc72e7b674d97520"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.0.2.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.0.2.bb
new file mode 100644
index 000000000..1bdf7d79b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.0.2.bb
@@ -0,0 +1,8 @@
+require gupnp.inc
+
+SRC_URI = "${GNOME_MIRROR}/${BPN}/1.0/${BPN}-${PV}.tar.xz"
+SRC_URI[md5sum] = "afd96fe73856b38aaf1baf7526e08edd"
+SRC_URI[sha256sum] = "5173fda779111c6b01cd4a5e41b594322be9d04f8c74d3361f0a0c2069c77610"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
+ file://libgupnp/gupnp.h;beginline=1;endline=20;md5=d78a69d9b6e63ee2dc72e7b674d97520"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp/CVE-2016-8863.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp/CVE-2016-8863.patch
deleted file mode 100644
index abb4a72a4..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp/CVE-2016-8863.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-libupnp-1.6.19: Fix CVE-2016-8863
-
-[No upstream tracking] -- https://bugzilla.redhat.com/show_bug.cgi?id=1388771
-
-gena_device: Fix out-of-bound access in create_url_list()
-
-If there is an invalid URL in URLS->buf after a valid one, uri_parse is
-called with out pointing after the allocated memory. As uri_parse writes
-to *out before returning an error the loop in create_url_list must be
-stopped early to prevent an out-of-bound access
-
-Upstream-Status: Backported [https://sourceforge.net/p/pupnp/code/ci/9c099c2923ab4d98530ab5204af1738be5bddba7]
-CVE: CVE-2016-8863
-Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
-Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
-
-diff --git a/upnp/src/gena/gena_device.c b/upnp/src/gena/gena_device.c
-index 39edc0b..0fd60ad 100644
---- a/upnp/src/gena/gena_device.c
-+++ b/upnp/src/gena/gena_device.c
-@@ -1133,7 +1133,7 @@ static int create_url_list(
- /*! [out] . */
- URL_list *out)
- {
-- size_t URLcount = 0;
-+ size_t URLcount = 0, URLcount2 = 0;
- size_t i;
- int return_code = 0;
- uri_type temp;
-@@ -1175,16 +1175,23 @@ static int create_url_list(
- }
- memcpy( out->URLs, URLS->buff, URLS->size );
- out->URLs[URLS->size] = 0;
-- URLcount = 0;
- for( i = 0; i < URLS->size; i++ ) {
- if( ( URLS->buff[i] == '<' ) && ( i + 1 < URLS->size ) ) {
- if( ( ( return_code =
- parse_uri( &out->URLs[i + 1], URLS->size - i + 1,
-- &out->parsedURLs[URLcount] ) ) ==
-+ &out->parsedURLs[URLcount2] ) ) ==
- HTTP_SUCCESS )
-- && ( out->parsedURLs[URLcount].hostport.text.size !=
-+ && ( out->parsedURLs[URLcount2].hostport.text.size !=
- 0 ) ) {
-- URLcount++;
-+ URLcount2++;
-+ if (URLcount2 >= URLcount)
-+ /*
-+ * break early here in case there is a bogus URL that
-+ * was skipped above. This prevents to access
-+ * out->parsedURLs[URLcount] which is beyond the
-+ * allocation.
-+ */
-+ break;
- } else {
- if( return_code == UPNP_E_OUTOF_MEMORY ) {
- free( out->URLs );
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp/avoid-redefining-strnlen-and-strndup.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp/avoid-redefining-strnlen-and-strndup.patch
deleted file mode 100644
index 3c3f230a3..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp/avoid-redefining-strnlen-and-strndup.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 22fba4f2765f92cd592a58e1fe5c450b187e30e1 Mon Sep 17 00:00:00 2001
-From: Andre McCurdy <armccurdy@gmail.com>
-Date: Wed, 3 Jun 2015 21:39:03 -0700
-Subject: [PATCH] avoid redefining strnlen() and strndup()
-
-Rely on string.h definitions instead. Workaround for compiler errors such as:
-
- | i686-rdk-linux-libtool: compile: i686-rdk-linux-gcc -m32 -march=atom -mtune=atom -fschedule-insns -fsched-pressure -msse3 -mfpmath=sse --sysroot=/home/andre/build/tmp/sysroots/7401 -DHAVE_CONFIG_H -I. -I/home/andre/build/tmp/work/core2-32-rdk-linux/libupnp/1.6.19-r0/libupnp-1.6.19/upnp -I.. -I../upnp/inc -I/home/andre/build/tmp/work/core2-32-rdk-linux/libupnp/1.6.19-r0/libupnp-1.6.19/upnp/inc -I/home/andre/build/tmp/work/core2-32-rdk-linux/libupnp/1.6.19-r0/libupnp-1.6.19/threadutil/inc -I/home/andre/build/tmp/work/core2-32-rdk-linux/libupnp/1.6.19-r0/libupnp-1.6.19/ixml/inc -I/home/andre/build/tmp/work/core2-32-rdk-linux/libupnp/1.6.19-r0/libupnp-1.6.19/upnp/src/inc -pthread -O2 -pipe -g -feliminate-unused-debug-types -Os -Wall -c /home/andre/build/tmp/work/core2-32-rdk-linux/libupnp/1.6.19-r0/libupnp-1.6.19/upnp/src/gena/gena_callback2.c -o src/gena/libupnp_la-gena_callback2.o >/dev/null 2>&1
- | In file included from /home/andre/build/tmp/sysroots/7401/usr/include/string.h:634:0,
- | from /home/andre/build/tmp/work/core2-32-rdk-linux/libupnp/1.6.19-r0/libupnp-1.6.19/upnp/src/api/UpnpString.c:23:
- | /home/andre/build/tmp/work/core2-32-rdk-linux/libupnp/1.6.19-r0/libupnp-1.6.19/upnp/src/api/UpnpString.c:47:15: error: expected identifier or '(' before '__extension__'
- | extern char *strndup(__const char *__string, size_t __n);
- | ^
- | make[3]: *** [src/api/libupnp_la-UpnpString.lo] Error 1
-
-Upstream-Status: Pending
-
-Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
----
- upnp/src/api/UpnpString.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/upnp/src/api/UpnpString.c b/upnp/src/api/UpnpString.c
-index 41c9898..2fa09d7 100644
---- a/upnp/src/api/UpnpString.c
-+++ b/upnp/src/api/UpnpString.c
-@@ -32,7 +32,7 @@
- /* VC has strnlen which is already included but with (potentially) different linkage */
- /* strnlen() is a GNU extension. */
- #if HAVE_STRNLEN
-- extern size_t strnlen(const char *s, size_t maxlen);
-+// extern size_t strnlen(const char *s, size_t maxlen);
- #else /* HAVE_STRNLEN */
- static size_t strnlen(const char *s, size_t n)
- {
-@@ -44,7 +44,7 @@
-
- /* strndup() is a GNU extension. */
- #if HAVE_STRNDUP && !defined(WIN32)
-- extern char *strndup(__const char *__string, size_t __n);
-+// extern char *strndup(__const char *__string, size_t __n);
- #else /* HAVE_STRNDUP && !defined(WIN32) */
- static char *strndup(const char *__string, size_t __n)
- {
---
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp/sepbuildfix.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp/sepbuildfix.patch
deleted file mode 100644
index cd9768d54..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp/sepbuildfix.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From e198f0a87660a048164ca0e16d18517d0aee846e Mon Sep 17 00:00:00 2001
-From: Andre McCurdy <armccurdy@gmail.com>
-Date: Tue, 9 Jun 2015 12:20:45 -0700
-Subject: [PATCH] Fix builds when using separate source and build directories.
-
-Upstream-Status: Pending
-
-Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
----
- configure.ac | 8 ++++----
- ixml/Makefile.am | 2 +-
- threadutil/Makefile.am | 2 +-
- 3 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index e2c3f47..11d5e22 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -714,8 +714,8 @@ AC_OUTPUT
- #
- # Files copied for windows compilation.
- #
--echo "configure: copying \"autoconfig.h\" to \"build/inc/autoconfig.h\""
--cp autoconfig.h build/inc/autoconfig.h
--echo "configure: copying \"upnp/inc/upnpconfig.h\" to \"build/inc/upnpconfig.h\""
--cp upnp/inc/upnpconfig.h build/inc/upnpconfig.h
-+echo "configure: copying \"autoconfig.h\" to \"\$srcdir/build/inc/autoconfig.h\""
-+cp autoconfig.h $srcdir/build/inc/autoconfig.h
-+echo "configure: copying \"upnp/inc/upnpconfig.h\" to \"\$srcdir/build/inc/upnpconfig.h\""
-+cp upnp/inc/upnpconfig.h $srcdir/build/inc/upnpconfig.h
-
-diff --git a/ixml/Makefile.am b/ixml/Makefile.am
-index 49da766..0e9ab2c 100644
---- a/ixml/Makefile.am
-+++ b/ixml/Makefile.am
-@@ -7,7 +7,7 @@
-
- SUBDIRS = doc
-
--AM_CPPFLAGS = -I$(srcdir)/inc -I$(srcdir)/src/inc
-+AM_CPPFLAGS = -I$(top_srcdir)/upnp/inc -I$(srcdir)/inc -I$(srcdir)/src/inc
- AM_CFLAGS =
-
- LDADD = libixml.la
-diff --git a/threadutil/Makefile.am b/threadutil/Makefile.am
-index a4ed325..42d0726 100644
---- a/threadutil/Makefile.am
-+++ b/threadutil/Makefile.am
-@@ -4,7 +4,7 @@
- # (C) Copyright 2005 Remi Turboult <r3mi@users.sourceforge.net>
- #
-
--AM_CPPFLAGS = -I$(srcdir)/inc -I$(srcdir)/src/inc
-+AM_CPPFLAGS = -I$(top_srcdir)/upnp/inc -I$(srcdir)/inc -I$(srcdir)/src/inc
-
- if ENABLE_DEBUG
- AM_CPPFLAGS += -DDEBUG -DSTATS
---
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp1.6/sepbuildfix.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp1.6/sepbuildfix.patch
new file mode 100644
index 000000000..0493cea0e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp1.6/sepbuildfix.patch
@@ -0,0 +1,34 @@
+From e198f0a87660a048164ca0e16d18517d0aee846e Mon Sep 17 00:00:00 2001
+From: Andre McCurdy <armccurdy@gmail.com>
+Date: Tue, 9 Jun 2015 12:20:45 -0700
+Subject: [PATCH] Fix builds when using separate source and build directories.
+
+Upstream-Status: Pending
+
+Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+---
+ configure.ac | 10 +++++-----
+ 1 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index a8731b5..54a3c3d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -744,9 +744,9 @@ AC_OUTPUT
+ #
+ # Files copied for windows compilation.
+ #
+-echo "configure: copying \"autoconfig.h\" to \"build/inc/autoconfig.h\""
+-test -d build/inc || mkdir -p build/inc
+-cp autoconfig.h build/inc/autoconfig.h
+-echo "configure: copying \"upnp/inc/upnpconfig.h\" to \"build/inc/upnpconfig.h\""
+-cp upnp/inc/upnpconfig.h build/inc/upnpconfig.h
++echo "configure: copying \"autoconfig.h\" to \"\$srcdir/build/inc/autoconfig.h\""
++test -d $srcdir/build/inc || mkdir -p $srcdir/build/inc
++cp autoconfig.h $srcdir/build/inc/autoconfig.h
++echo "configure: copying \"upnp/inc/upnpconfig.h\" to \"\$srcdir/build/inc/upnpconfig.h\""
++cp upnp/inc/upnpconfig.h $srcdir/build/inc/upnpconfig.h
+
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp1.6_1.6.21.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp1.6_1.6.21.bb
new file mode 100644
index 000000000..c1b0429bd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp1.6_1.6.21.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Portable SDK for UPnP* Devices"
+DESCRIPTION = "The Portable SDK for UPnP Devices is an SDK for development of \
+UPnP device and control point applications. It consists of the core UPnP \
+protocols along with a UPnP-specific eXtensible Markup Language (XML) parser \
+supporting the Document Object Model (DOM) Level 2 API and an optional, \
+integrated mini web server for serving UPnP related documents."
+HOMEPAGE = "http://pupnp.sourceforge.net/"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b3190d5244e08e78e4c8ee78544f4863"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/pupnp/libupnp-${PV}.tar.bz2 \
+ file://sepbuildfix.patch \
+"
+
+SRC_URI[md5sum] = "513adadb07fa039a8aeb0ceb7b7b0f6e"
+SRC_URI[sha256sum] = "af3f3c0846a1d75baeadae4aa5a2bda427567e2a1fb4559bf73ccff0a4f9a39b"
+
+S = "${WORKDIR}/libupnp-${PV}"
+
+inherit autotools
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.6.19.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.6.19.bb
deleted file mode 100644
index 71fc70dd1..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.6.19.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Portable SDK for UPnP* Devices"
-DESCRIPTION = "The Portable SDK for UPnP Devices is an SDK for development of \
-UPnP device and control point applications. It consists of the core UPnP \
-protocols along with a UPnP-specific eXtensible Markup Language (XML) parser \
-supporting the Document Object Model (DOM) Level 2 API and an optional, \
-integrated mini web server for serving UPnP related documents."
-HOMEPAGE = "http://pupnp.sourceforge.net/"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b3190d5244e08e78e4c8ee78544f4863"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/pupnp/${BP}.tar.bz2 \
- file://avoid-redefining-strnlen-and-strndup.patch \
- file://sepbuildfix.patch \
- file://CVE-2016-8863.patch \
-"
-
-SRC_URI[md5sum] = "ee16e5d33a3ea7506f38d71facc057dd"
-SRC_URI[sha256sum] = "b3142b39601243b50532eec90f4a27dba85eb86f58d4b849ac94edeb29d9b22a"
-
-inherit autotools
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_git.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_git.bb
new file mode 100644
index 000000000..7a524f2d5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_git.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Portable SDK for UPnP* Devices"
+DESCRIPTION = "The Portable SDK for UPnP Devices is an SDK for development of \
+UPnP device and control point applications. It consists of the core UPnP \
+protocols along with a UPnP-specific eXtensible Markup Language (XML) parser \
+supporting the Document Object Model (DOM) Level 2 API and an optional, \
+integrated mini web server for serving UPnP related documents."
+HOMEPAGE = "http://pupnp.sourceforge.net/"
+LICENSE = "BSD"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b3190d5244e08e78e4c8ee78544f4863"
+
+PV = "1.8.2+git${SRCPV}"
+SRCREV = "56d6042abae861e8838a4e6b6b5b575b99e38f34"
+SRC_URI = "git://github.com/mrjimenez/pupnp.git;protocol=https"
+
+S="${WORKDIR}/git"
+
+inherit autotools
+
+EXTRA_OECONF += "--enable-reuseaddr" \ No newline at end of file
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/miniupnpd/miniupnpd_2.0.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/miniupnpd/miniupnpd_2.0.bb
deleted file mode 100644
index bb361a158..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/miniupnpd/miniupnpd_2.0.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-SUMMARY = "Lightweight UPnP IGD daemon"
-DESCRIPTION = "The miniUPnP daemon is an UPnP IGD (internet gateway device) \
-which provide NAT traversal services to any UPnP enabled client on \
-the network."
-
-SECTION = "networking"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=aa71c78c373ccfe0ff207af0cd966d91"
-
-inherit autotools gettext pkgconfig
-
-DEPENDS += "iptables net-tools util-linux libmnl libnetfilter-conntrack"
-
-SRC_URI = "http://miniupnp.tuxfamily.org/files/download.php?file=${P}.tar.gz \
-"
-SRC_URI[md5sum] = "1c07a215dd9b362e75a9efc05e2fb3b4"
-SRC_URI[sha256sum] = "d96aa3a00e0f5490826bba3cb97e68cd27479e5839adac4b9bcb66eae786bfb7"
-
-IPV6 = "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '--ipv6', '', d)}"
-
-do_compile() {
- cd ${S}
- CONFIG_OPTIONS="${IPV6} --leasefile" ./genconfig.sh
- oe_runmake -f Makefile.linux
-}
-
-do_install() {
- install -d ${D}/${sbindir}
- install ${S}/miniupnpd ${D}/${sbindir}
- install -d ${D}/${sysconfdir}/${BPN}
- install ${S}/netfilter/iptables_init.sh ${D}/${sysconfdir}/${BPN}
- install ${S}/netfilter/iptables_removeall.sh ${D}/${sysconfdir}/${BPN}
- install ${S}/netfilter/ip6tables_init.sh ${D}/${sysconfdir}/${BPN}
- install ${S}/netfilter/ip6tables_removeall.sh ${D}/${sysconfdir}/${BPN}
- install -m 0644 -b ${S}/miniupnpd.conf ${D}/${sysconfdir}/${BPN}
- install -d ${D}/${sysconfdir}/init.d
- install ${S}/linux/miniupnpd.init.d.script ${D}/${sysconfdir}/init.d/miniupnpd
-}
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
deleted file mode 100644
index 38fac65d5..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.28.2.bb
+++ /dev/null
@@ -1,59 +0,0 @@
-SUMMARY = "A UPnP AV media server and renderer"
-DESCRIPTION = "Rygel is a home media solution (UPnP AV MediaServer) that \
-allow you to easily share audio, video and pictures to other devices. \
-Additionally, media player software may use Rygel to become a MediaRenderer \
-that may be controlled remotely by a UPnP or DLNA Controller."
-HOMEPAGE = "http://live.gnome.org/Rygel"
-
-LICENSE = "LGPLv2+"
-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 intltool-native"
-RDEPENDS_${PN} = "gstreamer1.0-plugins-base-playback shared-mime-info"
-RRECOMMENDS_${PN} = "rygel-plugin-media-export"
-
-GNOME_COMPRESS_TYPE = "xz"
-SRC_URI[archive.md5sum] = "9fbe4fb53b6cfa2f3f3723b7649a2215"
-SRC_URI[archive.sha256sum] = "9ea23df7186caac5f1aad3137edf6d507d339b9a469fc3133df4043fa66b61f5"
-
-inherit gnomebase vala gobject-introspection
-
-EXTRA_OECONF = "--disable-tracker-plugin --with-media-engine=gstreamer"
-
-PACKAGECONFIG ?= "external mpris mediathek ruih media-export gst-launch gtk+3"
-PACKAGECONFIG[external] = "--enable-external-plugin,--disable-external-plugin"
-PACKAGECONFIG[mpris] = "--enable-mpris-plugin,--disable-mpris-plugin"
-PACKAGECONFIG[mediathek] = "--enable-mediathek-plugin,--disable-mediathek-plugin"
-PACKAGECONFIG[ruih] = "--enable-ruih-plugin,--disable-ruih-plugin"
-PACKAGECONFIG[media-export] = "--enable-media-export-plugin,--disable-media-export-plugin"
-PACKAGECONFIG[gst-launch] = "--enable-gst-launch-plugin,--disable-gst-launch-plugin"
-PACKAGECONFIG[gtk+3] = ",--without-ui,gtk+3"
-
-LIBV = "2.6"
-
-do_install_append() {
- # Remove .la files for loadable modules
- rm -f ${D}/${libdir}/rygel-${LIBV}/engines/*.la
- rm -f ${D}/${libdir}/rygel-${LIBV}/plugins/*.la
-}
-
-FILES_${PN} += "${libdir}/rygel-${LIBV}/engines ${datadir}/dbus-1 ${datadir}/icons"
-FILES_${PN}-dbg += "${libdir}/rygel-${LIBV}/engines/.debug ${libdir}/rygel-${LIBV}/plugins/.debug"
-
-PACKAGES += "${PN}-meta"
-ALLOW_EMPTY_${PN}-meta = "1"
-
-PACKAGES_DYNAMIC = "${PN}-plugin-*"
-
-python populate_packages_prepend () {
- rygel_libdir = d.expand('${libdir}/rygel-${LIBV}')
- postinst = d.getVar('plugin_postinst')
- pkgs = []
-
- pkgs += do_split_packages(d, oe.path.join(rygel_libdir, "plugins"), 'librygel-(.*)\.so$', d.expand('${PN}-plugin-%s'), 'Rygel plugin for %s', postinst=postinst, extra_depends=d.expand('${PN}'))
- pkgs += do_split_packages(d, oe.path.join(rygel_libdir, "plugins"), '(.*)\.plugin$', d.expand('${PN}-plugin-%s'), 'Rygel plugin for %s', postinst=postinst, extra_depends=d.expand('${PN}'))
-
- metapkg = d.getVar('PN') + '-meta'
- d.setVar('RDEPENDS_' + metapkg, ' '.join(pkgs))
-}
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.34.0.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.34.0.bb
new file mode 100644
index 000000000..d2eda6bf9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.34.0.bb
@@ -0,0 +1,67 @@
+SUMMARY = "A UPnP AV media server and renderer"
+DESCRIPTION = "Rygel is a home media solution (UPnP AV MediaServer) that \
+allow you to easily share audio, video and pictures to other devices. \
+Additionally, media player software may use Rygel to become a MediaRenderer \
+that may be controlled remotely by a UPnP or DLNA Controller."
+HOMEPAGE = "http://live.gnome.org/Rygel"
+
+LICENSE = "LGPL1.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+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"
+
+GNOME_COMPRESS_TYPE = "xz"
+SRC_URI[archive.md5sum] = "7d8923324b280cd5452803d61176a34a"
+SRC_URI[archive.sha256sum] = "fbb2d46cbe4e750df6610b4c66b2278f06d1f71a257c7903e676ccb394dad418"
+
+inherit gnomebase vala gobject-introspection gettext systemd
+
+EXTRA_OECONF = "--disable-tracker-plugin --with-media-engine=gstreamer"
+
+PACKAGECONFIG ?= "external mpris ruih media-export gst-launch"
+
+PACKAGECONFIG_append = "${@bb.utils.contains("DISTRO_FEATURES", "x11", " gtk+3", "", d)}"
+
+PACKAGECONFIG[external] = "--enable-external-plugin,--disable-external-plugin"
+PACKAGECONFIG[mpris] = "--enable-mpris-plugin,--disable-mpris-plugin"
+PACKAGECONFIG[ruih] = "--enable-ruih-plugin,--disable-ruih-plugin"
+PACKAGECONFIG[media-export] = "--enable-media-export-plugin,--disable-media-export-plugin"
+PACKAGECONFIG[gst-launch] = "--enable-gst-launch-plugin,--disable-gst-launch-plugin"
+PACKAGECONFIG[gtk+3] = ",--without-ui,gtk+3"
+
+LIBV = "2.6"
+
+do_install_append() {
+ # Remove .la files for loadable modules
+ rm -f ${D}/${libdir}/rygel-${LIBV}/engines/*.la
+ rm -f ${D}/${libdir}/rygel-${LIBV}/plugins/*.la
+ if [ -e ${D}${libdir}/systemd/user/rygel.service ]; then
+ mkdir -p ${D}${systemd_unitdir}/system
+ mv ${D}${libdir}/systemd/user/rygel.service ${D}${systemd_unitdir}/system
+ rmdir ${D}${libdir}/systemd/user ${D}${libdir}/systemd
+ fi
+}
+
+FILES_${PN} += "${libdir}/rygel-${LIBV}/engines ${datadir}/dbus-1 ${datadir}/icons"
+FILES_${PN}-dbg += "${libdir}/rygel-${LIBV}/engines/.debug ${libdir}/rygel-${LIBV}/plugins/.debug"
+
+PACKAGES += "${PN}-meta"
+ALLOW_EMPTY_${PN}-meta = "1"
+
+PACKAGES_DYNAMIC = "${PN}-plugin-*"
+
+SYSTEMD_SERVICE_${PN} = "rygel.service"
+
+python populate_packages_prepend () {
+ rygel_libdir = d.expand('${libdir}/rygel-${LIBV}')
+ postinst = d.getVar('plugin_postinst')
+ pkgs = []
+
+ pkgs += do_split_packages(d, oe.path.join(rygel_libdir, "plugins"), 'librygel-(.*)\.so$', d.expand('${PN}-plugin-%s'), 'Rygel plugin for %s', postinst=postinst, extra_depends=d.expand('${PN}'))
+ pkgs += do_split_packages(d, oe.path.join(rygel_libdir, "plugins"), '(.*)\.plugin$', d.expand('${PN}-plugin-%s'), 'Rygel plugin for %s', postinst=postinst, extra_depends=d.expand('${PN}'))
+
+ metapkg = d.getVar('PN') + '-meta'
+ d.setVar('RDEPENDS_' + metapkg, ' '.join(pkgs))
+}
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
deleted file mode 100644
index 4a7ed9a6e..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/dvb-apps/dvb-apps_1.1.1.bb
+++ /dev/null
@@ -1,136 +0,0 @@
-HOMEPAGE = "http://www.linuxtv.org"
-SUMMARY = "Linux DVB API applications and utilities"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-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
-}
-
-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/szap
- chmod a+rx ${D}/${libdir}/*.so*
-
- # Install tests
- install -m 0755 ${S}/test/setvoltage ${D}${bindir}/test_setvoltage
- install -m 0755 ${S}/test/set22k ${D}${bindir}/test_set22k
- install -m 0755 ${S}/test/sendburst ${D}${bindir}/test_sendburst
- install -m 0755 ${S}/test/diseqc ${D}${bindir}/test_diseqc
- install -m 0755 ${S}/test/test_sections ${D}${bindir}/
- install -m 0755 ${S}/test/test_av_play ${D}${bindir}/
- install -m 0755 ${S}/test/test_stillimage ${D}${bindir}/
- install -m 0755 ${S}/test/test_dvr_play ${D}${bindir}/
- install -m 0755 ${S}/test/test_tt ${D}${bindir}/
- install -m 0755 ${S}/test/test_sec_ne ${D}${bindir}/
- install -m 0755 ${S}/test/test_stc ${D}${bindir}/
- install -m 0755 ${S}/test/test_av ${D}${bindir}/
- install -m 0755 ${S}/test/test_vevent ${D}${bindir}/
- install -m 0755 ${S}/test/test_pes ${D}${bindir}/
- install -m 0755 ${S}/test/test_dvr ${D}${bindir}/
-
- cp -pPR ${S}/util/szap/channels-conf* ${D}/${docdir}/dvb-apps/szap/
- cp -pPR ${S}/util/szap/README ${D}/${docdir}/dvb-apps/szap/
-}
-
-python populate_packages_prepend () {
- dvb_libdir = bb.data.expand('${libdir}', d)
- do_split_packages(d, dvb_libdir, '^lib(.*)\.so$', 'lib%s', 'DVB %s package', extra_depends='', allow_links=True)
- do_split_packages(d, dvb_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'DVB %s development package', extra_depends='${PN}-dev')
- do_split_packages(d, dvb_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'DVB %s development package', extra_depends='${PN}-dev')
- do_split_packages(d, dvb_libdir, '^lib(.*)\.so\.*', 'lib%s', 'DVB %s library', extra_depends='', allow_links=True)
-}
-
-PACKAGES =+ "dvb-evtest dvb-evtest-dbg \
- dvbapp-tests dvbapp-tests-dbg \
- dvbdate dvbdate-dbg \
- dvbtraffic dvbtraffic-dbg \
- dvbnet dvbnet-dbg \
- dvb-scan dvb-scan-dbg dvb-scan-data \
- dvb-azap dvb-azap-dbg \
- dvb-czap dvb-czap-dbg \
- dvb-szap dvb-szap-dbg \
- dvb-tzap dvb-tzap-dbg \
- 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 = ""
-FILES_${PN}-dev = "${includedir}"
-
-FILES_dvb-evtest = "${bindir}/evtest"
-FILES_dvb-evtest-dbg = "${bindir}/.debug/evtest"
-RCONFLICTS_dvb-evtest = "evtest"
-
-FILES_dvbapp-tests = "${bindir}/*test* "
-FILES_dvbapp-tests-dbg = "${bindir}/.debug/*test*"
-
-FILES_dvbdate = "${bindir}/dvbdate"
-FILES_dvbdate-dbg = "${bindir}/.debug/dvbdate"
-
-FILES_dvbtraffic = "${bindir}/dvbtraffic"
-FILES_dvbtraffic-dbg = "${bindir}/.debug/dvbtraffic"
-
-FILES_dvbnet = "${bindir}/dvbnet"
-FILES_dvbnet-dbg = "${bindir}/.debug/dvbnet"
-
-FILES_dvb-scan = "${bindir}/*scan "
-FILES_dvb-scan-dbg = "${bindir}/.debug/*scan"
-FILES_dvb-scan-data = "${datadir}/dvb"
-
-FILES_dvb-azap = "${bindir}/azap"
-FILES_dvb-azap-dbg = "${bindir}/.debug/azap"
-
-FILES_dvb-czap = "${bindir}/czap"
-FILES_dvb-czap-dbg = "${bindir}/.debug/czap"
-
-FILES_dvb-szap = "${bindir}/szap"
-FILES_dvb-szap-dbg = "${bindir}/.debug/szap"
-
-FILES_dvb-tzap = "${bindir}/tzap"
-FILES_dvb-tzap-dbg = "${bindir}/.debug/tzap"
-
-FILES_dvb-femon = "${bindir}/femon"
-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"
-
-PNBLACKLIST[dvb-apps] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130603/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Fix-checks-for-sse2-mmx.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Fix-checks-for-sse2-mmx.patch
deleted file mode 100644
index 3283a5b6a..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Fix-checks-for-sse2-mmx.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From f0dab6d6fe4b0aae4394eee93be86e9747c6ed5c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 22 Nov 2016 05:07:38 +0000
-Subject: [PATCH] Fix checks for sse2/mmx
-
-Just checking for cmdline options is not enough
-its better to check for builtin defines to be
-sure, clang does not error out on sse2 options on
-arm e.g. and it ends up doing SSE2 stuff for arm
-which is not desired
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- configure | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/configure b/configure
-index 47d2cf2..4be000c 100755
---- a/configure
-+++ b/configure
-@@ -118,8 +118,14 @@ fi
- # Valiate compiler
- check_cc || die 'No C compiler found'
- check_cc_header execinfo
--check_cc_option mmx
--check_cc_option sse2
-+check_cc_snippet mmx '#ifndef __MMX__
-+error "MMX not supported"
-+#endif
-+'
-+check_cc_snippet sse2 '#ifndef __SSE2__
-+error "SSE2 not supported"
-+#endif
-+'
-
- if check_cc '
- #if !defined(__clang__)
---
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Makefile-Ignore-warning-about-wrong-includes.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Makefile-Ignore-warning-about-wrong-includes.patch
deleted file mode 100644
index 248a5e6a8..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Makefile-Ignore-warning-about-wrong-includes.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 7d672305c7ad2f716dfe1c487b525a1a92954d4a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 22 Nov 2016 06:22:36 +0000
-Subject: [PATCH] Makefile: Ignore warning about wrong includes
-
-It happens on musl especially
-usr/include/sys/poll.h:1:2: error: redirecting incorrect #include <sys/poll.h> to <poll.h> [-Werror,-W#warnings]
-| #warning redirecting incorrect #include <sys/poll.h> to <poll.h>
-| ^
-| In file included from src/avahi.c:48:
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Makefile | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/Makefile b/Makefile
-index f41ef1a..cc7b249 100644
---- a/Makefile
-+++ b/Makefile
-@@ -54,6 +54,7 @@ CFLAGS += -Wno-microsoft -Qunused-arguments -Wno-unused-function
- CFLAGS += -Wno-unused-value -Wno-tautological-constant-out-of-range-compare
- CFLAGS += -Wno-parentheses-equality -Wno-incompatible-pointer-types
- CFLAGS += -Wno-error=varargs
-+CFLAGS += -Wno-error=\#warnings
- endif
-
- ifeq ($(CONFIG_LIBFFMPEG_STATIC),yes)
---
-1.8.3.1
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-disable-varargs-warning-on-clang.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-disable-varargs-warning-on-clang.patch
deleted file mode 100644
index a4c4c4d0f..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-disable-varargs-warning-on-clang.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 906d95695af95970bf551ea55b6c3e70332c6b97 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 22 Nov 2016 05:22:32 +0000
-Subject: [PATCH] disable varargs warning on clang
-
-The issue is that 'len' is an unsigned char and we violate the promotion rules
-for passing the value to va_start.
-
-passing an object that undergoes defau
-lt argument promotion to 'va_start' has undefined behavior [-Wvarargs]
-| va_start(ap, len);
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Makefile | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/Makefile b/Makefile
-index 8c5e380..f41ef1a 100644
---- a/Makefile
-+++ b/Makefile
-@@ -53,6 +53,7 @@ ifeq ($(COMPILER), clang)
- CFLAGS += -Wno-microsoft -Qunused-arguments -Wno-unused-function
- CFLAGS += -Wno-unused-value -Wno-tautological-constant-out-of-range-compare
- CFLAGS += -Wno-parentheses-equality -Wno-incompatible-pointer-types
-+CFLAGS += -Wno-error=varargs
- endif
-
- ifeq ($(CONFIG_LIBFFMPEG_STATIC),yes)
---
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-dvr-Use-labs-instead-of-abs.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-dvr-Use-labs-instead-of-abs.patch
deleted file mode 100644
index ea34cdb62..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-dvr-Use-labs-instead-of-abs.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From a715671eadcbf989fdaf05f62e71b93ac1749615 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 22 Nov 2016 06:08:31 +0000
-Subject: [PATCH] dvr: Use labs() instead of abs()
-
-Makes clang happy
-
-dvr/dvr_db.c:853:10: error: absolute value function
-'abs' given an argument of type 'long' but has parameter of type 'int' which may cause truncation of value [-Werror,-Wabsolute-value]
-if ((abs(de->de_start - e->start) < 600) && (abs(de->de_stop - e->stop) < 600)) {
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/dvr/dvr_db.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/dvr/dvr_db.c b/src/dvr/dvr_db.c
-index 165caa6..5656569 100644
---- a/src/dvr/dvr_db.c
-+++ b/src/dvr/dvr_db.c
-@@ -414,11 +414,11 @@ dvr_entry_fuzzy_match(dvr_entry_t *de, epg_broadcast_t *e)
- /* Wrong length (+/-20%) */
- t1 = de->de_stop - de->de_start;
- t2 = e->stop - e->start;
-- if ( abs(t2 - t1) > (t1 / 5) )
-+ if ( labs(t2 - t1) > (t1 / 5) )
- return 0;
-
- /* Outside of window */
-- if (abs(e->start - de->de_start) > de->de_config->dvr_update_window)
-+ if (labs(e->start - de->de_start) > de->de_config->dvr_update_window)
- return 0;
-
- /* Title match (or contains?) */
---
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-hdhomerun-Override-forced-overrdiing-og-CC-STRIP-and.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-hdhomerun-Override-forced-overrdiing-og-CC-STRIP-and.patch
deleted file mode 100644
index 484e723d9..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-hdhomerun-Override-forced-overrdiing-og-CC-STRIP-and.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From c3767e189e90965407937b6178adbbd8cdafe31d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 22 Nov 2016 05:59:10 +0000
-Subject: [PATCH] hdhomerun: Override forced overrdiing og CC/STRIP and CFLAGS
-
-This is required for cross compiling otherwise it ends up
-using build host gcc
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Makefile.hdhomerun | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile.hdhomerun b/Makefile.hdhomerun
-index 943ffec..8bd14ff 100644
---- a/Makefile.hdhomerun
-+++ b/Makefile.hdhomerun
-@@ -18,8 +18,8 @@
-
- include $(dir $(lastword $(MAKEFILE_LIST))).config.mk
-
--unexport CFLAGS
--unexport LDFLAGS
-+#unexport CFLAGS
-+#unexport LDFLAGS
-
- define DOWNLOAD
- @mkdir -p $(LIBHDHRDIR)/build
-@@ -75,6 +75,8 @@ $(LIBHDHRDIR)/$(LIBHDHR)/.tvh_download:
- $(call DOWNLOAD,$(LIBHDHR_URL),$(LIBHDHRDIR)/$(LIBHDHR_TB),$(LIBHDHR_SHA1))
- $(call UNTAR,$(LIBHDHR_TB),z)
- ln -sf libhdhomerun $(LIBHDHRDIR)/$(LIBHDHR)
-+ @sed -i -e "s/CC.*:=/CC ?=/" $(LIBHDHRDIR)/$(LIBHDHR)/Makefile
-+ @sed -i -e "s/STRIP.*:=/STRIP ?=/" $(LIBHDHRDIR)/$(LIBHDHR)/Makefile
- @touch $@
-
- $(LIBHDHRDIR)/$(LIBHDHR)/.tvh_build: \
---
-1.9.1
-
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
deleted file mode 100644
index 3b73549d2..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-SUMMARY = "Tvheadend TV streaming server"
-HOMEPAGE = "https://www.lonelycoder.com/redmine/projects/tvheadend"
-
-DEPENDS = "avahi zlib openssl python-native dvb-apps"
-
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=9cae5acac2e9ee2fc3aec01ac88ce5db"
-
-SRC_URI = "git://github.com/tvheadend/tvheadend.git;branch=release/4.0 \
- file://0001-Fix-checks-for-sse2-mmx.patch \
- file://0001-disable-varargs-warning-on-clang.patch \
- file://0001-hdhomerun-Override-forced-overrdiing-og-CC-STRIP-and.patch \
- file://0001-dvr-Use-labs-instead-of-abs.patch \
- file://0001-Makefile-Ignore-warning-about-wrong-includes.patch \
-"
-SRCREV = "64fec8120158de585e18be705055259484518d94"
-PV = "4.0.9+git${SRCREV}"
-
-S = "${WORKDIR}/git"
-
-PACKAGECONFIG ?= ""
-PACKAGECONFIG[uriparser] = "--enable-uriparser,--disable-uriparser,uriparser"
-
-do_configure() {
- ./configure ${PACKAGECONFIG_CONFARGS} \
- --prefix=${prefix} \
- --libdir=${libdir} \
- --bindir=${bindir} \
- --datadir=${datadir} \
- --arch=${TARGET_ARCH} \
- --disable-dvbscan \
- --disable-bundle
-}
-
-do_install() {
- oe_runmake install DESTDIR=${D}
-}
-
-FILES_${PN} += "${datadir}/${BPN}"
-
-RDEPENDS_${PN} += "libdvben50221 libucsi libdvbapi"
-
-PNBLACKLIST[tvheadend] ?= "Depends on blacklisted dvb-apps - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-addon-pvr-hts/0001-Update-to-p8-platform.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-addon-pvr-hts/0001-Update-to-p8-platform.patch
deleted file mode 100644
index c4a6ae731..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-addon-pvr-hts/0001-Update-to-p8-platform.patch
+++ /dev/null
@@ -1,427 +0,0 @@
-From 06a8224c99282ac1a606edd9e8ea3f591112942d Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Thu, 18 Feb 2016 14:04:31 +0100
-Subject: [PATCH] Update to p8-platform
-
----
- CMakeLists.txt | 6 +++---
- pvr.hts/changelog.txt | 4 ++--
- src/AutoRecordings.cpp | 2 +-
- src/HTSPConnection.cpp | 8 +++----
- src/HTSPDemuxer.cpp | 2 +-
- src/HTSPVFS.cpp | 6 +++---
- src/TimeRecordings.cpp | 2 +-
- src/Tvheadend.cpp | 4 ++--
- src/Tvheadend.h | 38 +++++++++++++++++-----------------
- src/client.cpp | 4 ++--
- src/client.h | 4 ++--
- src/tvheadend/Subscription.cpp | 2 +-
- src/tvheadend/Subscription.h | 4 ++--
- src/tvheadend/utilities/AsyncState.cpp | 4 ++--
- src/tvheadend/utilities/AsyncState.h | 6 +++---
- 15 files changed, 48 insertions(+), 48 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 0842682..cb04942 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -6,10 +6,10 @@ enable_language(CXX)
-
- find_package(kodi REQUIRED)
- find_package(kodiplatform REQUIRED)
--find_package(platform REQUIRED)
-+find_package(p8-platform REQUIRED)
-
- include_directories(${kodiplatform_INCLUDE_DIRS}
-- ${platform_INCLUDE_DIRS}
-+ ${p8-platform_INCLUDE_DIRS}
- ${KODI_INCLUDE_DIR}
- ${PROJECT_SOURCE_DIR}/lib)
-
-@@ -95,7 +95,7 @@ list(APPEND HTS_SOURCES
-
- add_subdirectory(lib/libhts)
-
--set(DEPLIBS ${platform_LIBRARIES} hts)
-+set(DEPLIBS ${p8-platform_LIBRARIES} hts)
- if(WIN32)
- list(APPEND DEPLIBS ws2_32)
- endif()
-diff --git a/pvr.hts/changelog.txt b/pvr.hts/changelog.txt
-index 9ffa33c..1e7fe30 100644
---- a/pvr.hts/changelog.txt
-+++ b/pvr.hts/changelog.txt
-@@ -49,7 +49,7 @@
- - fixed: Autorec: Start and stop time handling.
- - fixed: LocaltimeToUTC conversion (timer settings clock display incorrect).
- - fixed: Several issues with predictive tuning.
--- added: build: Automatically fill in platform and library name.
-+- added: build: Automatically fill in p8-platform and library name.
- - fixed: Use epg data only for creation of epg-based timers.
- - improved: Do not try to reconnect to tvh while suspending or not fully awake again.
-
-@@ -97,7 +97,7 @@
- - added: support for creating repeating timers, aka time schedules
- - fixed: conditions for addon restart after settings changes
- - internal: fixed build system regressions introduced with move to cmake
--- internal: updated to use libplatform
-+- internal: updated to use libp8-platform
-
- 2.1.7
- - added: support for radio channel groups
-diff --git a/src/AutoRecordings.cpp b/src/AutoRecordings.cpp
-index 5fa60a0..d9e5e1d 100644
---- a/src/AutoRecordings.cpp
-+++ b/src/AutoRecordings.cpp
-@@ -26,7 +26,7 @@
- #include "tvheadend/utilities/Utilities.h"
- #include "tvheadend/utilities/Logger.h"
-
--using namespace PLATFORM;
-+using namespace P8PLATFORM;
- using namespace tvheadend;
- using namespace tvheadend::entity;
- using namespace tvheadend::utilities;
-diff --git a/src/HTSPConnection.cpp b/src/HTSPConnection.cpp
-index aec1296..86f5004 100644
---- a/src/HTSPConnection.cpp
-+++ b/src/HTSPConnection.cpp
-@@ -19,9 +19,9 @@
- *
- */
-
--#include "platform/threads/mutex.h"
--#include "platform/util/StringUtils.h"
--#include "platform/sockets/tcp.h"
-+#include "p8-platform/threads/mutex.h"
-+#include "p8-platform/util/StringUtils.h"
-+#include "p8-platform/sockets/tcp.h"
-
- extern "C" {
- #include "libhts/htsmsg_binary.h"
-@@ -33,7 +33,7 @@ extern "C" {
-
- using namespace std;
- using namespace ADDON;
--using namespace PLATFORM;
-+using namespace P8PLATFORM;
- using namespace tvheadend;
- using namespace tvheadend::utilities;
-
-diff --git a/src/HTSPDemuxer.cpp b/src/HTSPDemuxer.cpp
-index a6e1f12..7f45345 100644
---- a/src/HTSPDemuxer.cpp
-+++ b/src/HTSPDemuxer.cpp
-@@ -27,7 +27,7 @@
-
- using namespace std;
- using namespace ADDON;
--using namespace PLATFORM;
-+using namespace P8PLATFORM;
- using namespace tvheadend;
- using namespace tvheadend::utilities;
-
-diff --git a/src/HTSPVFS.cpp b/src/HTSPVFS.cpp
-index 0463f56..0404bab 100644
---- a/src/HTSPVFS.cpp
-+++ b/src/HTSPVFS.cpp
-@@ -19,8 +19,8 @@
- *
- */
-
--#include "platform/threads/mutex.h"
--#include "platform/util/StringUtils.h"
-+#include "p8-platform/threads/mutex.h"
-+#include "p8-platform/util/StringUtils.h"
- #include "tvheadend/utilities/Logger.h"
-
- extern "C" {
-@@ -30,7 +30,7 @@ extern "C" {
- #include "Tvheadend.h"
-
- using namespace std;
--using namespace PLATFORM;
-+using namespace P8PLATFORM;
- using namespace tvheadend::utilities;
-
- /*
-diff --git a/src/TimeRecordings.cpp b/src/TimeRecordings.cpp
-index 5d34938..97aae09 100644
---- a/src/TimeRecordings.cpp
-+++ b/src/TimeRecordings.cpp
-@@ -25,7 +25,7 @@
- #include "tvheadend/utilities/Utilities.h"
- #include "tvheadend/utilities/Logger.h"
-
--using namespace PLATFORM;
-+using namespace P8PLATFORM;
- using namespace tvheadend;
- using namespace tvheadend::entity;
- using namespace tvheadend::utilities;
-diff --git a/src/Tvheadend.cpp b/src/Tvheadend.cpp
-index 2057241..14c3bd4 100644
---- a/src/Tvheadend.cpp
-+++ b/src/Tvheadend.cpp
-@@ -23,7 +23,7 @@
- #include <ctime>
- #include <memory>
-
--#include "platform/util/StringUtils.h"
-+#include "p8-platform/util/StringUtils.h"
-
- #include "Tvheadend.h"
- #include "tvheadend/utilities/Utilities.h"
-@@ -31,7 +31,7 @@
-
- using namespace std;
- using namespace ADDON;
--using namespace PLATFORM;
-+using namespace P8PLATFORM;
- using namespace tvheadend;
- using namespace tvheadend::entity;
- using namespace tvheadend::utilities;
-diff --git a/src/Tvheadend.h b/src/Tvheadend.h
-index 2ce4552..e794716 100644
---- a/src/Tvheadend.h
-+++ b/src/Tvheadend.h
-@@ -22,10 +22,10 @@
- */
-
- #include "client.h"
--#include "platform/sockets/tcp.h"
--#include "platform/threads/threads.h"
--#include "platform/threads/mutex.h"
--#include "platform/util/buffer.h"
-+#include "p8-platform/sockets/tcp.h"
-+#include "p8-platform/threads/threads.h"
-+#include "p8-platform/threads/mutex.h"
-+#include "p8-platform/util/buffer.h"
- #include "kodi/xbmc_codec_types.h"
- #include "kodi/xbmc_stream_utils.hpp"
- #include "kodi/libXBMC_addon.h"
-@@ -88,7 +88,7 @@ class CHTSPMessage;
-
- /* Typedefs */
- typedef std::map<uint32_t,CHTSPResponse*> CHTSPResponseList;
--typedef PLATFORM::SyncedBuffer<CHTSPMessage> CHTSPMessageQueue;
-+typedef P8PLATFORM::SyncedBuffer<CHTSPMessage> CHTSPMessageQueue;
-
- /*
- * HTSP Response handler
-@@ -98,10 +98,10 @@ class CHTSPResponse
- public:
- CHTSPResponse();
- ~CHTSPResponse();
-- htsmsg_t *Get ( PLATFORM::CMutex &mutex, uint32_t timeout );
-+ htsmsg_t *Get ( P8PLATFORM::CMutex &mutex, uint32_t timeout );
- void Set ( htsmsg_t *m );
- private:
-- PLATFORM::CCondition<volatile bool> m_cond;
-+ P8PLATFORM::CCondition<volatile bool> m_cond;
- bool m_flag;
- htsmsg_t *m_msg;
- };
-@@ -146,7 +146,7 @@ public:
- * HTSP Connection registration thread
- */
- class CHTSPRegister
-- : public PLATFORM::CThread
-+ : public P8PLATFORM::CThread
- {
- friend class CHTSPConnection;
-
-@@ -163,7 +163,7 @@ private:
- * HTSP Connection
- */
- class CHTSPConnection
-- : public PLATFORM::CThread
-+ : public P8PLATFORM::CThread
- {
- friend class CHTSPRegister;
-
-@@ -190,7 +190,7 @@ public:
- inline bool IsConnected ( void ) const { return m_ready; }
- bool WaitForConnection ( void );
-
-- inline PLATFORM::CMutex& Mutex ( void ) { return m_mutex; }
-+ inline P8PLATFORM::CMutex& Mutex ( void ) { return m_mutex; }
-
- void OnSleep ( void );
- void OnWake ( void );
-@@ -202,10 +202,10 @@ private:
- bool SendHello ( void );
- bool SendAuth ( const std::string &u, const std::string &p );
-
-- PLATFORM::CTcpSocket *m_socket;
-- PLATFORM::CMutex m_mutex;
-+ P8PLATFORM::CTcpSocket *m_socket;
-+ P8PLATFORM::CMutex m_mutex;
- CHTSPRegister m_regThread;
-- PLATFORM::CCondition<volatile bool> m_regCond;
-+ P8PLATFORM::CCondition<volatile bool> m_regCond;
- bool m_ready;
- uint32_t m_seq;
- std::string m_serverName;
-@@ -273,13 +273,13 @@ public:
- void SetStreamingProfile(const std::string &profile);
-
- private:
-- PLATFORM::CMutex m_mutex;
-+ P8PLATFORM::CMutex m_mutex;
- CHTSPConnection &m_conn;
-- PLATFORM::SyncedBuffer<DemuxPacket*> m_pktBuffer;
-+ P8PLATFORM::SyncedBuffer<DemuxPacket*> m_pktBuffer;
- ADDON::XbmcStreamProperties m_streams;
- std::map<int,int> m_streamStat;
- int64_t m_seekTime;
-- PLATFORM::CCondition<volatile int64_t> m_seekCond;
-+ P8PLATFORM::CCondition<volatile int64_t> m_seekCond;
- bool m_seeking;
- bool m_speedChange;
- tvheadend::status::SourceInfo m_sourceInfo;
-@@ -350,7 +350,7 @@ private:
- * Root object for Tvheadend connection
- */
- class CTvheadend
-- : public PLATFORM::CThread
-+ : public P8PLATFORM::CThread
- {
- public:
- CTvheadend();
-@@ -422,7 +422,7 @@ private:
- */
- tvheadend::Profiles m_profiles;
-
-- PLATFORM::CMutex m_mutex;
-+ P8PLATFORM::CMutex m_mutex;
-
- CHTSPConnection m_conn;
-
-@@ -519,7 +519,7 @@ public:
- */
- bool WaitForConnection ( void )
- {
-- PLATFORM::CLockObject lock(m_conn.Mutex());
-+ P8PLATFORM::CLockObject lock(m_conn.Mutex());
- return m_conn.WaitForConnection();
- }
- std::string GetServerName ( void )
-diff --git a/src/client.cpp b/src/client.cpp
-index 94d2db9..3295914 100644
---- a/src/client.cpp
-+++ b/src/client.cpp
-@@ -22,14 +22,14 @@
- #include "client.h"
- #include "kodi/xbmc_pvr_dll.h"
- #include "kodi/libKODI_guilib.h"
--#include "platform/util/util.h"
-+#include "p8-platform/util/util.h"
- #include "Tvheadend.h"
- #include "tvheadend/Settings.h"
- #include "tvheadend/utilities/Logger.h"
-
- using namespace std;
- using namespace ADDON;
--using namespace PLATFORM;
-+using namespace P8PLATFORM;
- using namespace tvheadend;
- using namespace tvheadend::utilities;
-
-diff --git a/src/client.h b/src/client.h
-index 3a5f950..a10659b 100644
---- a/src/client.h
-+++ b/src/client.h
-@@ -20,8 +20,8 @@
- *
- */
-
--#include "platform/os.h"
--#include "platform/threads/mutex.h"
-+#include "p8-platform/os.h"
-+#include "p8-platform/threads/mutex.h"
- #include "kodi/libXBMC_addon.h"
- #include "kodi/libXBMC_pvr.h"
- #include "kodi/libXBMC_codec.h"
-diff --git a/src/tvheadend/Subscription.cpp b/src/tvheadend/Subscription.cpp
-index 182ca7f..e18af1e 100644
---- a/src/tvheadend/Subscription.cpp
-+++ b/src/tvheadend/Subscription.cpp
-@@ -23,7 +23,7 @@
- #include "utilities/Logger.h"
- #include "../Tvheadend.h"
-
--using namespace PLATFORM;
-+using namespace P8PLATFORM;
- using namespace tvheadend;
- using namespace tvheadend::utilities;
-
-diff --git a/src/tvheadend/Subscription.h b/src/tvheadend/Subscription.h
-index b03bcce..363e5ef 100644
---- a/src/tvheadend/Subscription.h
-+++ b/src/tvheadend/Subscription.h
-@@ -22,7 +22,7 @@
- */
-
- #include <string>
--#include "platform/threads/mutex.h"
-+#include "p8-platform/threads/mutex.h"
-
- extern "C"
- {
-@@ -146,6 +146,6 @@ namespace tvheadend
- std::string m_profile;
- CHTSPConnection &m_conn;
-
-- mutable PLATFORM::CMutex m_mutex;
-+ mutable P8PLATFORM::CMutex m_mutex;
- };
- }
-diff --git a/src/tvheadend/utilities/AsyncState.cpp b/src/tvheadend/utilities/AsyncState.cpp
-index 0c30a93..1f4fdf3 100644
---- a/src/tvheadend/utilities/AsyncState.cpp
-+++ b/src/tvheadend/utilities/AsyncState.cpp
-@@ -22,7 +22,7 @@
- #include "AsyncState.h"
-
- using namespace tvheadend::utilities;
--using namespace PLATFORM;
-+using namespace P8PLATFORM;
-
- struct Param {
- eAsyncState state;
-@@ -37,7 +37,7 @@ AsyncState::AsyncState(int timeout)
-
- eAsyncState AsyncState::GetState()
- {
-- PLATFORM::CLockObject lock(m_mutex);
-+ P8PLATFORM::CLockObject lock(m_mutex);
- return m_state;
- }
-
-diff --git a/src/tvheadend/utilities/AsyncState.h b/src/tvheadend/utilities/AsyncState.h
-index 1d672da..0819cd8 100644
---- a/src/tvheadend/utilities/AsyncState.h
-+++ b/src/tvheadend/utilities/AsyncState.h
-@@ -22,7 +22,7 @@
- #ifndef ASYNCSTATE_H
- #define ASYNCSTATE_H
-
--#include "platform/threads/mutex.h"
-+#include "p8-platform/threads/mutex.h"
-
- namespace tvheadend {
- namespace utilities {
-@@ -75,8 +75,8 @@ namespace tvheadend {
- static bool PredicateCallback ( void *param );
-
- eAsyncState m_state;
-- PLATFORM::CMutex m_mutex;
-- PLATFORM::CCondition<bool> m_condition;
-+ P8PLATFORM::CMutex m_mutex;
-+ P8PLATFORM::CCondition<bool> m_condition;
- int m_timeout;
-
- };
---
-2.0.1
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-addon-pvr-hts_git.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-addon-pvr-hts_git.bb
deleted file mode 100644
index 7cafebfa2..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-addon-pvr-hts_git.bb
+++ /dev/null
@@ -1,57 +0,0 @@
-SUMMARY = "Kodi Media Center PVR plugins"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://src/client.cpp;md5=c8f6b73c5bc1048a3d6506700a7a91d2"
-
-DEPENDS = " \
- zip-native \
- p8platform \
- kodi-platform \
- "
-
-SRCREV_pvrhts = "7f75b70527922aef953123ff97ebaa22d9fb7cb4"
-
-SRCREV_FORMAT = "pvrhts"
-
-PV = "2.2.13+gitr${SRCPV}"
-SRC_URI = "git://github.com/kodi-pvr/pvr.hts.git;branch=Jarvis;destsuffix=pvr.hts;name=pvrhts \
- file://0001-Update-to-p8-platform.patch \
- "
-
-inherit cmake pkgconfig gettext
-
-S = "${WORKDIR}/pvr.hts"
-
-EXTRA_OECMAKE = " \
- -DADDONS_TO_BUILD=pvr.hts \
- -DADDON_SRC_PREFIX=${WORKDIR}/git \
- -DCMAKE_BUILD_TYPE=Debug \
- -DCMAKE_INSTALL_PREFIX=${datadir}/kodi/addons \
- -DCMAKE_MODULE_PATH=${STAGING_DIR_HOST}${libdir}/kodi \
- -DCMAKE_PREFIX_PATH=${STAGING_DIR_HOST}${prefix} \
- -DPACKAGE_ZIP=1 \
- "
-
-do_compile_prepend() {
- sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' \
- -e 's:-pipe:${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} -pipe:g' \
- ${B}/CMakeFiles/*/flags.make
- sed -i -e 's:-pipe:${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} -pipe:g'\
- ${B}/CMakeFiles/*/link.txt
-}
-
-# Make zip package for manual installation
-do_install_append() {
- install -d ${D}${datadir}/kodi/addons/packages/
- ( cd ${D}${datadir}/kodi/addons
- zip -r ${D}${datadir}/kodi/addons/packages/pvr.hts-${PV}.zip pvr.hts -x '*.debug*' )
-}
-
-# Doesn't get added automagically, dlopen()?
-RDEPENDS_${PN} = "libkodiplatform"
-
-INSANE_SKIP_${PN} = "dev-so"
-FILES_${PN} += "${datadir}/kodi"
-FILES_${PN}-dbg += "${datadir}/kodi/addons/*/.debug/"
-
-PNBLACKLIST[kodi-addon-pvr-hts] ?= "Depends on blacklisted kodi - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-platform/0001-fix-cross-compile-badness.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-platform/0001-fix-cross-compile-badness.patch
deleted file mode 100644
index 27e9d217c..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-platform/0001-fix-cross-compile-badness.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 3136317f096ea7fda4fb907e775a01952c4aae3d Mon Sep 17 00:00:00 2001
-From: Stefan Saraev <stefan@saraev.ca>
-Date: Fri, 19 Feb 2016 10:33:00 +0100
-Subject: [PATCH] fix cross compile badness
-
-From https://github.com/OpenELEC/OpenELEC.tv/blob/master/packages/mediacenter/kodi-platform/patches/kodi-platform-01_crosscompile-badness.patch
----
- CMakeLists.txt | 2 +-
- kodiplatform-config.cmake.in | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index bf6b659..9abe773 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -22,7 +22,7 @@ if(NOT WIN32)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
- endif()
-
--set(kodiplatform_INCLUDE_DIRS ${TINYXML_INCLUDE_DIR} "${CMAKE_INSTALL_PREFIX}/include/kodi")
-+set(kodiplatform_INCLUDE_DIRS ${TINYXML_INCLUDE_DIR} "${CMAKE_INSTALL_PREFIX_TOOLCHAIN}/include/kodi")
- IF(WIN32)
- LIST(APPEND kodiplatform_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/include/kodi/windows")
- ENDIF(WIN32)
-diff --git a/kodiplatform-config.cmake.in b/kodiplatform-config.cmake.in
-index 3fc5273..60bdf1b 100644
---- a/kodiplatform-config.cmake.in
-+++ b/kodiplatform-config.cmake.in
-@@ -10,7 +10,7 @@
- #
- # propagate these properties from one build system to the other
- set (kodiplatform_VERSION "@kodiplatform_VERSION_MAJOR@.@kodiplatform_VERSION_MINOR@")
--set (kodiplatform_INCLUDE_DIRS @kodiplatform_INCLUDE_DIRS@ @CMAKE_INSTALL_PREFIX@/include)
-+set (kodiplatform_INCLUDE_DIRS @kodiplatform_INCLUDE_DIRS@ @CMAKE_INSTALL_PREFIX_TOOLCHAIN@/include)
- set (kodiplatform_LIBRARY_DIRS "@CMAKE_LIBRARY_OUTPUT_DIRECTORY@")
- set (kodiplatform_LINKER_FLAGS "@kodiplatform_LINKER_FLAGS@")
- set (kodiplatform_CONFIG_VARS "@kodiplatform_CONFIG_VARS@")
---
-2.0.1
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-platform/kodi-platform-02_no-multi-lib.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-platform/kodi-platform-02_no-multi-lib.patch
deleted file mode 100644
index a13c53be1..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-platform/kodi-platform-02_no-multi-lib.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 9abe773..ae433fc 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -9,7 +9,6 @@ find_package(kodi REQUIRED)
- find_package(TinyXML REQUIRED)
- find_package(Threads REQUIRED)
- find_package(p8-platform REQUIRED)
--include(UseMultiArch.cmake)
- include(CheckAtomic.cmake)
-
- set(kodiplatform_NAME kodiplatform)
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-platform_git.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-platform_git.bb
deleted file mode 100644
index 0b554ef6a..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-platform_git.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "Platform support library used by libCEC and binary add-ons for Kodi"
-HOMEPAGE = "http://libcec.pulse-eight.com/"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://src/util/XMLUtils.cpp;beginline=2;endline=18;md5=dae8e846500e70dd8ecee55f3f018c30"
-
-DEPENDS = "libtinyxml kodi"
-
-PV = "16.0.0"
-
-SRCREV = "c8188d82678fec6b784597db69a68e74ff4986b5"
-SRC_URI = "git://github.com/xbmc/kodi-platform.git \
- file://0001-fix-cross-compile-badness.patch \
- file://kodi-platform-02_no-multi-lib.patch \
- "
-
-S = "${WORKDIR}/git"
-
-inherit cmake pkgconfig
-
-EXTRA_OECMAKE = " -DCMAKE_INSTALL_PREFIX_TOOLCHAIN=${STAGING_DIR_TARGET} \
- -DCMAKE_INSTALL_LIBDIR=${libdir} \
- -DCMAKE_INSTALL_LIBDIR_NOARCH=${libdir} \
- -DKODI_INCLUDE_DIR=${STAGING_LIBDIR}/kodi \
- -DKODI_INCLUDE_DIR=${STAGING_INCDIR}/kodi \
- "
-
-do_compile_prepend() {
- sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' \
- -e 's:-pipe:${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} -pipe:g' \
- ${B}/CMakeFiles/kodiplatform.dir/flags.make
- sed -i -e 's:-pipe:${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} -pipe:g'\
- ${B}/CMakeFiles/kodiplatform.dir/link.txt
-}
-
-RPROVIDES_${PN} += "libkodiplatform"
-FILES_${PN}-dev += "${libdir}/*platform"
-
-PNBLACKLIST[kodi-platform] ?= "Depends on blacklisted kodi - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-startup.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-startup.bb
deleted file mode 100644
index 47e8f38e9..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-startup.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Systemd service for kodi startup"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
-
-PV = "1.0"
-
-SRC_URI = "file://kodi.service"
-
-inherit systemd
-
-do_install() {
- install -d ${D}/lib/systemd/system
- install -m 0644 ${WORKDIR}/kodi.service ${D}/lib/systemd/system/
-}
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "kodi.service"
-
-RDEPENDS_${PN} += "xinit kodi"
-
-PNBLACKLIST[kodi-startup] ?= "Runtime depends on blacklisted kodi - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[kodi-startup] ?= "Runtime depends on blacklisted kodi-startup-dev - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
index 43c32fbc5..5158f05b6 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
@@ -18,6 +18,7 @@ DEPENDS = " \
avahi \
boost \
bzip2 \
+ crossguid \
curl \
dcadec \
enca \
@@ -62,11 +63,11 @@ DEPENDS = " \
PROVIDES = "xbmc"
-SRCREV = "661dd08d221f5b2bf509a696a6aca5ee7d45bb27"
-BASEPV = "17.1"
-PV = "${BASEPV}+gitr${SRCPV}"
+SRCREV = "6abeebd5ba371547c8f04272296433f5e4e28e86"
+PV = "17.3+gitr${SRCPV}"
+ADDONSPV = "17.1"
SRC_URI = "git://github.com/xbmc/xbmc.git;branch=Krypton \
- https://repo.voidlinux.eu/distfiles/${BPN}-${BASEPV}-generated-addons.tar.xz;name=addons;unpack=0 \
+ https://repo.voidlinux.eu/distfiles/${BPN}-${ADDONSPV}-generated-addons.tar.xz;name=addons;unpack=0 \
file://0003-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch \
file://0004-handle-SIGTERM.patch \
file://0005-add-support-to-read-frequency-output-if-using-intel-.patch \
@@ -131,6 +132,11 @@ FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -fomit-frame-pointer -O3 -
FULL_OPTIMIZATION_armv7ve = "-fexpensive-optimizations -fomit-frame-pointer -O3 -ffast-math"
BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}"
+LDFLAGS_append_mips = " -latomic"
+LDFLAGS_append_mipsel = " -latomic"
+LDFLAGS_append_powerpc = " -latomic"
+LDFLAGS_append_arm = " -latomic"
+
EXTRA_OECONF_append = " LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool"
# for python modules
@@ -146,15 +152,14 @@ def enable_glew(bb, d):
return ""
do_configure() {
- tar xf ${WORKDIR}/${BPN}-${BASEPV}-generated-addons.tar.xz -C ${S}/
+ tar xf ${WORKDIR}/${BPN}-${ADDONSPV}-generated-addons.tar.xz -C ${S}/
- ( for i in $(find ${S} -name "configure.*" ) ; do
+ ( for i in $(find ${S} -name configure.ac -or -name configure.in|grep -v ".pc") ; do
cd $(dirname $i) && gnu-configize --force || true
done )
( for f in ${S}/xbmc/interfaces/python/generated/*.cpp; do
touch `echo $f|sed -e 's/.cpp$/.xml/g'`
done )
- make -C tools/depends/target/crossguid PREFIX=${STAGING_DIR_HOST}${prefix}
BOOTSTRAP_STANDALONE=1 make -f bootstrap.mk JSON_BUILDER="${STAGING_BINDIR_NATIVE}/JsonSchemaBuilder"
BOOTSTRAP_STANDALONE=1 make JAVA=/bin/true -f codegenerator.mk JSON_BUILDER="${STAGING_BINDIR_NATIVE}/JsonSchemaBuilder"
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 bbbe56388..16e17e9ab 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
@@ -1,6 +1,6 @@
SUMMARY = "libebml is a C++ libary to parse EBML files"
LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=f14599a2f089f6ff8c97e2baa4e3d575"
+LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=7fbc338309ac38fefcd64b04bb903e34"
SRC_URI = "\
http://dl.matroska.org/downloads/libebml/libebml-${PV}.tar.bz2 \
@@ -10,15 +10,7 @@ SRC_URI = "\
SRC_URI[md5sum] = "efec729bf5a51e649e1d9d1f61c0ae7a"
SRC_URI[sha256sum] = "83b074d6b62715aa0080406ea84d33df2e44b5d874096640233a4db49b8096de"
-do_unpack[postfuncs] += "dos2unix"
-
-dos2unix () {
- cr="$(printf '\r')"
- for f in ${S}/make/*/Makefile; do
- tr -d "$cr" <"$f" >"$f.new" && \
- mv "$f.new" "$f"
- done
-}
+inherit dos2unix
LIBEBML_OS = "Unknown"
LIBEBML_OS_linux = "Linux"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mkv/mkvtoolnix/mkvtoolnix_git.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-mkv/mkvtoolnix/mkvtoolnix_git.bb
deleted file mode 100644
index 8a142645c..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-mkv/mkvtoolnix/mkvtoolnix_git.bb
+++ /dev/null
@@ -1,57 +0,0 @@
-SUMMARY = "MKVToolNix -- Cross-platform tools for Matroska"
-HOMEPAGE = "http://www.bunkus.org/videotools/mkvtoolnix/source.html"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = "curl boost expat zlib libebml libmatroska libogg libvorbis bzip2 lzo file ruby-native"
-
-PV = "8.4.0+git${SRCPV}"
-SRCREV_mkvtoolnix = "7f63ea48ee474754a95838f37aba8f6118c94a65"
-SRCREV_libebml = "04b34b0dbded40e0cec93cafa6a4f4c8e90c3206"
-SRCREV_libmatroska = "db5d627b5bf48516c9e0b540254c0d36595760c3"
-SRCREV_FORMAT = "mkvtoolnix"
-SRC_URI = " \
- git://github.com/mbunkus/mkvtoolnix.git;name=mkvtoolnix \
- git://github.com/Matroska-Org/libebml.git;name=libebml;destsuffix=git/lib/libebml \
- git://github.com/Matroska-Org/libmatroska.git;name=libmatroska;destsuffix=git/lib/libmatroska \
- "
-
-S = "${WORKDIR}/git"
-
-inherit autotools-brokensep gettext
-
-# make sure rb files are used from sysroot, not from host
-# ruby-1.9.3-always-use-i386.patch is doing target_cpu=`echo $target_cpu | sed s/i.86/i386/`
-# we need to replace it too (a bit longer version without importing re)
-RUBY_SYS = "${@ '${BUILD_SYS}'.replace('i486', 'i386').replace('i586', 'i386').replace('i686', 'i386') }"
-export RUBYLIB="${STAGING_DATADIR_NATIVE}/rubygems:${STAGING_LIBDIR_NATIVE}/ruby:${STAGING_LIBDIR_NATIVE}/ruby/${RUBY_SYS}"
-
-PACKAGECONFIG ??= "flac ${@bb.utils.contains('BBFILE_COLLECTIONS', 'qt5-layer', 'qt5', '', d)}"
-PACKAGECONFIG[flac] = "--with-flac,--without-flac,flac"
-PACKAGECONFIG[qt5] = "--enable-qt --with-moc=${STAGING_BINDIR_NATIVE}/qt5/moc --with-uic=${STAGING_BINDIR_NATIVE}/qt5/uic --with-rcc=${STAGING_BINDIR_NATIVE}/qt5/rcc,--disable-qt,qtbase"
-
-EXTRA_OECONF = " --with-boost-libdir=${STAGING_LIBDIR} \
-"
-
-FILES_${PN} += "${datadir}"
-
-# remove some hardcoded searchpaths
-do_configure_prepend() {
- sed -i -e s:/usr/local/lib:${STAGING_LIBDIR}:g -e s:/usr/local/include:${STAGING_INCDIR}:g ${S}/ac/qt5.m4
-}
-
-# Yeah, no makefile
-do_compile() {
- LC_ALL="en_US.UTF-8" ${S}/drake ${PARALLEL_MAKE}
-}
-
-do_install() {
- LC_ALL="en_US.UTF-8" ${S}/drake install DESTDIR=${D}
-}
-
-# | In file included from src/common/utf8_codecvt_facet.cpp:22:0:
-# | src/common/../../lib/boost/utf8_codecvt_facet/utf8_codecvt_facet.cpp:174:5: error: 'int mtx::utf8_codecvt_facet::do_length' is not a static data member of 'struct mtx::utf8_codecvt_facet'
-# | BOOST_CODECVT_DO_LENGTH_CONST std::mbstate_t &,
-# | ^
-PNBLACKLIST[mkvtoolnix] ?= "BROKEN: Failx to build with gcc-5 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps_0.9.24.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps_0.9.24.bb
index d7887635e..29167d1aa 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps_0.9.24.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps_0.9.24.bb
@@ -17,6 +17,7 @@ S = "${WORKDIR}/${PN}-${PV}"
EXTRA_OEMAKE = " \
CC='${CXX}' \
CFLAGS='${CFLAGS} -ffast-math -funroll-loops -fPIC -DPIC' \
+ ARCH='' \
"
do_compile() {
oe_runmake all
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/coriander/coriander/cross-compile.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/coriander/coriander/cross-compile.patch
deleted file mode 100644
index 49350fe18..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/coriander/coriander/cross-compile.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-In a cross compile environment adding paths like /usr are not correct.
-With this patch we make it so that its relative to sysroot if the compiler
-defines one.
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Index: a/src/Makefile.am
-===================================================================
---- a/src/Makefile.am 2013-02-08 22:35:08.000000000 -0800
-+++ b/src/Makefile.am 2013-10-13 01:31:38.812869080 -0700
-@@ -33,5 +33,5 @@
- video_encode.c video_encode.h \
- subtitles.c subtitles.h
-
--coriander_LDADD = -L/usr/X11R6/lib/ @PACKAGE_LIBS@ $(INTLLIBS) $(LIBTIFF_LIBS) $(FTPLIB_LIBS) $(SDLLIB_LIBS) $(LIBDC_LIBS) $(LIBRAW_LIBS) $(XV_LIBS) $(COR_LFS_LDFLAGS) -lgthread-2.0 $(FFMPEG_LIBS) $(X11_LIBS)
-+coriander_LDADD = -L=/usr/X11R6/lib/ @PACKAGE_LIBS@ $(INTLLIBS) $(LIBTIFF_LIBS) $(FTPLIB_LIBS) $(SDLLIB_LIBS) $(LIBDC_LIBS) $(LIBRAW_LIBS) $(XV_LIBS) $(COR_LFS_LDFLAGS) -lgthread-2.0 $(FFMPEG_LIBS) $(X11_LIBS)
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/coriander/coriander_2.0.2.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/coriander/coriander_2.0.2.bb
deleted file mode 100755
index 1ddd9aab6..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/coriander/coriander_2.0.2.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Control and capture GUI for IIDC compliant cameras"
-HOMEPAGE = "http://damien.douxchamps.net/ieee1394/coriander/"
-SECTION = "applications"
-LICENSE = "GPL-3.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-DEPENDS = "gtk+ libgnomeui libraw1394 libdc1394 libxv tiff"
-
-PNBLACKLIST[coriander] ?= "BROKEN: fails to use SDL probably because libsdl-config was removed, error: unknown type name 'SDL_Overlay' - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/coriander-2/${PV}/${BP}.tar.gz \
- file://cross-compile.patch \
- "
-
-SRC_URI[md5sum] = "431d98fb013217681f97ade168201fb8"
-SRC_URI[sha256sum] = "5c7fd31cb58d398e2742352bf1ffbd2ca22e06686c6668ecfd437735c2b79123"
-
-inherit autotools gettext
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-server_0.6.0.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-server_0.6.0.bb
index ae167650f..a8e5406d0 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-server_0.6.0.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-server_0.6.0.bb
@@ -6,13 +6,13 @@ HOMEPAGE = "https://01.org/dleyna/"
LICENSE = "LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
- file://libdleyna/server/server.c;endline=22;md5=dfa6dc3f914206c2408c0510c234f8c8"
+ file://libdleyna/server/server.c;endline=22;md5=437455d8aeff69ebd0996a76c67397bb"
DEPENDS = "glib-2.0 gssdp gupnp gupnp-av gupnp-dlna libsoup-2.4 libxml2 dleyna-core"
RDEPENDS_${PN} = "dleyna-connector-dbus"
SRC_URI = "git://github.com/01org/${BPN}.git"
-SRCREV = "38651783914c76bd861f7fe8651b25e3986d7be8"
+SRCREV = "776950d5d96ac9dbf5c5c47bde8ac06f50a3cf46"
S = "${WORKDIR}/git"
inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/media-service-upnp_0.5.0.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/media-service-upnp_0.5.0.bb
deleted file mode 100644
index baaf42b28..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/media-service-upnp_0.5.0.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "discover, browse and search UPNP/DLNA media servers"
-HOMEPAGE = "https://01.org/dleyna/"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
- file://src/media-service-upnp.c;beginline=1;endline=21;md5=584eb103b4f6f3432c43d169b6a123a1"
-
-DEPENDS = "dbus glib-2.0 gssdp gupnp gupnp-av gupnp-dlna libsoup-2.4"
-
-SRC_URI = "git://github.com/01org/${BPN}.git"
-SRCREV = "0dbc74a79aa07a8f8c7d32e1d2de6c4d3a0f95bc"
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-do_install_append() {
- install -d ${D}${bindir}
- install -m 0755 dms-info ${D}${bindir}
-}
-
-PACKAGES =+ "${PN}-tests"
-
-FILES_${PN} += "${datadir}/dbus-1/services/*.service"
-FILES_${PN}-tests = "${bindir}/dms-info"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/renderer-service-upnp_0.3.0.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/renderer-service-upnp_0.3.0.bb
deleted file mode 100644
index 4d06d2c68..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/renderer-service-upnp_0.3.0.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "discover and manipulate UPNP/DLNA media renderers"
-HOMEPAGE = "https://01.org/dleyna/"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
- file://src/renderer-service-upnp.c;beginline=1;endline=21;md5=c25c3082684eb4ca87474b7528c6dc15"
-
-PNBLACKLIST[renderer-service-upnp] ?= "BROKEN: doesn't build with B!=S (trying to install rendererconsole.py from ${B} instead of ${S}) - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-DEPENDS = "dbus glib-2.0 gssdp gupnp gupnp-av gupnp-dlna libsoup-2.4"
-
-SRC_URI = "git://github.com/01org/${BPN}.git"
-SRCREV = "4a0b1d7cd8e22d3cb0e09c77c344ceccbcbbd34f"
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-do_install_append() {
- install -d ${D}${bindir}
- install -m 0755 test/rendererconsole.py ${D}${bindir}
-}
-
-PACKAGES =+ "${PN}-tests"
-
-RDEPENDS_${PN}-tests = "python-dbus python-json python-misc python-pkgutil python-xml"
-
-FILES_${PN} += "${datadir}/dbus-1/services/*.service"
-# When we have GI, package cap
-FILES_${PN}-tests = "${bindir}/rendererconsole.py"
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
deleted file mode 100644
index 5c9477f18..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "Freeware Advanced Audio Coder (MPEG2-AAC, MPEG4-AAC)"
-SECTION = "libs"
-LICENSE = "LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
- file://libfaac/coder.h;beginline=5;endline=17;md5=fa1fd6a5fa8cdc877d63a12530d273e0"
-
-inherit autotools-brokensep
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/faac/${BP}.tar.gz \
- file://build-fix.patch \
- file://address-gcc-6-narrowing-errors.patch \
- file://0001-frontend-Fix-format-string-security-error.patch \
- file://0002-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch \
- "
-
-SRC_URI[md5sum] = "80763728d392c7d789cde25614c878f6"
-SRC_URI[sha256sum] = "c5141199f4cfb17d749c36ba8cfe4b25f838da67c22f0fec40228b6b9c3d19df"
-
-EXTRA_OECONF += "--without-mp4v2"
-
-PACKAGES =+ "lib${BPN} lib${BPN}-dev"
-
-FILES_${PN} = " ${bindir}/faac "
-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/faac_1.29.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.29.bb
new file mode 100644
index 000000000..4765c6c9c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.29.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Freeware Advanced Audio Coder (MPEG2-AAC, MPEG4-AAC)"
+SECTION = "libs"
+LICENSE = "LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
+ file://libfaac/coder.h;beginline=5;endline=17;md5=fa1fd6a5fa8cdc877d63a12530d273e0"
+
+inherit autotools
+
+SRC_URI = " \
+ ${SOURCEFORGE_MIRROR}/faac/${BP}.tar.gz \
+ file://0001-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch \
+"
+
+SRC_URI[md5sum] = "78603720f655180059d6970c582a3005"
+SRC_URI[sha256sum] = "8cc7b03ceb2722223a6457e95d4c994731d80214a03ba33d1af76ba53f4b3197"
+
+EXTRA_OECONF += "--without-mp4v2"
+
+PACKAGES =+ "lib${BPN} lib${BPN}-dev"
+
+FILES_${PN} = " ${bindir}/faac "
+FILES_lib${PN} = " ${libdir}/*.so.*"
+FILES_lib${PN}-dev = " \
+ ${includedir} \
+ ${libdir}/*.so \
+ ${libdir}/*.la \
+"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/files/0001-frontend-Fix-format-string-security-error.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/files/0001-frontend-Fix-format-string-security-error.patch
deleted file mode 100644
index 75e003eac..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/files/0001-frontend-Fix-format-string-security-error.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From c1d7a8b992dc36d0012cc3d54b7d3abf4ad4d5d8 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 28 Mar 2017 21:33:01 -0700
-Subject: [PATCH 1/2] frontend: Fix format string security error
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- frontend/main.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/frontend/main.c b/frontend/main.c
-index 02146a8..cb9329c 100644
---- a/frontend/main.c
-+++ b/frontend/main.c
-@@ -715,7 +715,7 @@ int main(int argc, char *argv[])
- break;
- #endif
- case 'L':
-- fprintf(stderr, faac_copyright_string);
-+ fprintf(stderr, "%s", faac_copyright_string);
- dieMessage = license;
- break;
- case 'X':
---
-2.12.1
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/files/0002-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/files/0001-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch
index d845ddf59..d845ddf59 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/files/0002-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/files/0001-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch
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
deleted file mode 100644
index 92fdd9bab..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/files/address-gcc-6-narrowing-errors.patch
+++ /dev/null
@@ -1,47 +0,0 @@
---- 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/faac/files/build-fix.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/files/build-fix.patch
deleted file mode 100644
index 83cff8f89..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/files/build-fix.patch
+++ /dev/null
@@ -1,332 +0,0 @@
-Patch fixing build error and warnings. Error consisted of redefining
-strcasestr function from string.h. Warnings consisted of deprecated conversions
-of string constants to char*, using '%llu' for type uint64_t (which on 64 bit
-systems, is defined as unsigned long int by stdint.h), and using '==' for
-equality of two strings.
-
-Patch originally from Debian.
-
-Upstream-Status: Pending
-
-==========================================================================
---- a/common/mp4v2/mpeg4ip.h
-+++ b/common/mp4v2/mpeg4ip.h
-@@ -120,14 +120,6 @@
- #endif
- #include <sys/param.h>
-
--#ifdef __cplusplus
--extern "C" {
--#endif
--char *strcasestr(const char *haystack, const char *needle);
--#ifdef __cplusplus
--}
--#endif
--
- #define OPEN_RDWR O_RDWR
- #define OPEN_CREAT O_CREAT
- #define OPEN_RDONLY O_RDONLY
-@@ -135,7 +127,6 @@
- #define closesocket close
- #define IOSBINARY ios::bin
-
--#if SIZEOF_LONG == 8
- #define MAX_UINT64 -1LU
- #define D64F "ld"
- #define U64F "lu"
-@@ -143,15 +134,6 @@
-
- #define TO_D64(a) (a##L)
- #define TO_U64(a) (a##LU)
--#else
--#define MAX_UINT64 -1LLU
--#define D64F "lld"
--#define U64F "llu"
--#define X64F "llx"
--
--#define TO_D64(a) (a##LL)
--#define TO_U64(a) (a##LLU)
--#endif
-
- #ifdef HAVE_FPOS_T___POS
- #define FPOS_TO_VAR(fpos, typed, var) (var) = (typed)((fpos).__pos)
---- a/configure.in
-+++ b/configure.in
-@@ -4,6 +4,9 @@
- AM_INIT_AUTOMAKE
-
- AM_CONFIG_HEADER(config.h)
-+AH_TOP([#ifndef CONFIG_H
-+#define CONFIG_H])
-+AH_BOTTOM([#endif /* CONFIG_H */])
-
- AC_ARG_WITH( mp4v2, [ --with-mp4v2 compile libmp4v2],WITHMP4V2=$withval, WITHMP4V2=yes)
- AC_ARG_ENABLE( drm, [ --enable-drm Digital Radio Mondiale support], enable_drm=$enableval, enable_drm=no)
---- a/common/mp4v2/atom_avcC.cpp
-+++ b/common/mp4v2/atom_avcC.cpp
-@@ -29,7 +29,7 @@
- class SizeTableProperty : public MP4TableProperty
- {
- public:
-- SizeTableProperty(char *name, MP4IntegerProperty *pCountProperty) :
-+ SizeTableProperty(const char *name, MP4IntegerProperty *pCountProperty) :
- MP4TableProperty(name, pCountProperty) {};
- protected:
- void ReadEntry(MP4File *pFile, u_int32_t index) {
---- a/common/mp4v2/atom_ohdr.cpp
-+++ b/common/mp4v2/atom_ohdr.cpp
-@@ -21,7 +21,7 @@
- \param useCountedFormat counted format flag.
- \param useUnicode unicode flag.
- */
-- OhdrMP4StringProperty(char* name, bool useCountedFormat = false,
-+ OhdrMP4StringProperty(const char* name, bool useCountedFormat = false,
- bool useUnicode = false): MP4StringProperty(name, useCountedFormat,
- useUnicode) {
- }
---- a/common/mp4v2/atom_stz2.cpp
-+++ b/common/mp4v2/atom_stz2.cpp
-@@ -30,7 +30,7 @@
- class MP4HalfSizeTableProperty : public MP4TableProperty
- {
- public:
-- MP4HalfSizeTableProperty(char *name, MP4IntegerProperty *pCountProperty) :
-+ MP4HalfSizeTableProperty(const char *name, MP4IntegerProperty *pCountProperty) :
- MP4TableProperty(name, pCountProperty) {};
-
- // The count is half the actual size
---- a/common/mp4v2/mp4atom.cpp
-+++ b/common/mp4v2/mp4atom.cpp
-@@ -806,7 +806,7 @@
- AddProperty(new MP4Integer24Property("flags"));
- }
-
--void MP4Atom::AddReserved(char* name, u_int32_t size)
-+void MP4Atom::AddReserved(const char* name, u_int32_t size)
- {
- MP4BytesProperty* pReserved = new MP4BytesProperty(name, size);
- pReserved->SetReadOnly();
---- a/common/mp4v2/mp4atom.h
-+++ b/common/mp4v2/mp4atom.h
-@@ -204,7 +204,7 @@
-
- void AddVersionAndFlags();
-
-- void AddReserved(char* name, u_int32_t size);
-+ void AddReserved(const char* name, u_int32_t size);
-
- void ExpectChildAtom(const char* name,
- bool mandatory, bool onlyOne = true);
---- a/common/mp4v2/mp4file.cpp
-+++ b/common/mp4v2/mp4file.cpp
-@@ -718,7 +718,7 @@
- }
- }
-
--void MP4File::ProtectWriteOperation(char* where)
-+void MP4File::ProtectWriteOperation(const char* where)
- {
- if (m_mode == 'r') {
- throw new MP4Error("operation not permitted in read mode", where);
-@@ -1274,7 +1274,7 @@
- }
-
- // NULL terminated list of brands which require the IODS atom
--char *brandsWithIods[] = { "mp42",
-+const char *brandsWithIods[] = { "mp42",
- "isom",
- NULL};
-
-@@ -2211,11 +2211,11 @@
- for (u_int32_t i = 0; i < m_pTracks.Size(); i++) {
- if (!strcmp(normType, m_pTracks[i]->GetType())) {
- if (subType) {
-- if (normType == MP4_AUDIO_TRACK_TYPE) {
-+ if (!strcmp(normType,MP4_AUDIO_TRACK_TYPE)) {
- if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) {
- continue;
- }
-- } else if (normType == MP4_VIDEO_TRACK_TYPE) {
-+ } else if (!strcmp(normType,MP4_VIDEO_TRACK_TYPE)) {
- if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) {
- continue;
- }
-@@ -2278,11 +2278,11 @@
- for (u_int32_t i = 0; i < m_pTracks.Size(); i++) {
- if (!strcmp(normType, m_pTracks[i]->GetType())) {
- if (subType) {
-- if (normType == MP4_AUDIO_TRACK_TYPE) {
-+ if (!strcmp(normType,MP4_AUDIO_TRACK_TYPE)) {
- if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) {
- continue;
- }
-- } else if (normType == MP4_VIDEO_TRACK_TYPE) {
-+ } else if (!strcmp(normType,MP4_VIDEO_TRACK_TYPE)) {
- if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) {
- continue;
- }
---- a/common/mp4v2/mp4file.h
-+++ b/common/mp4v2/mp4file.h
-@@ -700,7 +700,7 @@
- const char* TempFileName();
- void Rename(const char* existingFileName, const char* newFileName);
-
-- void ProtectWriteOperation(char* where);
-+ void ProtectWriteOperation(const char* where);
-
- void FindIntegerProperty(const char* name,
- MP4Property** ppProperty, u_int32_t* pIndex = NULL);
---- a/common/mp4v2/mp4property.cpp
-+++ b/common/mp4v2/mp4property.cpp
-@@ -313,7 +313,7 @@
-
- // MP4StringProperty
-
--MP4StringProperty::MP4StringProperty(char* name,
-+MP4StringProperty::MP4StringProperty(const char* name,
- bool useCountedFormat, bool useUnicode)
- : MP4Property(name)
- {
-@@ -420,7 +420,7 @@
-
- // MP4BytesProperty
-
--MP4BytesProperty::MP4BytesProperty(char* name, u_int32_t valueSize,
-+MP4BytesProperty::MP4BytesProperty(const char* name, u_int32_t valueSize,
- u_int32_t defaultValueSize)
- : MP4Property(name)
- {
-@@ -549,7 +549,7 @@
-
- // MP4TableProperty
-
--MP4TableProperty::MP4TableProperty(char* name, MP4IntegerProperty* pCountProperty)
-+MP4TableProperty::MP4TableProperty(const char* name, MP4IntegerProperty* pCountProperty)
- : MP4Property(name)
- {
- m_pCountProperty = pCountProperty;
-@@ -725,7 +725,7 @@
-
- // MP4DescriptorProperty
-
--MP4DescriptorProperty::MP4DescriptorProperty(char* name,
-+MP4DescriptorProperty::MP4DescriptorProperty(const char* name,
- u_int8_t tagsStart, u_int8_t tagsEnd, bool mandatory, bool onlyOne)
- : MP4Property(name)
- {
---- a/common/mp4v2/mp4property.h
-+++ b/common/mp4v2/mp4property.h
-@@ -100,7 +100,7 @@
-
- class MP4IntegerProperty : public MP4Property {
- protected:
-- MP4IntegerProperty(char* name)
-+ MP4IntegerProperty(const char* name)
- : MP4Property(name) { };
-
- public:
-@@ -118,7 +118,7 @@
- #define MP4INTEGER_PROPERTY_DECL2(isize, xsize) \
- class MP4Integer##xsize##Property : public MP4IntegerProperty { \
- public: \
-- MP4Integer##xsize##Property(char* name) \
-+ MP4Integer##xsize##Property(const char* name) \
- : MP4IntegerProperty(name) { \
- SetCount(1); \
- m_values[0] = 0; \
-@@ -188,7 +188,7 @@
-
- class MP4BitfieldProperty : public MP4Integer64Property {
- public:
-- MP4BitfieldProperty(char* name, u_int8_t numBits)
-+ MP4BitfieldProperty(const char* name, u_int8_t numBits)
- : MP4Integer64Property(name) {
- ASSERT(numBits != 0);
- ASSERT(numBits <= 64);
-@@ -213,7 +213,7 @@
-
- class MP4Float32Property : public MP4Property {
- public:
-- MP4Float32Property(char* name)
-+ MP4Float32Property(const char* name)
- : MP4Property(name) {
- m_useFixed16Format = false;
- m_useFixed32Format = false;
-@@ -280,7 +280,7 @@
-
- class MP4StringProperty : public MP4Property {
- public:
-- MP4StringProperty(char* name,
-+ MP4StringProperty(const char* name,
- bool useCountedFormat = false, bool useUnicode = false);
-
- ~MP4StringProperty();
-@@ -355,7 +355,7 @@
-
- class MP4BytesProperty : public MP4Property {
- public:
-- MP4BytesProperty(char* name, u_int32_t valueSize = 0,
-+ MP4BytesProperty(const char* name, u_int32_t valueSize = 0,
- u_int32_t defaultValueSize = 0);
-
- ~MP4BytesProperty();
-@@ -419,7 +419,7 @@
-
- class MP4TableProperty : public MP4Property {
- public:
-- MP4TableProperty(char* name, MP4IntegerProperty* pCountProperty);
-+ MP4TableProperty(const char* name, MP4IntegerProperty* pCountProperty);
-
- ~MP4TableProperty();
-
-@@ -469,7 +469,7 @@
-
- class MP4DescriptorProperty : public MP4Property {
- public:
-- MP4DescriptorProperty(char* name = NULL,
-+ MP4DescriptorProperty(const char* name = NULL,
- u_int8_t tagsStart = 0, u_int8_t tagsEnd = 0,
- bool mandatory = false, bool onlyOne = false);
-
-@@ -531,7 +531,7 @@
-
- class MP4QosQualifierProperty : public MP4DescriptorProperty {
- public:
-- MP4QosQualifierProperty(char* name = NULL,
-+ MP4QosQualifierProperty(const char* name = NULL,
- u_int8_t tagsStart = 0, u_int8_t tagsEnd = 0,
- bool mandatory = false, bool onlyOne = false) :
- MP4DescriptorProperty(name, tagsStart, tagsEnd, mandatory, onlyOne) { }
---- a/common/mp4v2/mp4track.cpp
-+++ b/common/mp4v2/mp4track.cpp
-@@ -1360,7 +1360,7 @@
- }
- }
-
--MP4Atom* MP4Track::AddAtom(char* parentName, char* childName)
-+MP4Atom* MP4Track::AddAtom(const char* parentName, const char* childName)
- {
- MP4Atom* pChildAtom = MP4Atom::CreateAtom(childName);
-
---- a/common/mp4v2/mp4track.h
-+++ b/common/mp4v2/mp4track.h
-@@ -168,7 +168,7 @@
- void UpdateSyncSamples(MP4SampleId sampleId,
- bool isSyncSample);
-
-- MP4Atom* AddAtom(char* parentName, char* childName);
-+ MP4Atom* AddAtom(const char* parentName, const char* childName);
-
- void UpdateDurations(MP4Duration duration);
- MP4Duration ToMovieDuration(MP4Duration trackDuration);
---- a/common/mp4v2/ocidescriptors.cpp
-+++ b/common/mp4v2/ocidescriptors.cpp
-@@ -171,7 +171,7 @@
-
- class MP4CreatorTableProperty : public MP4TableProperty {
- public:
-- MP4CreatorTableProperty(char* name, MP4Integer8Property* pCountProperty) :
-+ MP4CreatorTableProperty(const char* name, MP4Integer8Property* pCountProperty) :
- MP4TableProperty(name, pCountProperty) {
- };
- protected:
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/files/gerbera.service b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/files/gerbera.service
new file mode 100644
index 000000000..1b5a3ad3e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/files/gerbera.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Start Gerbera, an UPnP media server
+After=multi-user.target network-online.target
+Wants=network-online.target
+
+[Service]
+ExecStart=/usr/bin/gerbera
+Environment='HOME=/root'
+Type=simple
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target \ No newline at end of file
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_git.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_git.bb
new file mode 100644
index 000000000..f763cf1e4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_git.bb
@@ -0,0 +1,32 @@
+Description = "Gerbera - An UPnP media server"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=25cdec9afe3f1f26212ead6bd2f7fac8"
+
+SRC_URI = "git://github.com/v00d00/gerbera.git;protocol=https \
+ file://gerbera.service \
+"
+
+PV = "1.0+git${SRCPV}"
+SRCREV = "4435b165d121195aefd67d0287f7f9349e181d45"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "expat zlib curl libupnp e2fsprogs sqlite3 "
+
+SYSTEMD_SERVICE_${PN} = "gerbera.service"
+
+inherit cmake systemd
+
+PACKAGECONFIG = ""
+PACKAGECONFIG[taglib] = "-DWITH_TAGLIB=TRUE,-DWITH_TAGLIB=FALSE,taglib"
+
+EXTRA_OECMAKE = "-DWITH_JS=FALSE -DWITH_MAGIC=FALSE -DWITH_EXIF=FALSE -DLIBUUID_INCLUDE_DIRS=${STAGING_INCDIR} -DLIBUUID_LIBRARIES=-luuid"
+
+do_install_append() {
+ install -d ${D}/root/.config/
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/gerbera.service ${D}${systemd_system_unitdir}/
+}
+
+FILES_${PN} += "/root/.config/"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-aacdec-check-channel-count.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-aacdec-check-channel-count.patch
deleted file mode 100644
index 7da0e1452..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-aacdec-check-channel-count.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-gst-ffmpeg: aacdec: check channel count
-
-Prevent out of array accesses
-
-Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-(cherry picked from commit 96f452ac647dae33c53c242ef3266b65a9beafb6)
-
-Upstream-Status: Backport
-
-Signed-off-by: Yue Tao <yue.tao@windriver.com>
----
- libavcodec/aacdec.c | 5 +++++
- 1 files changed, 5 insertions(+), 0 deletions(-)
-
-diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c
-index 239153a..6c17c33 100644
---- a/gst-libs/ext/libav/libavcodec/aacdec.c
-+++ b/gst-libs/ext/libav/libavcodec/aacdec.c
-@@ -914,6 +914,11 @@ static av_cold int aac_decode_init(AVCodecContext *avctx)
- }
- }
-
-+ if (avctx->channels > MAX_CHANNELS) {
-+ av_log(avctx, AV_LOG_ERROR, "Too many channels\n");
-+ return AVERROR_INVALIDDATA;
-+ }
-+
- AAC_INIT_VLC_STATIC( 0, 304);
- AAC_INIT_VLC_STATIC( 1, 270);
- AAC_INIT_VLC_STATIC( 2, 550);
---
-1.7.5.4
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-alac-fix-nb_samples-order-case.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-alac-fix-nb_samples-order-case.patch
deleted file mode 100644
index 10ce0f332..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-alac-fix-nb_samples-order-case.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From e0884eadf6a15e93142131b695f48776f9a0ac31 Mon Sep 17 00:00:00 2001
-From: Michael Niedermayer <michaelni@gmx.at>
-Date: Sat, 10 Nov 2012 17:14:04 +0100
-Subject: [PATCH] alac: fix nb_samples < order case
-
-Upstream-Status: Backport
-
-Commit e0884eadf6a15e93142131b695f48776f9a0ac31 release/1.0
-
-Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-(cherry picked from commit fd4f4923cce6a2cbf4f48640b4ac706e614a1594)
----
- libavcodec/alac.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libavcodec/alac.c b/libavcodec/alac.c
-index 9cd1737..e8e844a 100644
---- a/gst-libs/ext/libav/libavcodec/alac.c
-+++ b/gst-libs/ext/libav/libavcodec/alac.c
-@@ -278,7 +278,7 @@ static void predictor_decompress_fir_ada
-
- /* read warm-up samples */
- if (predictor_coef_num > 0)
-- for (i = 0; i < predictor_coef_num; i++) {
-+ for (i = 0; i < predictor_coef_num && i < output_size; i++) {
- int32_t val;
-
- val = buffer_out[i] + error_buffer[i+1];
---
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-alsdec-check-block-length.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-alsdec-check-block-length.patch
deleted file mode 100644
index 73980f426..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-alsdec-check-block-length.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 6df0d3e2916c223dbe4262bf1b876dff1cb3f980 Mon Sep 17 00:00:00 2001
-From: Michael Niedermayer <michaelni@gmx.at>
-Date: Wed, 12 Dec 2012 12:28:45 +0100
-Subject: [PATCH] alsdec: check block length
-
-Upstream-Status: Backport
-
-Commit 6df0d3e2916c223dbe4262bf1b876dff1cb3f980 release/1.0
-
-Fix writing over the end
-
-Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-(cherry picked from commit 0ceca269b66ec12a23bf0907bd2c220513cdbf16)
-
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
----
- libavcodec/alsdec.c | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/libavcodec/alsdec.c b/libavcodec/alsdec.c
-index 46dd0b4..1095b01 100644
---- a/gst-libs/ext/libav/libavcodec/alsdec.c
-+++ b/gst-libs/ext/libav/libavcodec/alsdec.c
-@@ -552,12 +552,15 @@ static void get_block_sizes(ALSDecContext *ctx, unsigned int *div_blocks,
-
- /** Read the block data for a constant block
- */
--static void read_const_block_data(ALSDecContext *ctx, ALSBlockData *bd)
-+static int read_const_block_data(ALSDecContext *ctx, ALSBlockData *bd)
- {
- ALSSpecificConfig *sconf = &ctx->sconf;
- AVCodecContext *avctx = ctx->avctx;
- GetBitContext *gb = &ctx->gb;
-
-+ if (bd->block_length <= 0)
-+ return -1;
-+
- *bd->raw_samples = 0;
- *bd->const_block = get_bits1(gb); // 1 = constant value, 0 = zero block (silence)
- bd->js_blocks = get_bits1(gb);
-@@ -572,6 +575,8 @@ static void read_const_block_data(ALSDecContext *ctx, ALSBlockData *bd)
-
- // ensure constant block decoding by reusing this field
- *bd->const_block = 1;
-+
-+ return 0;
- }
-
-
-@@ -971,7 +976,8 @@ static int read_block(ALSDecContext *ctx, ALSBlockData *bd)
- if (read_var_block_data(ctx, bd))
- return -1;
- } else {
-- read_const_block_data(ctx, bd);
-+ if (read_const_block_data(ctx, bd) < 0)
-+ return -1;
- }
-
- return 0;
---
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-atrac3dec-Check-coding-mode-against-channels.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-atrac3dec-Check-coding-mode-against-channels.patch
deleted file mode 100644
index 42cb5f40b..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-atrac3dec-Check-coding-mode-against-channels.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 2502914c5f8eb77659d7c0868396862557a63245 Mon Sep 17 00:00:00 2001
-From: Michael Niedermayer <michaelni@gmx.at>
-Date: Fri, 9 Nov 2012 13:26:20 +0100
-Subject: [PATCH] atrac3dec: Check coding mode against channels.
-
-Upstream-Status: Backport
-
-Commit 2502914c5f8eb77659d7c0868396862557a63245 release/1.0
-
-Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-(cherry picked from commit 13451f5520ce6b0afde861b2285dda659f8d4fb4)
-
-Conflicts:
-
- libavcodec/atrac3.c
----
- libavcodec/atrac3.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/libavcodec/atrac3.c b/libavcodec/atrac3.c
-index 7d076be..1da4c78 100644
---- a/gst-libs/ext/libav/libavcodec/atrac3.c
-+++ b/gst-libs/ext/libav/libavcodec/atrac3.c
-@@ -955,6 +955,11 @@ static av_cold int atrac3_decode_init(AVCodecContext *avctx)
- }
- /* Check the extradata. */
-
-+ if (q->codingMode == JOINT_STEREO && avctx->channels < 2) {
-+ av_log(avctx, AV_LOG_ERROR, "Invalid coding mode\n");
-+ return AVERROR_INVALIDDATA;
-+ }
-+
- if (q->atrac3version != 4) {
- av_log(avctx,AV_LOG_ERROR,"Version %d != 4.\n",q->atrac3version);
- return AVERROR_INVALIDDATA;
---
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-dsputil-fix-signedness-in-sizeof-comparissio.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-dsputil-fix-signedness-in-sizeof-comparissio.patch
deleted file mode 100644
index 31fa51a3e..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-dsputil-fix-signedness-in-sizeof-comparissio.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From a99aff4e4bbef8e64b51f267cd1769214e1b4e80 Mon Sep 17 00:00:00 2001
-From: Michael Niedermayer <michaelni@gmx.at>
-Date: Fri, 30 Aug 2013 23:40:47 +0200
-Subject: [PATCH] avcodec/dsputil: fix signedness in sizeof() comparissions
-
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-(cherry picked from commit 454a11a1c9c686c78aa97954306fb63453299760)
-
-Upstream-Status: Backport
-
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
----
- libavcodec/dsputil.c | 4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/libavcodec/dsputil.c b/libavcodec/dsputil.c
-index 53dc2eb..6264832 100644
---- a/gst-libs/ext/libav/libavcodec/dsputil.c
-+++ b/gst-libs/ext/libav/libavcodec/dsputil.c
-@@ -1912,7 +1912,7 @@ void ff_set_cmp(DSPContext* c, me_cmp_func *cmp, int type){
-
- static void add_bytes_c(uint8_t *dst, uint8_t *src, int w){
- long i;
-- for(i=0; i<=w-sizeof(long); i+=sizeof(long)){
-+ for(i=0; i<=w-(int)sizeof(long); i+=sizeof(long)){
- long a = *(long*)(src+i);
- long b = *(long*)(dst+i);
- *(long*)(dst+i) = ((a&pb_7f) + (b&pb_7f)) ^ ((a^b)&pb_80);
-@@ -1937,7 +1937,7 @@ static void diff_bytes_c(uint8_t *dst, uint8_t *src1, uint8_t *src2, int w){
- }
- }else
- #endif
-- for(i=0; i<=w-sizeof(long); i+=sizeof(long)){
-+ for(i=0; i<=w-(int)sizeof(long); i+=sizeof(long)){
- long a = *(long*)(src1+i);
- long b = *(long*)(src2+i);
- *(long*)(dst+i) = ((a|pb_80) - (b&pb_7f)) ^ ((a^b^pb_80)&pb_80);
---
-1.7.5.4
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-msrle-use-av_image_get_linesize-to-calculate.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-msrle-use-av_image_get_linesize-to-calculate.patch
deleted file mode 100644
index b0a3fb10c..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-msrle-use-av_image_get_linesize-to-calculate.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 573d5fdedae72bf59d8c0b0766fdee171063d36f Mon Sep 17 00:00:00 2001
-From: Michael Niedermayer <michaelni@gmx.at>
-Date: Sun, 16 Feb 2014 23:08:52 +0100
-Subject: [PATCH] avcodec/msrle: use av_image_get_linesize() to calculate the
- linesize
-
-Upstream-Status: Backport
-
-Commit 573d5fdedae72bf59d8c0b0766fdee171063d36f release/0.9
-
-Fixes out of array access
-Fixes: 14a74a0a2dc67ede543f0e35d834fbbe-asan_heap-oob_49572c_556_cov_215466444_44_001_engine_room.mov
-Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-(cherry picked from commit c919e1ca2ecfc47d796382973ba0e48b8f6f92a2)
-
-Conflicts:
-
- libavcodec/msrle.c
-(cherry picked from commit bc1c8ec5e65098fd2ccd8456f667151dfc9cda42)
-
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
----
- libavcodec/msrle.c | 3 ++-
- 1 files changed, 2 insertions(+), 1 deletions(-)
-
-diff --git a/libavcodec/msrle.c b/libavcodec/msrle.c
-index 30159bb..c39ae7b 100644
---- a/gst-libs/ext/libav/libavcodec/msrle.c
-+++ b/gst-libs/ext/libav/libavcodec/msrle.c
-@@ -35,6 +35,7 @@
- #include "avcodec.h"
- #include "dsputil.h"
- #include "msrledec.h"
-+#include "libavutil/imgutils.h"
-
- typedef struct MsrleContext {
- AVCodecContext *avctx;
-@@ -107,7 +108,7 @@ static int msrle_decode_frame(AVCodecContext *avctx,
-
- /* FIXME how to correctly detect RLE ??? */
- if (avctx->height * istride == avpkt->size) { /* assume uncompressed */
-- int linesize = avctx->width * avctx->bits_per_coded_sample / 8;
-+ int linesize = av_image_get_linesize(avctx->pix_fmt, avctx->width, 0);
- uint8_t *ptr = s->frame.data[0];
- uint8_t *buf = avpkt->data + (avctx->height-1)*istride;
- int i, j;
---
-1.7.5.4
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-parser-reset-indexes-on-realloc-failure.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-parser-reset-indexes-on-realloc-failure.patch
deleted file mode 100644
index 5ff65834e..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-parser-reset-indexes-on-realloc-failure.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-gst-ffmpeg: avcodec/parser: reset indexes on realloc failure
-
-Fixes Ticket2982
-
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-(cherry picked from commit f31011e9abfb2ae75bb32bc44e2c34194c8dc40a)
-
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
-Upstream-Status: Backport
-
-Signed-off-by: Yue Tao <yue.tao@windriver.com>
-
----
- libavcodec/parser.c | 10 +++++++---
- 1 files changed, 7 insertions(+), 3 deletions(-)
-
-diff --git a/libavcodec/parser.c b/libavcodec/parser.c
-index 2c6de6e..66eca06 100644
---- a/gst-libs/ext/libav/libavcodec/parser.c
-+++ b/gst-libs/ext/libav/libavcodec/parser.c
-@@ -241,8 +241,10 @@ int ff_combine_frame(ParseContext *pc, int next, const uint8_t **buf, int *buf_s
- if(next == END_NOT_FOUND){
- void* new_buffer = av_fast_realloc(pc->buffer, &pc->buffer_size, (*buf_size) + pc->index + FF_INPUT_BUFFER_PADDING_SIZE);
-
-- if(!new_buffer)
-+ if(!new_buffer) {
-+ pc->index = 0;
- return AVERROR(ENOMEM);
-+ }
- pc->buffer = new_buffer;
- memcpy(&pc->buffer[pc->index], *buf, *buf_size);
- pc->index += *buf_size;
-@@ -255,9 +257,11 @@ int ff_combine_frame(ParseContext *pc, int next, const uint8_t **buf, int *buf_s
- /* append to buffer */
- if(pc->index){
- void* new_buffer = av_fast_realloc(pc->buffer, &pc->buffer_size, next + pc->index + FF_INPUT_BUFFER_PADDING_SIZE);
--
-- if(!new_buffer)
-+ if(!new_buffer) {
-+ pc->overread_index =
-+ pc->index = 0;
- return AVERROR(ENOMEM);
-+ }
- pc->buffer = new_buffer;
- if (next > -FF_INPUT_BUFFER_PADDING_SIZE)
- memcpy(&pc->buffer[pc->index], *buf,
---
-1.7.5.4
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-rpza-Perform-pointer-advance-and-checks-befo.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-rpza-Perform-pointer-advance-and-checks-befo.patch
deleted file mode 100644
index 7f6eb4888..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-rpza-Perform-pointer-advance-and-checks-befo.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-gst-ffmpeg: avcodec/rpza: Perform pointer advance and checks before
- using the pointers
-
-Fixes out of array accesses
-Fixes Ticket2850
-
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-(cherry picked from commit 3819db745da2ac7fb3faacb116788c32f4753f34)
-
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
-Upstream-Status: Backport
-
-Singed-off-by: Yue Tao <yue.tao@windriver.com>
-
----
- libavcodec/rpza.c | 8 ++++----
- 1 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/libavcodec/rpza.c b/libavcodec/rpza.c
-index 635b406..f291a95 100644
---- a/gst-libs/ext/libav/libavcodec/rpza.c
-+++ b/gst-libs/ext/libav/libavcodec/rpza.c
-@@ -83,7 +83,7 @@ static void rpza_decode_stream(RpzaContext *s)
- unsigned short *pixels = (unsigned short *)s->frame.data[0];
-
- int row_ptr = 0;
-- int pixel_ptr = 0;
-+ int pixel_ptr = -4;
- int block_ptr;
- int pixel_x, pixel_y;
- int total_blocks;
-@@ -139,6 +139,7 @@ static void rpza_decode_stream(RpzaContext *s)
- colorA = AV_RB16 (&s->buf[stream_ptr]);
- stream_ptr += 2;
- while (n_blocks--) {
-+ ADVANCE_BLOCK()
- block_ptr = row_ptr + pixel_ptr;
- for (pixel_y = 0; pixel_y < 4; pixel_y++) {
- for (pixel_x = 0; pixel_x < 4; pixel_x++){
-@@ -147,7 +148,6 @@ static void rpza_decode_stream(RpzaContext *s)
- }
- block_ptr += row_inc;
- }
-- ADVANCE_BLOCK();
- }
- break;
-
-@@ -184,6 +184,7 @@ static void rpza_decode_stream(RpzaContext *s)
- color4[2] |= ((21 * ta + 11 * tb) >> 5);
-
- while (n_blocks--) {
-+ ADVANCE_BLOCK();
- block_ptr = row_ptr + pixel_ptr;
- for (pixel_y = 0; pixel_y < 4; pixel_y++) {
- index = s->buf[stream_ptr++];
-@@ -194,12 +195,12 @@ static void rpza_decode_stream(RpzaContext *s)
- }
- block_ptr += row_inc;
- }
-- ADVANCE_BLOCK();
- }
- break;
-
- /* Fill block with 16 colors */
- case 0x00:
-+ ADVANCE_BLOCK();
- block_ptr = row_ptr + pixel_ptr;
- for (pixel_y = 0; pixel_y < 4; pixel_y++) {
- for (pixel_x = 0; pixel_x < 4; pixel_x++){
-@@ -213,7 +214,6 @@ static void rpza_decode_stream(RpzaContext *s)
- }
- block_ptr += row_inc;
- }
-- ADVANCE_BLOCK();
- break;
-
- /* Unknown opcode */
---
-1.7.5.4
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-smc-fix-off-by-1-error.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-smc-fix-off-by-1-error.patch
deleted file mode 100644
index 3ca6fc4dc..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-smc-fix-off-by-1-error.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From c17a0ad1df15a94d0b1239adc2afb593bdf0a153 Mon Sep 17 00:00:00 2001
-From: Michael Niedermayer <michaelni@gmx.at>
-Date: Fri, 3 Oct 2014 22:50:45 +0200
-Subject: [PATCH 1/2] avcodec/smc: fix off by 1 error
-
-Upstream-Status: Backport
-
-Fixes out of array access
-Fixes: asan_heap-oob_1685bf0_5_asan_heap-oob_1f35116_430_smc.mov
-
-Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
----
- libavcodec/smc.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gst-libs/ext/libav/libavcodec/smc.c b/gst-libs/ext/libav/libavcodec/smc.c
-index 3cd5e53..dec9f71 100644
---- a/gst-libs/ext/libav/libavcodec/smc.c
-+++ b/gst-libs/ext/libav/libavcodec/smc.c
-@@ -69,7 +69,7 @@ typedef struct SmcContext {
- row_ptr += stride * 4; \
- } \
- total_blocks--; \
-- if (total_blocks < 0) \
-+ if (total_blocks < 0 + !!n_blocks) \
- { \
- av_log(s->avctx, AV_LOG_INFO, "warning: block counter just went negative (this should not happen)\n"); \
- return; \
---
-2.1.0
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avformat-mpegtsenc-Check-data-array-size-in-mpegts_w.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avformat-mpegtsenc-Check-data-array-size-in-mpegts_w.patch
deleted file mode 100644
index 68bb66e4e..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avformat-mpegtsenc-Check-data-array-size-in-mpegts_w.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 12770701856a05b6b3cd706f708f8e9a4e8a1336 Mon Sep 17 00:00:00 2001
-From: Michael Niedermayer <michaelni@gmx.at>
-Date: Thu, 13 Feb 2014 13:59:51 +0100
-Subject: [PATCH] avformat/mpegtsenc: Check data array size in
- mpegts_write_pmt()
-
-Upstream-Status: Backport
-
-COmmit 12770701856a05b6b3cd706f708f8e9a4e8a1336 release/0.11
-
-Prevents out of array writes
-
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-(cherry picked from commit 842b6c14bcfc1c5da1a2d288fd65386eb8c158ad)
-
-Conflicts:
-
- libavformat/mpegtsenc.c
-(cherry picked from commit e87de3f50b765134588d0b048c32ed4b8acc16fb)
-
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
----
- libavformat/mpegtsenc.c | 9 +++++++--
- 1 files changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c
-index 793e205..a12d19f 100644
---- a/gst-libs/ext/libav/libavformat/mpegtsenc.c
-+++ b/gst-libs/ext/libav/libavformat/mpegtsenc.c
-@@ -240,7 +240,7 @@ static void mpegts_write_pat(AVFormatContext *s)
- data, q - data);
- }
-
--static void mpegts_write_pmt(AVFormatContext *s, MpegTSService *service)
-+static int mpegts_write_pmt(AVFormatContext *s, MpegTSService *service)
- {
- // MpegTSWrite *ts = s->priv_data;
- uint8_t data[1012], *q, *desc_length_ptr, *program_info_length_ptr;
-@@ -293,6 +293,10 @@ static void mpegts_write_pmt(AVFormatContext *s, MpegTSService *service)
- stream_type = STREAM_TYPE_PRIVATE_DATA;
- break;
- }
-+
-+ if (q - data > sizeof(data) - 32)
-+ return AVERROR(EINVAL);
-+
- *q++ = stream_type;
- put16(&q, 0xe000 | ts_st->pid);
- desc_length_ptr = q;
-@@ -324,7 +328,7 @@ static void mpegts_write_pmt(AVFormatContext *s, MpegTSService *service)
- len_ptr = q++;
- *len_ptr = 0;
-
-- for (p = lang->value; next && *len_ptr < 255 / 4 * 4; p = next + 1) {
-+ for (p = lang->value; next && *len_ptr < 255 / 4 * 4 && q - data < sizeof(data) - 4; p = next + 1) {
- next = strchr(p, ',');
- if (strlen(p) != 3 && (!next || next != p + 3))
- continue; /* not a 3-letter code */
-@@ -386,6 +390,7 @@ static void mpegts_write_pmt(AVFormatContext *s, MpegTSService *service)
- }
- mpegts_write_section1(&service->pmt, PMT_TID, service->sid, 0, 0, 0,
- data, q - data);
-+ return 0;
- }
-
- /* NOTE: str == NULL is accepted for an empty string */
---
-1.7.5.4
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-eamad-fix-out-of-array-accesses.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-eamad-fix-out-of-array-accesses.patch
deleted file mode 100644
index f45e3fd59..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-eamad-fix-out-of-array-accesses.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 63ac64864c6e0e84355aa3caa5b92208997a9a8d Mon Sep 17 00:00:00 2001
-From: Michael Niedermayer <michaelni@gmx.at>
-Date: Sat, 17 Nov 2012 16:26:55 +0100
-Subject: [PATCH] eamad: fix out of array accesses
-
-Upstream-Status: Backport
-
-Commit 63ac64864c6e0e84355aa3caa5b92208997a9a8d release/1.1
-
-Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
----
- libavcodec/eamad.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libavcodec/eamad.c b/libavcodec/eamad.c
-index 2805195..e38650e 100644
---- a/gst-libs/ext/libav/libavcodec/eamad.c
-+++ b/gst-libs/ext/libav/libavcodec/eamad.c
-@@ -237,7 +237,7 @@ static int decode_frame(AVCodecContext *avctx,
- int chunk_type;
- int inter;
-
-- if (buf_size < 17) {
-+ if (buf_size < 26) {
- av_log(avctx, AV_LOG_ERROR, "Input buffer too small\n");
- *data_size = 0;
- return -1;
---
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-error-concealment-initialize-block-index.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-error-concealment-initialize-block-index.patch
deleted file mode 100644
index e0e4239c2..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-error-concealment-initialize-block-index.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-gst-ffmpeg: error concealment: initialize block index.
-
-Fixes CVE-2011-3941 (out of bounds write)
-
-Upstream-Status: Backport
-
-Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
----
- libavcodec/error_resilience.c | 3 +++
- 1 files changed, 3 insertions(+), 0 deletions(-)
-
-diff --git a/libavcodec/error_resilience.c b/libavcodec/error_resilience.c
-index 8bb5d0c..d55c000 100644
---- a/gst-libs/ext/libav/libavcodec/error_resilience.c
-+++ b/gst-libs/ext/libav/libavcodec/error_resilience.c
-@@ -45,6 +45,9 @@ static void decode_mb(MpegEncContext *s, int ref){
- s->dest[1] = s->current_picture.data[1] + (s->mb_y * (16>>s->chroma_y_shift) * s->uvlinesize) + s->mb_x * (16>>s->chroma_x_shift);
- s->dest[2] = s->current_picture.data[2] + (s->mb_y * (16>>s->chroma_y_shift) * s->uvlinesize) + s->mb_x * (16>>s->chroma_x_shift);
-
-+ ff_init_block_index(s);
-+ ff_update_block_index(s);
-+
- if(CONFIG_H264_DECODER && s->codec_id == CODEC_ID_H264){
- H264Context *h= (void*)s;
- h->mb_xy= s->mb_x + s->mb_y*s->mb_stride;
---
-1.7.5.4
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-error_concealment-Check-that-the-picture-is-not-in-a.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-error_concealment-Check-that-the-picture-is-not-in-a.patch
deleted file mode 100644
index 8eef6e99c..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-error_concealment-Check-that-the-picture-is-not-in-a.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-gst-ffmpeg: error_concealment: Check that the picture is not in a half
-
-Fixes state becoming inconsistent
-Fixes a null pointer dereference
-
-Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-(cherry picked from commit 23318a57358358e7a4dc551e830e4503f0638cfe)
-
-Upstream-Status: Backport
-
-Signed-off-by: Yue Tao <yue.tao@windriver.com>
-
----
- libavcodec/error_resilience.c | 6 ++++++
- 1 files changed, 6 insertions(+), 0 deletions(-)
-
-diff --git a/libavcodec/error_resilience.c b/libavcodec/error_resilience.c
-index 01f7424..2b6bc42 100644
---- a/gst-libs/ext/libav/libavcodec/error_resilience.c
-+++ b/gst-libs/ext/libav/libavcodec/error_resilience.c
-@@ -793,6 +793,12 @@ void ff_er_frame_end(MpegEncContext *s){
- s->picture_structure != PICT_FRAME || // we dont support ER of field pictures yet, though it should not crash if enabled
- s->error_count==3*s->mb_width*(s->avctx->skip_top + s->avctx->skip_bottom)) return;
-
-+ if ( s->picture_structure == PICT_FRAME
-+ && s->current_picture.linesize[0] != s->current_picture_ptr->linesize[0]) {
-+ av_log(s->avctx, AV_LOG_ERROR, "Error concealment not possible, frame not fully initialized\n");
-+ return;
-+ }
-+
- if(s->current_picture.motion_val[0] == NULL){
- av_log(s->avctx, AV_LOG_ERROR, "Warning MVs not available\n");
-
---
-1.7.5.4
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-ffserver-set-oformat.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-ffserver-set-oformat.patch
deleted file mode 100644
index 80325db4d..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-ffserver-set-oformat.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-gst-ffmpeg: ffserver: set oformat
-
-Fix Ticket1986
-
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-(cherry picked from commit cbe43e62c9ac7d4aefdc13476f6f691bd626525f)
-
-Upstream-Status: Backport
-
----
- ffserver.c | 4 +++-
- 1 files changed, 3 insertions(+), 1 deletions(-)
-
-diff --git a/ffserver.c b/ffserver.c
-index 4044d0f..8740140 100644
---- a/gst-libs/ext/libav/ffserver.c
-+++ b/gst-libs/ext/libav/ffserver.c
-@@ -2937,12 +2937,14 @@ static int prepare_sdp_description(FFStream *stream, uint8_t **pbuffer,
- {
- AVFormatContext *avc;
- AVStream *avs = NULL;
-+ AVOutputFormat *rtp_format = av_guess_format("rtp", NULL, NULL);
- int i;
-
- avc = avformat_alloc_context();
-- if (avc == NULL) {
-+ if (avc == NULL || !rtp_format) {
- return -1;
- }
-+ avc->oformat = rtp_format;
- av_dict_set(&avc->metadata, "title",
- stream->title[0] ? stream->title : "No Title", 0);
- avc->nb_streams = stream->nb_streams;
---
-1.7.5.4
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-h264-correct-ref-count-check-and-limit-fix-out-of-ar.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-h264-correct-ref-count-check-and-limit-fix-out-of-ar.patch
deleted file mode 100644
index d4f55b269..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-h264-correct-ref-count-check-and-limit-fix-out-of-ar.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From d6c184880ee2e09fd68c0ae217173832cee5afc1 Mon Sep 17 00:00:00 2001
-From: Michael Niedermayer <michaelni@gmx.at>
-Date: Sun, 18 Nov 2012 16:29:04 +0100
-Subject: [PATCH] h264: correct ref count check and limit, fix out of array
- accesses.
-
-Upstream-Status: Backport
-
-Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
----
- libavcodec/h264.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libavcodec/h264.c b/libavcodec/h264.c
-index da43f1e..32cede5 100644
---- a/gst-libs/ext/libav/libavcodec/h264.c
-+++ b/gst-libs/ext/libav/libavcodec/h264.c
-@@ -2870,6 +2870,9 @@ static int decode_slice_header(H264Conte
- h->ref_count[0]= get_ue_golomb(&s->gb) + 1;
- if(h->slice_type_nos==AV_PICTURE_TYPE_B)
- h->ref_count[1]= get_ue_golomb(&s->gb) + 1;
-+ else
-+ // full range is spec-ok in this case, even for frames
-+ h->ref_count[1] = 1;
-
- if(h->ref_count[0]-1 > 32-1 || h->ref_count[1]-1 > 32-1){
- av_log(h->s.avctx, AV_LOG_ERROR, "reference overflow\n");
---
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-h264-set-parameters-from-SPS-whenever-it-changes.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-h264-set-parameters-from-SPS-whenever-it-changes.patch
deleted file mode 100644
index 05a9de333..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-h264-set-parameters-from-SPS-whenever-it-changes.patch
+++ /dev/null
@@ -1,145 +0,0 @@
-gst-ffmpeg: h264: set parameters from SPS whenever it changes
-
-Fixes a crash in the fuzzed sample sample_varPAR.avi_s26638 with
-alternating bit depths.
-
-Upstream-Status: Backport
-
-Signed-off-by: Yue Tao <yue.tao@windriver.com>
-
-diff --git a/gst-libs/ext/libav/libavcodec/h264.c.old b/gst-libs/ext/libav/libavcodec/h264.c
-index 3621f41..718906a 100644
---- a/gst-libs/ext/libav/libavcodec/h264.c.old
-+++ b/gst-libs/ext/libav/libavcodec/h264.c
-@@ -2491,6 +2491,34 @@ int ff_h264_get_profile(SPS *sps)
- return profile;
- }
-
-+static int h264_set_parameter_from_sps(H264Context *h)
-+{
-+ MpegEncContext *s = &h->s;
-+ AVCodecContext * avctx= s->avctx;
-+
-+ if (s->flags& CODEC_FLAG_LOW_DELAY ||
-+ (h->sps.bitstream_restriction_flag && !h->sps.num_reorder_frames))
-+ s->low_delay=1;
-+
-+ if(avctx->has_b_frames < 2)
-+ avctx->has_b_frames= !s->low_delay;
-+
-+ if (avctx->bits_per_raw_sample != h->sps.bit_depth_luma) {
-+ if (h->sps.bit_depth_luma >= 8 && h->sps.bit_depth_luma <= 10) {
-+ avctx->bits_per_raw_sample = h->sps.bit_depth_luma;
-+ h->pixel_shift = h->sps.bit_depth_luma > 8;
-+
-+ ff_h264dsp_init(&h->h264dsp, h->sps.bit_depth_luma);
-+ ff_h264_pred_init(&h->hpc, s->codec_id, h->sps.bit_depth_luma);
-+ dsputil_init(&s->dsp, s->avctx);
-+ } else {
-+ av_log(avctx, AV_LOG_DEBUG, "Unsupported bit depth: %d\n", h->sps.bit_depth_luma);
-+ return -1;
-+ }
-+ }
-+ return 0;
-+}
-+
- /**
- * decodes a slice header.
- * This will also call MPV_common_init() and frame_start() as needed.
-@@ -2505,7 +2533,7 @@ static int decode_slice_header(H264Context *h, H264Context *h0){
- MpegEncContext * const s0 = &h0->s;
- unsigned int first_mb_in_slice;
- unsigned int pps_id;
-- int num_ref_idx_active_override_flag;
-+ int num_ref_idx_active_override_flag, ret;
- unsigned int slice_type, tmp, i, j;
- int default_ref_list_done = 0;
- int last_pic_structure;
-@@ -2569,7 +2597,17 @@ static int decode_slice_header(H264Context *h, H264Context *h0){
- av_log(h->s.avctx, AV_LOG_ERROR, "non-existing SPS %u referenced\n", h->pps.sps_id);
- return -1;
- }
-- h->sps = *h0->sps_buffers[h->pps.sps_id];
-+
-+ if (h->pps.sps_id != h->current_sps_id ||
-+ h0->sps_buffers[h->pps.sps_id]->new) {
-+ h0->sps_buffers[h->pps.sps_id]->new = 0;
-+
-+ h->current_sps_id = h->pps.sps_id;
-+ h->sps = *h0->sps_buffers[h->pps.sps_id];
-+
-+ if ((ret = h264_set_parameter_from_sps(h)) < 0)
-+ return ret;
-+ }
-
- s->avctx->profile = ff_h264_get_profile(&h->sps);
- s->avctx->level = h->sps.level_idc;
-@@ -3811,26 +3811,8 @@ static int decode_nal_units(H264Context *h, const uint8_t *buf, int buf_size){
- case NAL_SPS:
- init_get_bits(&s->gb, ptr, bit_length);
- ff_h264_decode_seq_parameter_set(h);
--
-- if (s->flags& CODEC_FLAG_LOW_DELAY ||
-- (h->sps.bitstream_restriction_flag && !h->sps.num_reorder_frames))
-- s->low_delay=1;
--
-- if(avctx->has_b_frames < 2)
-- avctx->has_b_frames= !s->low_delay;
--
-- if (avctx->bits_per_raw_sample != h->sps.bit_depth_luma) {
-- if (h->sps.bit_depth_luma >= 8 && h->sps.bit_depth_luma <= 10) {
-- avctx->bits_per_raw_sample = h->sps.bit_depth_luma;
-- h->pixel_shift = h->sps.bit_depth_luma > 8;
--
-- ff_h264dsp_init(&h->h264dsp, h->sps.bit_depth_luma);
-- ff_h264_pred_init(&h->hpc, s->codec_id, h->sps.bit_depth_luma);
-- dsputil_init(&s->dsp, s->avctx);
-- } else {
-- av_log(avctx, AV_LOG_DEBUG, "Unsupported bit depth: %d\n", h->sps.bit_depth_luma);
-- return -1;
-- }
-+ if (h264_set_parameter_from_sps(h) < 0) {
-+ return -1;
- }
- break;
- case NAL_PPS:
-diff --git a/gst-libs/ext/libav/libavcodec/h264.h.old b/gst-libs/ext/libav/libavcodec/h264.h
-index e3cc815..b77ad98 100644
---- a/gst-libs/ext/libav/libavcodec/h264.h.old
-+++ b/gst-libs/ext/libav/libavcodec/h264.h
-@@ -202,6 +202,7 @@ typedef struct SPS{
- int bit_depth_chroma; ///< bit_depth_chroma_minus8 + 8
- int residual_color_transform_flag; ///< residual_colour_transform_flag
- int constraint_set_flags; ///< constraint_set[0-3]_flag
-+ int new; ///< flag to keep track if the decoder context needs re-init due to changed SPS
- }SPS;
-
- /**
-@@ -333,6 +334,7 @@ typedef struct H264Context{
- int emu_edge_width;
- int emu_edge_height;
-
-+ unsigned current_sps_id; ///< id of the current SPS
- SPS sps; ///< current sps
-
- /**
-diff --git a/gst-libs/ext/libav/libavcodec/h264_ps.c.old b/gst-libs/ext/libav/libavcodec/h264_ps.c
-index 7491807..0929098 100644
---- a/gst-libs/ext/libav/libavcodec/h264_ps.c.old
-+++ b/gst-libs/ext/libav/libavcodec/h264_ps.c
-@@ -438,10 +438,13 @@ int ff_h264_decode_seq_parameter_set(H264Context *h){
- sps->timing_info_present_flag ? sps->time_scale : 0
- );
- }
-+ sps->new = 1;
-
- av_free(h->sps_buffers[sps_id]);
-- h->sps_buffers[sps_id]= sps;
-- h->sps = *sps;
-+ h->sps_buffers[sps_id] = sps;
-+ h->sps = *sps;
-+ h->current_sps_id = sps_id;
-+
- return 0;
- fail:
- av_free(sps);
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-h264-skip-error-concealment-when-SPS-and-slices-are-.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-h264-skip-error-concealment-when-SPS-and-slices-are-.patch
deleted file mode 100644
index 5d45c1a96..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-h264-skip-error-concealment-when-SPS-and-slices-are-.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-gst-ffmpeg: h264: skip error concealment when SPS and slices are
- mismatching
-
-Fixes out of array accesses
-
-Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-(cherry picked from commit 695af8eed642ff0104834495652d1ee784a4c14d)
-
-Upstream-Status: Backport
-
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-Signed-off-by: Yue Tao <yue.tao@windriver.com>
----
- libavcodec/h264.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/libavcodec/h264.c b/libavcodec/h264.c
-index da144db..0aab4e7 100644
---- a/gst-libs/ext/libav/libavcodec/h264.c
-+++ b/gst-libs/ext/libav/libavcodec/h264.c
-@@ -2351,7 +2351,7 @@ static int field_end(H264Context *h, int in_setup)
- * past end by one (callers fault) and resync_mb_y != 0
- * causes problems for the first MB line, too.
- */
-- if (!FIELD_PICTURE)
-+ if (!FIELD_PICTURE && h->current_slice && !h->sps.new)
- ff_er_frame_end(s);
-
- ff_MPV_frame_end(s);
---
-1.7.5.4
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-h264_sei-Fix-infinite-loop.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-h264_sei-Fix-infinite-loop.patch
deleted file mode 100644
index 1e62b5036..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-h264_sei-Fix-infinite-loop.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-gst-ffmpeg: h264_sei: Fix infinite loop.
-
-Fixsot yet fixed parts of CVE-2011-3946.
-
-Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
-Upstream-Status: Backport
-
-Signed-off-by: Yue Tao <yue.tao@windriver.com>
-
----
- libavcodec/h264_sei.c | 4 ++++
- 1 files changed, 4 insertions(+), 0 deletions(-)
-
-
-diff --git a/libavcodec/h264_sei.c b/libavcodec/h264_sei.c
-index 374e53d..80d70e5 100644
---- a/gst-libs/ext/libav/libavcodec/h264_sei.c
-+++ b/gst-libs/ext/libav/libavcodec/h264_sei.c
-@@ -169,11 +169,15 @@ int ff_h264_decode_sei(H264Context *h){
-
- type=0;
- do{
-+ if (get_bits_left(&s->gb) < 8)
-+ return -1;
- type+= show_bits(&s->gb, 8);
- }while(get_bits(&s->gb, 8) == 255);
-
- size=0;
- do{
-+ if (get_bits_left(&s->gb) < 8)
-+ return -1;
- size+= show_bits(&s->gb, 8);
- }while(get_bits(&s->gb, 8) == 255);
-
---
-1.7.5.4
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-huffyuvdec-Check-init_vlc-return-codes.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-huffyuvdec-Check-init_vlc-return-codes.patch
deleted file mode 100644
index e859e443b..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-huffyuvdec-Check-init_vlc-return-codes.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From b666debffec1fcbb19ef377635a53b9a58bca8a4 Mon Sep 17 00:00:00 2001
-From: Michael Niedermayer <michaelni@gmx.at>
-Date: Tue, 29 Jan 2013 18:29:41 +0100
-Subject: [PATCH] huffyuvdec: Check init_vlc() return codes.
-
-Upstream-Status: Backport
-
-Commit b666debffec1fcbb19ef377635a53b9a58bca8a4 release/1.0
-
-Prevents out of array writes
-
-Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-(cherry picked from commit f67a0d115254461649470452058fa3c28c0df294)
-
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
----
- libavcodec/huffyuv.c | 14 ++++++++++----
- 1 file changed, 10 insertions(+), 4 deletions(-)
-
-diff --git a/libavcodec/huffyuv.c b/libavcodec/huffyuv.c
-index 58da789..993e524 100644
---- a/gst-libs/ext/libav/libavcodec/huffyuv.c
-+++ b/gst-libs/ext/libav/libavcodec/huffyuv.c
-@@ -33,6 +33,7 @@
- #include "put_bits.h"
- #include "dsputil.h"
- #include "thread.h"
-+#include "libavutil/avassert.h"
-
- #define VLC_BITS 11
-
-@@ -287,6 +287,7 @@ static void generate_joint_tables(HYuvCo
- int len1 = s->len[p][u];
- if (len1 > limit || !len1)
- continue;
-+ av_assert0(i < (1 << VLC_BITS));
- len[i] = len0 + len1;
- bits[i] = (s->bits[0][y] << len1) + s->bits[p][u];
- symbols[i] = (y<<8) + u;
-@@ -320,6 +321,7 @@ static void generate_joint_tables(HYuvCo
- int len2 = s->len[2][r&255];
- if (len2 > limit1 || !len2)
- continue;
-+ av_assert0(i < (1 << VLC_BITS));
- len[i] = len0 + len1 + len2;
- bits[i] = (code << len2) + s->bits[2][r&255];
- if(s->decorrelate){
-@@ -343,6 +345,7 @@ static void generate_joint_tables(HYuvCo
- static int read_huffman_tables(HYuvContext *s, const uint8_t *src, int length){
- GetBitContext gb;
- int i;
-+ int ret;
-
- init_get_bits(&gb, src, length*8);
-
-@@ -353,7 +356,9 @@ static int read_huffman_tables(HYuvConte
- return -1;
- }
- free_vlc(&s->vlc[i]);
-- init_vlc(&s->vlc[i], VLC_BITS, 256, s->len[i], 1, 1, s->bits[i], 4, 4, 0);
-+ if ((ret = init_vlc(&s->vlc[i], VLC_BITS, 256, s->len[i], 1, 1,
-+ s->bits[i], 4, 4, 0)) < 0)
-+ return ret;
- }
-
- generate_joint_tables(s);
-@@ -365,6 +370,7 @@ static int read_old_huffman_tables(HYuvC
- #if 1
- GetBitContext gb;
- int i;
-+ int ret;
-
- init_get_bits(&gb, classic_shift_luma, sizeof(classic_shift_luma)*8);
- if(read_len_table(s->len[0], &gb)<0)
-@@ -385,7 +391,9 @@ static int read_old_huffman_tables(HYuvC
-
- for(i=0; i<3; i++){
- free_vlc(&s->vlc[i]);
-- init_vlc(&s->vlc[i], VLC_BITS, 256, s->len[i], 1, 1, s->bits[i], 4, 4, 0);
-+ if ((ret = init_vlc(&s->vlc[i], VLC_BITS, 256, s->len[i], 1, 1,
-+ s->bits[i], 4, 4, 0)) < 0)
-+ return ret;
- }
-
- generate_joint_tables(s);
---
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-huffyuvdec-Skip-len-0-cases.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-huffyuvdec-Skip-len-0-cases.patch
deleted file mode 100644
index 94bf4b6fb..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-huffyuvdec-Skip-len-0-cases.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From db0f7f7394e1f994ed38db043f78ed0f10bde0da Mon Sep 17 00:00:00 2001
-From: Michael Niedermayer <michaelni@gmx.at>
-Date: Tue, 29 Jan 2013 19:22:33 +0100
-Subject: [PATCH] huffyuvdec: Skip len==0 cases
-
-Upstream-Status: Backport
-
-Commit db0f7f7394e1f994ed38db043f78ed0f10bde0da release/1.0
-
-Fixes vlc decoding for hypothetical files that would contain such cases.
-
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-(cherry picked from commit 0dfc01c2bbf4b71bb56201bc4a393321e15d1b31)
-
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
----
- libavcodec/huffyuv.c | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/libavcodec/huffyuv.c b/libavcodec/huffyuv.c
-index 993e524..72ed351 100644
---- a/gst-libs/ext/libav/libavcodec/huffyuv.c
-+++ b/gst-libs/ext/libav/libavcodec/huffyuv.c
-@@ -281,11 +281,11 @@ static void generate_joint_tables(HYuvCo
- for(i=y=0; y<256; y++){
- int len0 = s->len[0][y];
- int limit = VLC_BITS - len0;
-- if(limit <= 0)
-+ if(limit <= 0 || !len0)
- continue;
- for(u=0; u<256; u++){
- int len1 = s->len[p][u];
-- if(len1 > limit)
-+ if (len1 > limit || !len1)
- continue;
- len[i] = len0 + len1;
- bits[i] = (s->bits[0][y] << len1) + s->bits[p][u];
-@@ -308,17 +308,17 @@ static void generate_joint_tables(HYuvCo
- for(i=0, g=-16; g<16; g++){
- int len0 = s->len[p0][g&255];
- int limit0 = VLC_BITS - len0;
-- if(limit0 < 2)
-+ if (limit0 < 2 || !len0)
- continue;
- for(b=-16; b<16; b++){
- int len1 = s->len[p1][b&255];
- int limit1 = limit0 - len1;
-- if(limit1 < 1)
-+ if (limit1 < 1 || !len1)
- continue;
- code = (s->bits[p0][g&255] << len1) + s->bits[p1][b&255];
- for(r=-16; r<16; r++){
- int len2 = s->len[2][r&255];
-- if(len2 > limit1)
-+ if (len2 > limit1 || !len2)
- continue;
- len[i] = len0 + len1 + len2;
- bits[i] = (code << len2) + s->bits[2][r&255];
---
-1.8.5.2.233.g932f7e4
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-lavf-compute-probe-buffer-size-more-reliably.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-lavf-compute-probe-buffer-size-more-reliably.patch
deleted file mode 100644
index ea4aa222b..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-lavf-compute-probe-buffer-size-more-reliably.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-gst-ffmpeg: lavf: compute probe buffer size more reliably.
-
-The previous code computes the offset by reversing the growth
-of the allocated buffer size: it is complex and did lead to
-inconsistencies when the size limit is reached.
-
-Fix trac ticket #1991.
-(cherry picked from commit 03847eb8259291b4ff1bd840bd779d0699d71f96)
-
-Conflicts:
- libavformat/utils.c
-
-Upstream-Status: Backport
-
-Signed-off-by: Yue Tao <yue.tao@windriver.com>
-
----
- libavformat/utils.c | 4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/libavformat/utils.c b/libavformat/utils.c
-index 7940037..be73c4a 100644
---- a/gst-libs/ext/libav/libavformat/utils.c
-+++ b/gst-libs/ext/libav/libavformat/utils.c
-@@ -459,7 +459,7 @@ int av_probe_input_buffer(AVIOContext *pb, AVInputFormat **fmt,
- {
- AVProbeData pd = { filename ? filename : "", NULL, -offset };
- unsigned char *buf = NULL;
-- int ret = 0, probe_size;
-+ int ret = 0, probe_size, buf_offset = 0;
-
- if (!max_probe_size) {
- max_probe_size = PROBE_BUF_MAX;
-@@ -499,7 +499,7 @@ int av_probe_input_buffer(AVIOContext *pb, AVInputFormat **fmt,
- score = 0;
- ret = 0; /* error was end of file, nothing read */
- }
-- pd.buf_size += ret;
-+ pd.buf_size = buf_offset += ret;
- pd.buf = &buf[offset];
-
- memset(pd.buf + pd.buf_size, 0, AVPROBE_PADDING_SIZE);
---
-1.7.5.4
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-mjpegdec-check-SE.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-mjpegdec-check-SE.patch
deleted file mode 100644
index d90bafac9..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-mjpegdec-check-SE.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 1f41cffe1e3e79620f587545bdfcbd7e6e68ed29 Mon Sep 17 00:00:00 2001
-From: Michael Niedermayer <michaelni@gmx.at>
-Date: Sun, 11 Nov 2012 00:01:24 +0100
-Subject: [PATCH] mjpegdec: check SE.
-
-Upstream-Status: Backport
-
-Commit 1f41cffe1e3e79620f587545bdfcbd7e6e68ed29 release/1.1
-
-Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
----
- libavcodec/mjpegdec.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c
-index 6b5266d..0a71a6f 100644
---- a/gst-libs/ext/libav/libavcodec/mjpegdec.c
-+++ b/gst-libs/ext/libav/libavcodec/mjpegdec.c
-@@ -905,6 +905,11 @@ static int mjpeg_decode_scan_progressive
- int16_t *quant_matrix = s->quant_matrixes[ s->quant_index[c] ];
- GetBitContext mb_bitmask_gb;
-
-+ if (se > 63) {
-+ av_log(s->avctx, AV_LOG_ERROR, "SE %d is too large\n", se);
-+ return AVERROR_INVALIDDATA;
-+ }
-+
- if (mb_bitmask) {
- init_get_bits(&mb_bitmask_gb, mb_bitmask, s->mb_width*s->mb_height);
- }
---
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-pgssubdec-check-RLE-size-before-copying.-Fix-out-of-.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-pgssubdec-check-RLE-size-before-copying.-Fix-out-of-.patch
deleted file mode 100644
index 1041347c8..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-pgssubdec-check-RLE-size-before-copying.-Fix-out-of-.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 28bf685bfc6d0c744369cdf367f61a78d80d0b01 Mon Sep 17 00:00:00 2001
-From: Michael Niedermayer <michaelni@gmx.at>
-Date: Thu, 15 Nov 2012 16:41:28 +0100
-Subject: [PATCH] pgssubdec: check RLE size before copying. Fix out of array
- accesses
-
-Upstream-Status: Backport
-
-Commit 28bf685bfc6d0c744369cdf367f61a78d80d0b01 release/1.1
-
-Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-(cherry picked from commit c0d68be555f5858703383040e04fcd6529777061)
----
- libavcodec/pgssubdec.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/libavcodec/pgssubdec.c b/libavcodec/pgssubdec.c
-index 728f178..26a3c2a 100644
---- a/gst-libs/ext/libav/libavcodec/pgssubdec.c
-+++ b/gst-libs/ext/libav/libavcodec/pgssubdec.c
-@@ -202,6 +202,11 @@ static int parse_picture_segment(AVCodec
- return -1;
- }
-
-+ if (buf_size > rle_bitmap_len) {
-+ av_log(avctx, AV_LOG_ERROR, "too much RLE data\n");
-+ return AVERROR_INVALIDDATA;
-+ }
-+
- ctx->picture.w = width;
- ctx->picture.h = height;
-
---
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-pngdec-filter-dont-access-out-of-array-elements-at-t.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-pngdec-filter-dont-access-out-of-array-elements-at-t.patch
deleted file mode 100644
index 1e5fb7deb..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-pngdec-filter-dont-access-out-of-array-elements-at-t.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-gst-ffmpeg: pngdec/filter: dont access out of array elements at the end
-
-Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-
-Upstream-Status: Backport
-
-Signed-off-by: Yue Tao <yue.tao@windriver.com>
----
- libavcodec/pngdec.c | 12 ++++--------
- 1 files changed, 4 insertions(+), 8 deletions(-)
-
-diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c
-index 97c0ad1..193e35e 100644
---- a/gst-libs/ext/libav/libavcodec/pngdec.c
-+++ b/gst-libs/ext/libav/libavcodec/pngdec.c
-@@ -190,7 +190,7 @@ void ff_add_png_paeth_prediction(uint8_t *dst, uint8_t *src, uint8_t *top, int w
- if(bpp >= 2) g = dst[1];\
- if(bpp >= 3) b = dst[2];\
- if(bpp >= 4) a = dst[3];\
-- for(; i < size; i+=bpp) {\
-+ for(; i <= size - bpp; i+=bpp) {\
- dst[i+0] = r = op(r, src[i+0], last[i+0]);\
- if(bpp == 1) continue;\
- dst[i+1] = g = op(g, src[i+1], last[i+1]);\
-@@ -206,13 +206,9 @@ void ff_add_png_paeth_prediction(uint8_t *dst, uint8_t *src, uint8_t *top, int w
- else if(bpp == 2) UNROLL1(2, op)\
- else if(bpp == 3) UNROLL1(3, op)\
- else if(bpp == 4) UNROLL1(4, op)\
-- else {\
-- for (; i < size; i += bpp) {\
-- int j;\
-- for (j = 0; j < bpp; j++)\
-- dst[i+j] = op(dst[i+j-bpp], src[i+j], last[i+j]);\
-- }\
-- }
-+ for (; i < size; i++) {\
-+ dst[i] = op(dst[i-bpp], src[i], last[i]);\
-+ }\
-
- /* NOTE: 'dst' can be equal to 'last' */
- static void png_filter_row(PNGDSPContext *dsp, uint8_t *dst, int filter_type,
---
-1.7.5.4
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-qdm2-check-array-index-before-use-fix-out-of-array-a.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-qdm2-check-array-index-before-use-fix-out-of-array-a.patch
deleted file mode 100644
index 8c94232d6..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-qdm2-check-array-index-before-use-fix-out-of-array-a.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-gst-ffmpeg: qdm2: check array index before use, fix out of array
- accesses
-
-Upstream-Status: Backport
-
-Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
----
- libavcodec/qdm2.c | 5 +++++
- 1 files changed, 5 insertions(+), 0 deletions(-)
-
-diff --git a/libavcodec/qdm2.c b/libavcodec/qdm2.c
-index 4cf4b2f..1dfb8d5 100644
---- a/gst-libs/ext/libav/libavcodec/qdm2.c
-+++ b/gst-libs/ext/libav/libavcodec/qdm2.c
-@@ -1257,6 +1257,11 @@ static void qdm2_decode_super_block (QDM2Context *q)
- for (i = 0; packet_bytes > 0; i++) {
- int j;
-
-+ if (i>=FF_ARRAY_ELEMS(q->sub_packet_list_A)) {
-+ SAMPLES_NEEDED_2("too many packet bytes");
-+ return;
-+ }
-+
- q->sub_packet_list_A[i].next = NULL;
-
- if (i > 0) {
---
-1.7.5.4
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-qdm2dec-fix-buffer-overflow.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-qdm2dec-fix-buffer-overflow.patch
deleted file mode 100644
index 43ffc03a6..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-qdm2dec-fix-buffer-overflow.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-gst-ffmpeg: qdm2dec: fix buffer overflow. Fixes NGS00144
-
-This also adds a few lines of code from master that are needed for this fix.
-
-Thanks to Phillip for suggestions to improve the patch.
-Found-by: Phillip Langlois
-
-Upstream-Status: Backport
-
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
----
- libavcodec/qdm2.c | 9 +++++++--
- 1 files changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/libavcodec/qdm2.c b/libavcodec/qdm2.c
-index 3aa9e5b..e000df8 100644
---- a/gst-libs/ext/libav/libavcodec/qdm2.c
-+++ b/gst-libs/ext/libav/libavcodec/qdm2.c
-@@ -76,6 +76,7 @@ do { \
- #define SAMPLES_NEEDED_2(why) \
- av_log (NULL,AV_LOG_INFO,"This file triggers some missing code. Please contact the developers.\nPosition: %s\n",why);
-
-+#define QDM2_MAX_FRAME_SIZE 512
-
- typedef int8_t sb_int8_array[2][30][64];
-
-@@ -168,7 +169,7 @@ typedef struct {
- /// I/O data
- const uint8_t *compressed_data;
- int compressed_size;
-- float output_buffer[1024];
-+ float output_buffer[QDM2_MAX_FRAME_SIZE * MPA_MAX_CHANNELS * 2];
-
- /// Synthesis filter
- MPADSPContext mpadsp;
-@@ -1819,6 +1820,9 @@ static av_cold int qdm2_decode_init(AVCodecContext *avctx)
- s->group_order = av_log2(s->group_size) + 1;
- s->frame_size = s->group_size / 16; // 16 iterations per super block
-
-+ if (s->frame_size > QDM2_MAX_FRAME_SIZE)
-+ return AVERROR_INVALIDDATA;
-+
- s->sub_sampling = s->fft_order - 7;
- s->frequency_range = 255 / (1 << (2 - s->sub_sampling));
-
-@@ -1887,6 +1891,9 @@ static int qdm2_decode (QDM2Context *q, const uint8_t *in, int16_t *out)
- int ch, i;
- const int frame_size = (q->frame_size * q->channels);
-
-+ if((unsigned)frame_size > FF_ARRAY_ELEMS(q->output_buffer)/2)
-+ return -1;
-+
- /* select input buffer */
- q->compressed_data = in;
- q->compressed_size = q->checksum_size;
---
-1.7.5.4
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-roqvideodec-check-dimensions-validity.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-roqvideodec-check-dimensions-validity.patch
deleted file mode 100644
index 7e58afcf6..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-roqvideodec-check-dimensions-validity.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 391e0fc6c90ced6656b74f50f3a487b6dc76ea63 Mon Sep 17 00:00:00 2001
-From: Michael Niedermayer <michaelni@gmx.at>
-Date: Thu, 29 Nov 2012 15:18:17 +0100
-Subject: [PATCH] roqvideodec: check dimensions validity
-
-Upstream-Status: Backport
-
-Commit 391e0fc6c90ced6656b74f50f3a487b6dc76ea63 release/0.7
-
-Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-(cherry picked from commit 3ae610451170cd5a28b33950006ff0bd23036845)
-
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
----
- libavcodec/roqvideodec.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/libavcodec/roqvideodec.c b/libavcodec/roqvideodec.c
-index f0977f6..4e34231 100644
---- a/gst-libs/ext/libav/libavcodec/roqvideodec.c
-+++ b/gst-libs/ext/libav/libavcodec/roqvideodec.c
-@@ -157,6 +157,12 @@ static av_cold int roq_decode_init(AVCodecContext *avctx)
- RoqContext *s = avctx->priv_data;
-
- s->avctx = avctx;
-+
-+ if (avctx->width%16 || avctx->height%16) {
-+ av_log_ask_for_sample(avctx, "dimensions not being a multiple of 16 are unsupported\n");
-+ return AVERROR_PATCHWELCOME;
-+ }
-+
- s->width = avctx->width;
- s->height = avctx->height;
- avcodec_get_frame_defaults(&s->frames[0]);
---
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-smackerdec-Check-that-the-last-indexes-are-within-th.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-smackerdec-Check-that-the-last-indexes-are-within-th.patch
deleted file mode 100644
index 15b161469..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-smackerdec-Check-that-the-last-indexes-are-within-th.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-gst-ffmpeg: smackerdec: Check that the last indexes are within the
- table.
-
-Fixes CVE-2011-3944
-
-Upstream-Status: Backport
-
-Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
----
- libavcodec/smacker.c | 5 +++++
- 1 files changed, 5 insertions(+), 0 deletions(-)
-
-diff --git a/libavcodec/smacker.c b/libavcodec/smacker.c
-index 30f99b4..2a8bae8 100644
---- a/gst-libs/ext/libav/libavcodec/smacker.c
-+++ b/gst-libs/ext/libav/libavcodec/smacker.c
-@@ -259,6 +259,11 @@ static int smacker_decode_header_tree(SmackVContext *smk, GetBitContext *gb, int
- if(ctx.last[0] == -1) ctx.last[0] = huff.current++;
- if(ctx.last[1] == -1) ctx.last[1] = huff.current++;
- if(ctx.last[2] == -1) ctx.last[2] = huff.current++;
-+ if(huff.current > huff.length){
-+ ctx.last[0] = ctx.last[1] = ctx.last[2] = 1;
-+ av_log(smk->avctx, AV_LOG_ERROR, "bigtree damaged\n");
-+ return -1;
-+ }
-
- *recodes = huff.values;
-
---
-1.7.5.4
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-vp3-Copy-all-3-frames-for-thread-updates.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-vp3-Copy-all-3-frames-for-thread-updates.patch
deleted file mode 100644
index a1989cfea..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-vp3-Copy-all-3-frames-for-thread-updates.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-gst-ffmpeg: vp3: Copy all 3 frames for thread updates.
-
-This fixes a double release of the current frame on deinit.
-Fixes CVE-2011-3934
-
-Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
-Upstream-Status: Backport
-
-Signed-off-by: Yue.Tao <yue.tao@windriver.com>
-
----
- libavcodec/vp3.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c
-index 738ae9f..b5daafc 100644
---- a/gst-libs/ext/libav/libavcodec/vp3.c
-+++ b/gst-libs/ext/libav/libavcodec/vp3.c
-@@ -1859,7 +1859,7 @@ static int vp3_update_thread_context(AVCodecContext *dst, const AVCodecContext *
- ||s->width != s1->width
- ||s->height!= s1->height) {
- if (s != s1)
-- copy_fields(s, s1, golden_frame, current_frame);
-+ copy_fields(s, s1, golden_frame, keyframe);
- return -1;
- }
-
---
-1.7.5.4
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-vp3-fix-oob-read-for-negative-tokens-and-memleaks-on.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-vp3-fix-oob-read-for-negative-tokens-and-memleaks-on.patch
deleted file mode 100644
index e83d8f402..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-vp3-fix-oob-read-for-negative-tokens-and-memleaks-on.patch
+++ /dev/null
@@ -1,183 +0,0 @@
-gst-ffmpeg: vp3: fix oob read for negative tokens and memleaks on error.
-
-Upstream-Status: Backport
-
-Signed-off-by: Yue.Tao <yue.tao@windriver.com>
-
----
- libavcodec/vp3.c | 59 +++++++++++++++++++++++++++++++++++++++++------------
- 1 files changed, 45 insertions(+), 14 deletions(-)
-
-diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c
-index 36715bb..ce14e63 100644
---- a/gst-libs/ext/libav/libavcodec/vp3.c
-+++ b/gst-libs/ext/libav/libavcodec/vp3.c
-@@ -45,6 +45,7 @@
- #define FRAGMENT_PIXELS 8
-
- static av_cold int vp3_decode_end(AVCodecContext *avctx);
-+static void vp3_decode_flush(AVCodecContext *avctx);
-
- //FIXME split things out into their own arrays
- typedef struct Vp3Fragment {
-@@ -890,7 +891,7 @@ static int unpack_vlcs(Vp3DecodeContext *s, GetBitContext *gb,
- /* decode a VLC into a token */
- token = get_vlc2(gb, vlc_table, 11, 3);
- /* use the token to get a zero run, a coefficient, and an eob run */
-- if (token <= 6) {
-+ if ((unsigned) token <= 6U) {
- eob_run = eob_run_base[token];
- if (eob_run_get_bits[token])
- eob_run += get_bits(gb, eob_run_get_bits[token]);
-@@ -908,7 +909,7 @@ static int unpack_vlcs(Vp3DecodeContext *s, GetBitContext *gb,
- coeff_i += eob_run;
- eob_run = 0;
- }
-- } else {
-+ } else if (token >= 0) {
- bits_to_get = coeff_get_bits[token];
- if (bits_to_get)
- bits_to_get = get_bits(gb, bits_to_get);
-@@ -942,6 +943,10 @@ static int unpack_vlcs(Vp3DecodeContext *s, GetBitContext *gb,
- for (i = coeff_index+1; i <= coeff_index+zero_run; i++)
- s->num_coded_frags[plane][i]--;
- coeff_i++;
-+ } else {
-+ av_log(s->avctx, AV_LOG_ERROR,
-+ "Invalid token %d\n", token);
-+ return -1;
- }
- }
-
-@@ -991,6 +996,8 @@ static int unpack_dct_coeffs(Vp3DecodeContext *s, GetBitContext *gb)
- /* unpack the Y plane DC coefficients */
- residual_eob_run = unpack_vlcs(s, gb, &s->dc_vlc[dc_y_table], 0,
- 0, residual_eob_run);
-+ if (residual_eob_run < 0)
-+ return residual_eob_run;
-
- /* reverse prediction of the Y-plane DC coefficients */
- reverse_dc_prediction(s, 0, s->fragment_width[0], s->fragment_height[0]);
-@@ -998,8 +1005,12 @@ static int unpack_dct_coeffs(Vp3DecodeContext *s, GetBitContext *gb)
- /* unpack the C plane DC coefficients */
- residual_eob_run = unpack_vlcs(s, gb, &s->dc_vlc[dc_c_table], 0,
- 1, residual_eob_run);
-+ if (residual_eob_run < 0)
-+ return residual_eob_run;
- residual_eob_run = unpack_vlcs(s, gb, &s->dc_vlc[dc_c_table], 0,
- 2, residual_eob_run);
-+ if (residual_eob_run < 0)
-+ return residual_eob_run;
-
- /* reverse prediction of the C-plane DC coefficients */
- if (!(s->avctx->flags & CODEC_FLAG_GRAY))
-@@ -1036,11 +1047,17 @@ static int unpack_dct_coeffs(Vp3DecodeContext *s, GetBitContext *gb)
- for (i = 1; i <= 63; i++) {
- residual_eob_run = unpack_vlcs(s, gb, y_tables[i], i,
- 0, residual_eob_run);
-+ if (residual_eob_run < 0)
-+ return residual_eob_run;
-
- residual_eob_run = unpack_vlcs(s, gb, c_tables[i], i,
- 1, residual_eob_run);
-+ if (residual_eob_run < 0)
-+ return residual_eob_run;
- residual_eob_run = unpack_vlcs(s, gb, c_tables[i], i,
- 2, residual_eob_run);
-+ if (residual_eob_run < 0)
-+ return residual_eob_run;
- }
-
- return 0;
-@@ -1777,10 +1794,15 @@ static int vp3_update_thread_context(AVCodecContext *dst, const AVCodecContext *
- Vp3DecodeContext *s = dst->priv_data, *s1 = src->priv_data;
- int qps_changed = 0, i, err;
-
-+#define copy_fields(to, from, start_field, end_field) memcpy(&to->start_field, &from->start_field, (char*)&to->end_field - (char*)&to->start_field)
-+
- if (!s1->current_frame.data[0]
- ||s->width != s1->width
-- ||s->height!= s1->height)
-+ ||s->height!= s1->height) {
-+ if (s != s1)
-+ copy_fields(s, s1, golden_frame, current_frame);
- return -1;
-+ }
-
- if (s != s1) {
- // init tables if the first frame hasn't been decoded
-@@ -1796,8 +1818,6 @@ static int vp3_update_thread_context(AVCodecContext *dst, const AVCodecContext *
- memcpy(s->motion_val[1], s1->motion_val[1], c_fragment_count * sizeof(*s->motion_val[1]));
- }
-
--#define copy_fields(to, from, start_field, end_field) memcpy(&to->start_field, &from->start_field, (char*)&to->end_field - (char*)&to->start_field)
--
- // copy previous frame data
- copy_fields(s, s1, golden_frame, dsp);
-
-@@ -1987,9 +2007,6 @@ static av_cold int vp3_decode_end(AVCodecContext *avctx)
- Vp3DecodeContext *s = avctx->priv_data;
- int i;
-
-- if (avctx->is_copy && !s->current_frame.data[0])
-- return 0;
--
- av_free(s->superblock_coding);
- av_free(s->all_fragments);
- av_free(s->coded_fragment_list[0]);
-@@ -2016,12 +2033,7 @@ static av_cold int vp3_decode_end(AVCodecContext *avctx)
- free_vlc(&s->motion_vector_vlc);
-
- /* release all frames */
-- if (s->golden_frame.data[0])
-- ff_thread_release_buffer(avctx, &s->golden_frame);
-- if (s->last_frame.data[0] && s->last_frame.type != FF_BUFFER_TYPE_COPY)
-- ff_thread_release_buffer(avctx, &s->last_frame);
-- /* no need to release the current_frame since it will always be pointing
-- * to the same frame as either the golden or last frame */
-+ vp3_decode_flush(avctx);
-
- return 0;
- }
-@@ -2341,6 +2353,23 @@ static void vp3_decode_flush(AVCodecContext *avctx)
- ff_thread_release_buffer(avctx, &s->current_frame);
- }
-
-+static int vp3_init_thread_copy(AVCodecContext *avctx)
-+{
-+ Vp3DecodeContext *s = avctx->priv_data;
-+
-+ s->superblock_coding = NULL;
-+ s->all_fragments = NULL;
-+ s->coded_fragment_list[0] = NULL;
-+ s->dct_tokens_base = NULL;
-+ s->superblock_fragments = NULL;
-+ s->macroblock_coding = NULL;
-+ s->motion_val[0] = NULL;
-+ s->motion_val[1] = NULL;
-+ s->edge_emu_buffer = NULL;
-+
-+ return 0;
-+}
-+
- AVCodec ff_theora_decoder = {
- .name = "theora",
- .type = AVMEDIA_TYPE_VIDEO,
-@@ -2352,6 +2381,7 @@ AVCodec ff_theora_decoder = {
- .capabilities = CODEC_CAP_DR1 | CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_FRAME_THREADS,
- .flush = vp3_decode_flush,
- .long_name = NULL_IF_CONFIG_SMALL("Theora"),
-+ .init_thread_copy = ONLY_IF_THREADS_ENABLED(vp3_init_thread_copy),
- .update_thread_context = ONLY_IF_THREADS_ENABLED(vp3_update_thread_context)
- };
- #endif
-@@ -2367,5 +2397,6 @@ AVCodec ff_vp3_decoder = {
- .capabilities = CODEC_CAP_DR1 | CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_FRAME_THREADS,
- .flush = vp3_decode_flush,
- .long_name = NULL_IF_CONFIG_SMALL("On2 VP3"),
-+ .init_thread_copy = ONLY_IF_THREADS_ENABLED(vp3_init_thread_copy),
- .update_thread_context = ONLY_IF_THREADS_ENABLED(vp3_update_thread_context)
- };
---
-1.7.5.4
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-vqavideo-check-chunk-sizes-before-reading-chunks.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-vqavideo-check-chunk-sizes-before-reading-chunks.patch
deleted file mode 100644
index 7e4f68216..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-vqavideo-check-chunk-sizes-before-reading-chunks.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 2cac35086c9e103fa98960c546d5017e7363803a Mon Sep 17 00:00:00 2001
-From: Michael Niedermayer <michaelni@gmx.at>
-Date: Fri, 25 Jan 2013 06:11:59 +0100
-Subject: [PATCH] vqavideo: check chunk sizes before reading chunks
-
-Upstream-Status: Backport
-
-Commit 2cac35086c9e103fa98960c546d5017e7363803a release/0.7
-
-Fixes out of array writes
-
-Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-(cherry picked from commit ab6c9332bfa1e20127a16392a0b85a4aa4840889)
-
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
----
- libavcodec/vqavideo.c | 10 ++++++++++
- 1 files changed, 10 insertions(+), 0 deletions(-)
-
-diff --git a/libavcodec/vqavideo.c b/libavcodec/vqavideo.c
-index d1eab5b..6e1ce6c 100644
---- a/gst-libs/ext/libav/libavcodec/vqavideo.c
-+++ b/gst-libs/ext/libav/libavcodec/vqavideo.c
-@@ -527,6 +527,11 @@ static void vqa_decode_chunk(VqaContext *s)
- chunk_size = AV_RB32(&s->buf[cbp0_chunk + 4]);
- cbp0_chunk += CHUNK_PREAMBLE_SIZE;
-
-+ if (chunk_size > MAX_CODEBOOK_SIZE - s->next_codebook_buffer_index) {
-+ av_log(s->avctx, AV_LOG_ERROR, "cbp0 chunk too large (0x%X bytes)\n", chunk_size);
-+ return AVERROR_INVALIDDATA;
-+ }
-+
- /* accumulate partial codebook */
- memcpy(&s->next_codebook_buffer[s->next_codebook_buffer_index],
- &s->buf[cbp0_chunk], chunk_size);
-@@ -550,6 +555,11 @@ static void vqa_decode_chunk(VqaContext *s)
- chunk_size = AV_RB32(&s->buf[cbpz_chunk + 4]);
- cbpz_chunk += CHUNK_PREAMBLE_SIZE;
-
-+ if (chunk_size > MAX_CODEBOOK_SIZE - s->next_codebook_buffer_index) {
-+ av_log(s->avctx, AV_LOG_ERROR, "cbpz chunk too large (0x%X bytes)\n", chunk_size);
-+ return AVERROR_INVALIDDATA;
-+ }
-+
- /* accumulate partial codebook */
- memcpy(&s->next_codebook_buffer[s->next_codebook_buffer_index],
- &s->buf[cbpz_chunk], chunk_size);
---
-1.7.5.4
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0002-avcodec-mjpegdec-check-bits-per-pixel-for-changes-si.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0002-avcodec-mjpegdec-check-bits-per-pixel-for-changes-si.patch
deleted file mode 100644
index c8bafd570..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0002-avcodec-mjpegdec-check-bits-per-pixel-for-changes-si.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 6043c431c97d55173f339fafbd033d3c0642e2e9 Mon Sep 17 00:00:00 2001
-From: Michael Niedermayer <michaelni@gmx.at>
-Date: Fri, 3 Oct 2014 01:50:27 +0200
-Subject: [PATCH 2/2] avcodec/mjpegdec: check bits per pixel for changes
- similar to dimensions
-
-Upstream-Status: Backport
-
-Fixes out of array accesses
-Fixes: asan_heap-oob_16668e9_2_asan_heap-oob_16668e9_346_miss_congeniality_pegasus_mjpg.avi
-
-Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
-Conflicts:
- libavcodec/mjpegdec.c
----
- libavcodec/mjpegdec.c | 15 ++++++++-------
- 1 file changed, 8 insertions(+), 7 deletions(-)
-
-diff --git a/gst-libs/ext/libav/libavcodec/mjpegdec.c b/gst-libs/ext/libav/libavcodec/mjpegdec.c
-index 84343c0..c0137d8 100644
---- a/gst-libs/ext/libav/libavcodec/mjpegdec.c
-+++ b/gst-libs/ext/libav/libavcodec/mjpegdec.c
-@@ -210,16 +210,16 @@ int ff_mjpeg_decode_dht(MJpegDecodeContext *s)
-
- int ff_mjpeg_decode_sof(MJpegDecodeContext *s)
- {
-- int len, nb_components, i, width, height, pix_fmt_id;
-+ int len, nb_components, i, bits, width, height, pix_fmt_id;
-
- /* XXX: verify len field validity */
- len = get_bits(&s->gb, 16);
-- s->bits= get_bits(&s->gb, 8);
-+ bits= get_bits(&s->gb, 8);
-
-- if(s->pegasus_rct) s->bits=9;
-- if(s->bits==9 && !s->pegasus_rct) s->rct=1; //FIXME ugly
-+ if(s->pegasus_rct) bits=9;
-+ if(bits==9 && !s->pegasus_rct) s->rct=1; //FIXME ugly
-
-- if (s->bits != 8 && !s->lossless){
-+ if (bits != 8 && !s->lossless){
- av_log(s->avctx, AV_LOG_ERROR, "only 8 bits/component accepted\n");
- return -1;
- }
-@@ -239,7 +239,7 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s)
- if (nb_components <= 0 ||
- nb_components > MAX_COMPONENTS)
- return -1;
-- if (s->ls && !(s->bits <= 8 || nb_components == 1)){
-+ if (s->ls && !(bits <= 8 || nb_components == 1)){
- av_log(s->avctx, AV_LOG_ERROR, "only <= 8 bits/component or 16-bit gray accepted for JPEG-LS\n");
- return -1;
- }
-@@ -272,10 +272,11 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s)
-
- /* if different size, realloc/alloc picture */
- /* XXX: also check h_count and v_count */
-- if (width != s->width || height != s->height) {
-+ if (width != s->width || height != s->height || bits != s->bits) {
- av_freep(&s->qscale_table);
-
- s->width = width;
-+ s->bits= bits;
- s->height = height;
- s->interlaced = 0;
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/configure-fix.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/configure-fix.patch
deleted file mode 100644
index 9ef6f7c4b..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/configure-fix.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Disable yasm for libav when --disable-yasm
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Shane Wang <shane.wang@intel.com>
-
-diff -r f2f8f74c6e30 configure.ac
---- a/configure.ac Thu Dec 22 23:56:09 2011 +0800
-+++ b/configure.ac Thu Dec 22 23:57:37 2011 +0800
-@@ -325,6 +325,12 @@
- --enable-gpl"
- fi
-
-+ AC_ARG_ENABLE(yasm,
-+ [AC_HELP_STRING([--disable-yasm], [disable use of yasm assembler])])
-+ if test "x$enable_yasm" = "xno"; then
-+ embffmpeg_configure_args="$embffmpeg_configure_args --disable-yasm"
-+ fi
-+
- # if we are cross-compiling, tell ffmpeg so
- target_os=`echo $host_os | sed 's/-gnu//'`
- if test "x$cross_compiling" = xyes; then
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-CVE-2013-0855.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-CVE-2013-0855.patch
deleted file mode 100644
index 3c8d8e353..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-CVE-2013-0855.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-gst-ffmpeg: Security Advisory - ffmpeg - CVE-2013-0855
-
-Upstream-Status: Backport
-
-Signed-off-by: Yue Tao <yue.tao@windriver.com>
-
-diff --git a/gst-libs/ext/libav/libavcodec/alac.c.old b/gst-libs/ext/libav/libavcodec/alac.c
-index 2a0df8c..bcbd56d 100644
---- a/gst-libs/ext/libav/libavcodec/alac.c.old
-+++ b/gst-libs/ext/libav/libavcodec/alac.c
-@@ -87,18 +87,44 @@ typedef struct {
- int wasted_bits;
- } ALACContext;
-
--static void allocate_buffers(ALACContext *alac)
-+static av_cold int alac_decode_close(AVCodecContext *avctx)
-+{
-+ ALACContext *alac = avctx->priv_data;
-+
-+ int chan;
-+ for (chan = 0; chan < MAX_CHANNELS; chan++) {
-+ av_freep(&alac->predicterror_buffer[chan]);
-+ av_freep(&alac->outputsamples_buffer[chan]);
-+ av_freep(&alac->wasted_bits_buffer[chan]);
-+ }
-+
-+ return 0;
-+}
-+
-+static int allocate_buffers(ALACContext *alac)
- {
- int chan;
-+ int buf_size;
-+
-+ if (alac->setinfo_max_samples_per_frame > INT_MAX / sizeof(int32_t))
-+ goto buf_alloc_fail;
-+ buf_size = alac->setinfo_max_samples_per_frame * sizeof(int32_t);
-+
- for (chan = 0; chan < MAX_CHANNELS; chan++) {
-- alac->predicterror_buffer[chan] =
-- av_malloc(alac->setinfo_max_samples_per_frame * 4);
-
-- alac->outputsamples_buffer[chan] =
-- av_malloc(alac->setinfo_max_samples_per_frame * 4);
-+ FF_ALLOC_OR_GOTO(alac->avctx, alac->predicterror_buffer[chan],
-+ buf_size, buf_alloc_fail);
-
-- alac->wasted_bits_buffer[chan] = av_malloc(alac->setinfo_max_samples_per_frame * 4);
-+ FF_ALLOC_OR_GOTO(alac->avctx, alac->outputsamples_buffer[chan],
-+ buf_size, buf_alloc_fail);
-+
-+ FF_ALLOC_OR_GOTO(alac->avctx, alac->wasted_bits_buffer[chan],
-+ buf_size, buf_alloc_fail);
- }
-+ return 0;
-+buf_alloc_fail:
-+ alac_decode_close(alac->avctx);
-+ return AVERROR(ENOMEM);
- }
-
- static int alac_set_info(ALACContext *alac)
-@@ -131,8 +157,6 @@ static int alac_set_info(ALACContext *alac)
- bytestream_get_be32(&ptr); /* bitrate ? */
- bytestream_get_be32(&ptr); /* samplerate */
-
-- allocate_buffers(alac);
--
- return 0;
- }
-
-@@ -659,6 +683,7 @@ static int alac_decode_frame(AVCodecContext *avctx,
-
- static av_cold int alac_decode_init(AVCodecContext * avctx)
- {
-+ int ret;
- ALACContext *alac = avctx->priv_data;
- alac->avctx = avctx;
- alac->numchannels = alac->avctx->channels;
-@@ -674,18 +699,9 @@ static av_cold int alac_decode_init(AVCodecContext * avctx)
- return -1;
- }
-
-- return 0;
--}
--
--static av_cold int alac_decode_close(AVCodecContext *avctx)
--{
-- ALACContext *alac = avctx->priv_data;
--
-- int chan;
-- for (chan = 0; chan < MAX_CHANNELS; chan++) {
-- av_freep(&alac->predicterror_buffer[chan]);
-- av_freep(&alac->outputsamples_buffer[chan]);
-- av_freep(&alac->wasted_bits_buffer[chan]);
-+ if ((ret = allocate_buffers(alac)) < 0) {
-+ av_log(avctx, AV_LOG_ERROR, "Error allocating buffers\n");
-+ return ret;
- }
-
- return 0;
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-CVE-2013-3674.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-CVE-2013-3674.patch
deleted file mode 100644
index aa385f54c..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-CVE-2013-3674.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-avcodec/cdgraphics: check buffer size before use
-
-Fixes out of array accesses
-
-Backported from:http://git.videolan.org/?p=ffmpeg.git;a=commit;h=ad002e1a13a8df934bd6cb2c84175a4780ab8942
-
-Upstream-Status: Backport
-
-Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-Signed-off-by: Ming Liu <ming.liu@windriver.com>
-
-diff -urpN a/gst-libs/ext/libav/libavcodec/cdgraphics.c b/gst-libs/ext/libav/libavcodec/cdgraphics.c
---- a/gst-libs/ext/libav/libavcodec/cdgraphics.c 2013-07-18 13:17:08.399876575 +0800
-+++ b/gst-libs/ext/libav/libavcodec/cdgraphics.c 2013-07-18 13:18:05.880502267 +0800
-@@ -291,7 +291,9 @@ static int cdg_decode_frame(AVCodecConte
- inst = bytestream_get_byte(&buf);
- inst &= CDG_MASK;
- buf += 2; /// skipping 2 unneeded bytes
-- bytestream_get_buffer(&buf, cdg_data, buf_size - CDG_HEADER_SIZE);
-+
-+ if (buf_size > CDG_HEADER_SIZE)
-+ bytestream_get_buffer(&buf, cdg_data, buf_size - CDG_HEADER_SIZE);
-
- if ((command & CDG_MASK) == CDG_COMMAND) {
- switch (inst) {
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2011-4352.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2011-4352.patch
deleted file mode 100644
index 90f3fd031..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2011-4352.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 8b94df0f2047e9728cb872adc9e64557b7a5152f Mon Sep 17 00:00:00 2001
-From: Reinhard Tartler <siretart@tauware.de>
-Date: Sun, 4 Dec 2011 10:10:33 +0100
-Subject: [PATCH] vp3dec: Check coefficient index in vp3_dequant()
-
-Based on a patch by Michael Niedermayer <michaelni@gmx.at>
-
-Fixes NGS00145, CVE-2011-4352
-
-Found-by: Phillip Langlois
-Signed-off-by: Reinhard Tartler <siretart@tauware.de>
-
-
-Upstream-Status: Backport
-
-http://git.videolan.org/?p=ffmpeg.git;a=commit;h=8b94df0f2047e9728cb872adc9e64557b7a5152f
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
- libavcodec/vp3.c | 14 ++++++++++++--
- 1 file changed, 12 insertions(+), 2 deletions(-)
-
-diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c
-index 51ab048..f44d084 100644
---- a/gst-libs/ext/libav/libavcodec/vp3.c
-+++ b/gst-libs/ext/libav/libavcodec/vp3.c
-@@ -1363,6 +1363,10 @@ static inline int vp3_dequant(Vp3DecodeContext *s, Vp3Fragment *frag,
- case 1: // zero run
- s->dct_tokens[plane][i]++;
- i += (token >> 2) & 0x7f;
-+ if (i > 63) {
-+ av_log(s->avctx, AV_LOG_ERROR, "Coefficient index overflow\n");
-+ return i;
-+ }
- block[perm[i]] = (token >> 9) * dequantizer[perm[i]];
- i++;
- break;
-@@ -1566,7 +1570,10 @@ static void render_slice(Vp3DecodeContext *s, int slice)
- /* invert DCT and place (or add) in final output */
-
- if (s->all_fragments[i].coding_method == MODE_INTRA) {
-- vp3_dequant(s, s->all_fragments + i, plane, 0, block);
-+ int index;
-+ index = vp3_dequant(s, s->all_fragments + i, plane, 0, block);
-+ if (index > 63)
-+ continue;
- if(s->avctx->idct_algo!=FF_IDCT_VP3)
- block[0] += 128<<3;
- s->dsp.idct_put(
-@@ -1574,7 +1581,10 @@ static void render_slice(Vp3DecodeContext *s, int slice)
- stride,
- block);
- } else {
-- if (vp3_dequant(s, s->all_fragments + i, plane, 1, block)) {
-+ int index = vp3_dequant(s, s->all_fragments + i, plane, 1, block);
-+ if (index > 63)
-+ continue;
-+ if (index > 0) {
- s->dsp.idct_add(
- output_plane + first_pixel,
- stride,
---
-2.1.1
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-7933.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-7933.patch
deleted file mode 100644
index 3c537c77a..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-7933.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 2266b8bc3370856d874334ba62b337ce4f1eb255 Mon Sep 17 00:00:00 2001
-From: Kai Kang <kai.kang@windriver.com>
-Date: Wed, 13 May 2015 16:46:06 +0800
-Subject: [PATCH 2/2] gst-ffmpeg: fix CVE-2014-7933
-
-Upstream-Status: Backport
-
-http://git.videolan.org/?p=ffmpeg.git;a=commit;h=33301f00
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
- gst-libs/ext/libav/libavformat/matroskadec.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/gst-libs/ext/libav/libavformat/matroskadec.c b/gst-libs/ext/libav/libavformat/matroskadec.c
-index 59dce4f..e5f5fc1 100644
---- a/gst-libs/ext/libav/libavformat/matroskadec.c
-+++ b/gst-libs/ext/libav/libavformat/matroskadec.c
-@@ -1916,7 +1916,7 @@ static int matroska_read_seek(AVFormatContext *s, int stream_index,
- int64_t timestamp, int flags)
- {
- MatroskaDemuxContext *matroska = s->priv_data;
-- MatroskaTrack *tracks = matroska->tracks.elem;
-+ MatroskaTrack *tracks = NULL;
- AVStream *st = s->streams[stream_index];
- int i, index, index_sub, index_min;
-
-@@ -1939,6 +1939,7 @@ static int matroska_read_seek(AVFormatContext *s, int stream_index,
- return 0;
-
- index_min = index;
-+ tracks = matroska->tracks.elem;
- for (i=0; i < matroska->tracks.nb_elem; i++) {
- tracks[i].audio.pkt_cnt = 0;
- tracks[i].audio.sub_packet_cnt = 0;
---
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8542.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8542.patch
deleted file mode 100644
index ca47c814c..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8542.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 105654e376a736d243aef4a1d121abebce912e6b Mon Sep 17 00:00:00 2001
-From: Michael Niedermayer <michaelni@gmx.at>
-Date: Fri, 3 Oct 2014 04:30:58 +0200
-Subject: [PATCH] avcodec/utils: Add case for jv to
- avcodec_align_dimensions2()
-
-(Upstream commit 105654e376a736d243aef4a1d121abebce912e6b)
-
-Fixes out of array accesses
-Fixes: asan_heap-oob_12304aa_8_asan_heap-oob_4da4f3_300_intro.jv
-
-Upstream-Status: Backport
-
-Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-Signed-off-by: Yue Tao <yue.tao@windriver.com>
----
- libavcodec/utils.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/libavcodec/utils.c b/libavcodec/utils.c
-index d4f5532..c2c5579 100644
---- a/gst-libs/ext/libav/libavcodec/utils.c
-+++ b/gst-libs/ext/libav/libavcodec/utils.c
-@@ -173,6 +173,10 @@ void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height, int l
- w_align=4;
- h_align=4;
- }
-+ if (s->codec_id == CODEC_ID_JV){
-+ w_align = 8;
-+ h_align = 8;
-+ }
- break;
- case PIX_FMT_BGR24:
- if((s->codec_id == CODEC_ID_MSZH) || (s->codec_id == CODEC_ID_ZLIB)){
---
-1.7.9.5
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8543.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8543.patch
deleted file mode 100644
index b65e55fc1..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8543.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 8b0e96e1f21b761ca15dbb470cd619a1ebf86c3e Mon Sep 17 00:00:00 2001
-From: Michael Niedermayer <michaelni@gmx.at>
-Date: Fri, 3 Oct 2014 14:45:04 +0200
-Subject: [PATCH] avcodec/mmvideo: Bounds check 2nd line of HHV Intra blocks
-
-(Upstream commit 8b0e96e1f21b761ca15dbb470cd619a1ebf86c3e)
-
-Fixes out of array access
-Fixes: asan_heap-oob_4da4f3_8_asan_heap-oob_4da4f3_419_scene1a.mm
-
-Upstream-Status: Backport
-
-Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-Signed-off-by: Yue Tao <yue.tao@windriver.com>
----
- libavcodec/mmvideo.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libavcodec/mmvideo.c b/libavcodec/mmvideo.c
-index 026d463..9ff6393 100644
---- a/gst-libs/ext/libav/libavcodec/mmvideo.c
-+++ b/gst-libs/ext/libav/libavcodec/mmvideo.c
-@@ -104,7 +104,7 @@ static void mm_decode_intra(MmContext * s, int half_horiz, int half_vert, const
-
- if (color) {
- memset(s->frame.data[0] + y*s->frame.linesize[0] + x, color, run_length);
-- if (half_vert)
-+ if (half_vert && y + half_vert < s->avctx->height)
- memset(s->frame.data[0] + (y+1)*s->frame.linesize[0] + x, color, run_length);
- }
- x+= run_length;
---
-1.7.9.5
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8544.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8544.patch
deleted file mode 100644
index a124e3a12..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8544.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From e1c0cfaa419aa5d320540d5a1b3f8fd9b82ab7e5 Mon Sep 17 00:00:00 2001
-From: Michael Niedermayer <michaelni@gmx.at>
-Date: Fri, 3 Oct 2014 16:08:32 +0200
-Subject: [PATCH] avcodec/tiff: more completely check bpp/bppcount
-
-(Upstream commit e1c0cfaa419aa5d320540d5a1b3f8fd9b82ab7e5)
-
-Fixes pixel format selection
-Fixes out of array accesses
-Fixes: asan_heap-oob_1766029_6_asan_heap-oob_20aa045_332_cov_1823216757_m2-d1d366d7965db766c19a66c7a2ccbb6b.tif
-
-Upstream-Status: Backport
-
-Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-Signed-off-by: Yue Tao <yue.tao@windriver.com>
----
- libavcodec/tiff.c | 13 ++++++++++---
- 1 file changed, 10 insertions(+), 3 deletions(-)
-
-diff --git a/libavcodec/tiff.c b/libavcodec/tiff.c
-index 6e2096f..0870e31 100644
---- a/gst-libs/ext/libav/libavcodec/tiff.c
-+++ b/gst-libs/ext/libav/libavcodec/tiff.c
-@@ -324,11 +324,11 @@ static int tiff_decode_tag(TiffContext *s, const uint8_t *start, const uint8_t *
- s->height = value;
- break;
- case TIFF_BPP:
-- s->bppcount = count;
-- if(count > 4){
-- av_log(s->avctx, AV_LOG_ERROR, "This format is not supported (bpp=%d, %d components)\n", s->bpp, count);
-+ if(count > 4U){
-+ av_log(s->avctx, AV_LOG_ERROR, "This format is not supported (bpp=%d, %d components)\n", value, count);
- return -1;
- }
-+ s->bppcount = count;
- if(count == 1) s->bpp = value;
- else{
- switch(type){
-@@ -344,6 +344,13 @@ static int tiff_decode_tag(TiffContext *s, const uint8_t *start, const uint8_t *
- s->bpp = -1;
- }
- }
-+ if (s->bpp > 64U) {
-+ av_log(s->avctx, AV_LOG_ERROR,
-+ "This format is not supported (bpp=%d, %d components)\n",
-+ s->bpp, count);
-+ s->bpp = 0;
-+ return AVERROR_INVALIDDATA;
-+ }
- break;
- case TIFF_SAMPLES_PER_PIXEL:
- if (count != 1) {
---
-1.7.9.5
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8545.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8545.patch
deleted file mode 100644
index 29d5f776a..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8545.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 3e2b745020c2dbf0201fe7df3dad9e7e0b2e1bb6 Mon Sep 17 00:00:00 2001
-From: Michael Niedermayer <michaelni@gmx.at>
-Date: Fri, 3 Oct 2014 17:35:58 +0200
-Subject: [PATCH] avcodec/pngdec: Check bits per pixel before setting
- monoblack pixel format
-
-(Upstream commit 3e2b745020c2dbf0201fe7df3dad9e7e0b2e1bb6)
-
-Fixes out of array accesses
-Fixes: asan_heap-oob_14dbfcf_4_asan_heap-oob_1ce5767_179_add_method_small.png
-
-Upstream-Status: Backport
-
-Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-Signed-off-by: Yue Tao <yue.tao@windriver.com>
----
- libavcodec/pngdec.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c
-index da91aab..f3603b3 100644
---- a/gst-libs/ext/libav/libavcodec/pngdec.c
-+++ b/gst-libs/ext/libav/libavcodec/pngdec.c
-@@ -481,7 +481,7 @@ static int decode_frame(AVCodecContext *avctx,
- } else if (s->bit_depth == 16 &&
- s->color_type == PNG_COLOR_TYPE_RGB) {
- avctx->pix_fmt = PIX_FMT_RGB48BE;
-- } else if (s->bit_depth == 1 &&
-+ } else if (s->bit_depth == 1 && s->bits_per_pixel == 1 &&
- s->color_type == PNG_COLOR_TYPE_GRAY) {
- avctx->pix_fmt = PIX_FMT_MONOBLACK;
- } else if (s->color_type == PNG_COLOR_TYPE_PALETTE) {
---
-1.7.9.5
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8546.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8546.patch
deleted file mode 100644
index d55d9ebe6..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8546.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From e7e5114c506957f40aafd794e06de1a7e341e9d5 Mon Sep 17 00:00:00 2001
-From: Michael Niedermayer <michaelni@gmx.at>
-Date: Fri, 3 Oct 2014 19:33:01 +0200
-Subject: [PATCH] avcodec/cinepak: fix integer underflow
-
-(Upstream commit e7e5114c506957f40aafd794e06de1a7e341e9d5)
-
-Fixes out of array access
-Fixes: asan_heap-oob_4da0ba_6_asan_heap-oob_4da0ba_241_cvid_crash.avi
-
-Upstream-status: Backport
-
-Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-Signed-off-by: Yue Tao <yue.tao@windriver.com>
----
- libavcodec/cinepak.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libavcodec/cinepak.c b/libavcodec/cinepak.c
-index 4746289..f651c48 100644
---- a/gst-libs/ext/libav/libavcodec/cinepak.c
-+++ b/gst-libs/ext/libav/libavcodec/cinepak.c
-@@ -125,7 +125,7 @@ static int cinepak_decode_vectors (CinepakContext *s, cvid_strip *strip,
- const uint8_t *eod = (data + size);
- uint32_t flag, mask;
- cvid_codebook *codebook;
-- unsigned int x, y;
-+ int x, y;
- uint32_t iy[4];
- uint32_t iu[2];
- uint32_t iv[2];
---
-1.7.9.5
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8547.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8547.patch
deleted file mode 100644
index a8616fa55..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8547.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 8f1457864be8fb9653643519dea1c6492f1dde57 Mon Sep 17 00:00:00 2001
-From: Michael Niedermayer <michaelni@gmx.at>
-Date: Fri, 3 Oct 2014 20:15:52 +0200
-Subject: [PATCH] avcodec/gifdec: factorize interleave end handling out
-
-(Upstream commit 8f1457864be8fb9653643519dea1c6492f1dde57)
-
-also change it to a loop
-Fixes out of array access
-Fixes: asan_heap-oob_ca5410_8_asan_heap-oob_ca5410_97_ID_LSD_Size_Less_Then_Data_Inter_3.gif
-
-Upstream-Status: Backport
-
-Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-Signed-off-by: Yue Tao <yue.tao@windriver.com>
----
- libavcodec/gifdec.c | 15 +++++----------
- 1 file changed, 5 insertions(+), 10 deletions(-)
-
-diff --git a/libavcodec/gifdec.c b/libavcodec/gifdec.c
-index dee48f5..90de38b 100644
---- a/gst-libs/ext/libav/libavcodec/gifdec.c
-+++ b/gst-libs/ext/libav/libavcodec/gifdec.c
-@@ -271,26 +271,21 @@ static int gif_read_image(GifState *s, AVFrame *frame)
- case 1:
- y1 += 8;
- ptr += linesize * 8;
-- if (y1 >= height) {
-- y1 = pass ? 2 : 4;
-- ptr = ptr1 + linesize * y1;
-- pass++;
-- }
- break;
- case 2:
- y1 += 4;
- ptr += linesize * 4;
-- if (y1 >= height) {
-- y1 = 1;
-- ptr = ptr1 + linesize;
-- pass++;
-- }
- break;
- case 3:
- y1 += 2;
- ptr += linesize * 2;
- break;
- }
-+ while (y1 >= height) {
-+ y1 = 4 >> pass;
-+ ptr = ptr1 + linesize * y1;
-+ pass++;
-+ }
- } else {
- ptr += linesize;
- }
---
-1.7.9.5
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-9318.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-9318.patch
deleted file mode 100644
index 0553ceefd..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-9318.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 0d3a3b9f8907625b361420d48fe05716859620ff Mon Sep 17 00:00:00 2001
-From: Michael Niedermayer <michaelni@gmx.at>
-Date: Wed, 26 Nov 2014 18:56:39 +0100
-Subject: [PATCH] avcodec/rawdec: Check the return code of
- avpicture_get_size()
-
-(Upstream commit 1d3a3b9f8907625b361420d48fe05716859620ff)
-
-Fixes out of array access
-Fixes: asan_heap-oob_22388d0_3435_cov_3297128910_small_roll5_FlashCine1.cine
-Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-
-Upstream-Status: Backport
-
-Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-Signed-off-by: Yue Tao <yue.tao@windriver.com>
----
- libavcodec/rawdec.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/libavcodec/rawdec.c b/libavcodec/rawdec.c
-index 28792a1..647dfa9 100644
---- a/gst-libs/ext/libav/libavcodec/rawdec.c
-+++ b/gst-libs/ext/libav/libavcodec/rawdec.c
-@@ -87,6 +87,9 @@ static av_cold int raw_init_decoder(AVCodecContext *avctx)
-
- ff_set_systematic_pal2(context->palette, avctx->pix_fmt);
- context->length = avpicture_get_size(avctx->pix_fmt, avctx->width, avctx->height);
-+ if (context->length < 0)
-+ return context->length;
-+
- if((avctx->bits_per_coded_sample == 4 || avctx->bits_per_coded_sample == 2) &&
- avctx->pix_fmt==PIX_FMT_PAL8 &&
- (!avctx->codec_tag || avctx->codec_tag == MKTAG('r','a','w',' '))){
---
-1.7.9.5
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-9603.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-9603.patch
deleted file mode 100644
index 5dda4cca2..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-9603.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From dc68faf8339a885bc55fabe5b01f1de4f8f3782c Mon Sep 17 00:00:00 2001
-From: Kai Kang <kai.kang@windriver.com>
-Date: Wed, 13 May 2015 16:30:53 +0800
-Subject: [PATCH 1/2] gst-ffmpeg: fix CVE-2014-9603
-
-Upstream-Status: Backport
-
-Upstream is version 2.x and vmdav.c is splitted into 2 files vmdaudio.c
-and vmdvideo.c. Becuase source code changes, just partly backport commit which
-is applicable to version 0.10.13 to fix CVE-2014-9603.
-
-http://git.videolan.org/?p=ffmpeg.git;a=commit;h=3030fb7e0d41836f8add6399e9a7c7b740b48bfd
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
- gst-libs/ext/libav/libavcodec/vmdav.c | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/gst-libs/ext/libav/libavcodec/vmdav.c b/gst-libs/ext/libav/libavcodec/vmdav.c
-index d258252..ba88ad8 100644
---- a/gst-libs/ext/libav/libavcodec/vmdav.c
-+++ b/gst-libs/ext/libav/libavcodec/vmdav.c
-@@ -294,10 +294,13 @@ static void vmd_decode(VmdVideoContext *s)
- len = *pb++;
- if (len & 0x80) {
- len = (len & 0x7F) + 1;
-- if (*pb++ == 0xFF)
-+ if (*pb++ == 0xFF) {
- len = rle_unpack(pb, &dp[ofs], len, frame_width - ofs);
-- else
-+ } else {
-+ if (ofs + len > frame_width)
-+ return;
- memcpy(&dp[ofs], pb, len);
-+ }
- pb += len;
- ofs += len;
- } else {
---
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/h264_qpel_mmx.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/h264_qpel_mmx.patch
deleted file mode 100644
index ade24dc06..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/h264_qpel_mmx.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-Backport http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=5f654897e325349dacf2546674e0510bb72ecb50;hp=250cebeb3b348c3da71f9972eb500d6005dc01f1
-
-Fixes these errors on x86
-
-libavcodec/x86/h264_qpel_mmx.c: Assembler messages:
-libavcodec/x86/h264_qpel_mmx.c:1294: Error: operand type mismatch for `cmp'
-libavcodec/x86/h264_qpel_mmx.c:1294: Error: operand type mismatch for `cmp'
-libavcodec/x86/h264_qpel_mmx.c:1298: Error: operand type mismatch for `cmp'
-libavcodec/x86/h264_qpel_mmx.c:1298: Error: operand type mismatch for `cmp'
-libavcodec/x86/h264_qpel_mmx.c:964: Error: operand type mismatch for `cmp'
-libavcodec/x86/h264_qpel_mmx.c:964: Error: operand type mismatch for `cmp'
-libavcodec/x86/h264_qpel_mmx.c:964: Error: operand type mismatch for `cmp'
-make[5]: *** [libavcodec/x86/dsputil_mmx.o] Error 1
-
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Backport
-Index: gst-ffmpeg-0.10.13/gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c
-===================================================================
---- gst-ffmpeg-0.10.13.orig/gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c 2012-03-30 11:39:41.324522051 -0700
-+++ gst-ffmpeg-0.10.13/gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c 2012-03-30 11:54:08.152564075 -0700
-@@ -398,7 +398,7 @@
- "2: \n\t"\
- \
- : "+a"(src), "+c"(dst)\
-- : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "g"(h)\
-+ : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "rm"(h)\
- : "memory"\
- );\
- src += 4-(h+5)*srcStride;\
-@@ -446,7 +446,7 @@
- QPEL_H264HV(%%mm3, %%mm4, %%mm5, %%mm0, %%mm1, %%mm2, 15*48)\
- "2: \n\t"\
- : "+a"(src)\
-- : "c"(tmp), "S"((x86_reg)srcStride), "g"(size)\
-+ : "c"(tmp), "S"((x86_reg)srcStride), "rm"(size)\
- : "memory"\
- );\
- tmp += 4;\
-@@ -823,7 +823,7 @@
- "2: \n\t"\
- \
- : "+a"(src), "+c"(dst)\
-- : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "g"(h)\
-+ : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "rm"(h)\
- : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", \
- "%xmm4", "%xmm5", "%xmm6", "%xmm7",)\
- "memory"\
-@@ -878,7 +878,7 @@
- QPEL_H264HV_XMM(%%xmm3, %%xmm4, %%xmm5, %%xmm0, %%xmm1, %%xmm2, 15*48)
- "2: \n\t"
- : "+a"(src)
-- : "c"(tmp), "S"((x86_reg)srcStride), "g"(size)
-+ : "c"(tmp), "S"((x86_reg)srcStride), "rm"(size)
- : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3",
- "%xmm4", "%xmm5", "%xmm6", "%xmm7",)
- "memory"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/libav-9.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/libav-9.patch
deleted file mode 100644
index 186075220..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/libav-9.patch
+++ /dev/null
@@ -1,9304 +0,0 @@
-Taken from gentoo patchset:
-http://dev.gentoo.org/~tetromino/distfiles/gst-plugins-ffmpeg/gst-ffmpeg-0.10.13_p2012.11-libav-9-patches.tar.xz
-
-Upstream-Status: Pending
-
-Contains following changes, rebased to apply on top of our changes
-0002-Fix-includes-for-systemwide-build.patch
-0003-libav-Switch-to-non-deprecated-symbols.patch
-0005-av-Update-for-some-constant-changes.patch
-0006-av-Remove-palette-support-for-now.patch
-0007-av-Port-remaining-simple-bits.patch
-0008-av-Use-av_codec_is_-en-de-coder-API-instead-of-priva.patch
-0009-avprotocol-Port-from-the-URL-protocol-handler-to-san.patch
-0010-avdec-don-t-wait-for-keyframe.patch
-
-Following changes were skipped:
-0001-Partially-revert-commit-0300801b.patch
-0004-av-update-to-use-AVOption-variants.patch
-0011-av_get_bits_per_sample_format-was-removed-in-libav-9.patch
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
-diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpeg.c gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpeg.c
---- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpeg.c 2011-10-31 11:14:03.000000000 +0100
-+++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpeg.c 2014-08-08 15:26:07.872857555 +0200
-@@ -151,9 +151,6 @@
- #endif
- gst_ffmpegaudioresample_register (plugin);
-
-- av_register_protocol2 (&gstreamer_protocol, sizeof (URLProtocol));
-- av_register_protocol2 (&gstpipe_protocol, sizeof (URLProtocol));
--
- /* Now we can return the pointer to the newly created Plugin object. */
- return TRUE;
- }
-diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpeg.h gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpeg.h
---- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpeg.h 2011-05-17 10:53:16.000000000 +0200
-+++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpeg.h 2014-08-08 15:26:07.872857555 +0200
-@@ -58,10 +58,13 @@
- int gst_ffmpeg_avcodec_close (AVCodecContext *avctx);
- int gst_ffmpeg_av_find_stream_info(AVFormatContext *ic);
-
--G_END_DECLS
-+int gst_ffmpegdata_open (GstPad * pad, int flags, AVIOContext ** context);
-+int gst_ffmpegdata_close (AVIOContext * h);
-+typedef struct _GstFFMpegPipe GstFFMpegPipe;
-+int gst_ffmpeg_pipe_open (GstFFMpegPipe *ffpipe, int flags, AVIOContext ** context);
-+int gst_ffmpeg_pipe_close (AVIOContext * h);
-
--extern URLProtocol gstreamer_protocol;
--extern URLProtocol gstpipe_protocol;
-+G_END_DECLS
-
- /* use GST_FFMPEG URL_STREAMHEADER with URL_WRONLY if the first
- * buffer should be used as streamheader property on the pad's caps. */
-diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegcfg.c gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegcfg.c
---- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegcfg.c 2011-07-12 16:35:27.000000000 +0200
-+++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegcfg.c 2014-08-08 15:24:17.899853612 +0200
-@@ -147,7 +147,6 @@
- {FF_DCT_FASTINT, "Fast Integer", "fastint"},
- {FF_DCT_INT, "Accurate Integer", "int"},
- {FF_DCT_MMX, "MMX", "mmx"},
-- {FF_DCT_MLIB, "MLIB", "mlib"},
- {FF_DCT_ALTIVEC, "ALTIVEC", "altivec"},
- {FF_DCT_FAAN, "FAAN", "faan"},
- {0, NULL, NULL},
-@@ -173,8 +172,6 @@
- {FF_IDCT_SIMPLE, "Simple", "simple"},
- {FF_IDCT_SIMPLEMMX, "Simple MMX", "simplemmx"},
- {FF_IDCT_LIBMPEG2MMX, "LIBMPEG2MMX", "libmpeg2mmx"},
-- {FF_IDCT_PS2, "PS2", "ps2"},
-- {FF_IDCT_MLIB, "MLIB", "mlib"},
- {FF_IDCT_ARM, "ARM", "arm"},
- {FF_IDCT_ALTIVEC, "ALTIVEC", "altivec"},
- {FF_IDCT_SH4, "SH4", "sh4"},
-@@ -263,16 +260,11 @@
-
- if (!ffmpeg_flags_type) {
- static const GFlagsValue ffmpeg_flags[] = {
-- {CODEC_FLAG_OBMC, "Use overlapped block motion compensation (h263+)",
-- "obmc"},
- {CODEC_FLAG_QSCALE, "Use fixed qscale", "qscale"},
- {CODEC_FLAG_4MV, "Allow 4 MV per MB", "4mv"},
-- {CODEC_FLAG_H263P_AIV, "H.263 alternative inter VLC", "aiv"},
- {CODEC_FLAG_QPEL, "Quartel Pel Motion Compensation", "qpel"},
- {CODEC_FLAG_GMC, "GMC", "gmc"},
- {CODEC_FLAG_MV0, "Always try a MB with MV (0,0)", "mv0"},
-- {CODEC_FLAG_PART,
-- "Store MV, DC and AC coefficients in seperate partitions", "part"},
- {CODEC_FLAG_LOOP_FILTER, "Loop filter", "loop-filter"},
- {CODEC_FLAG_GRAY, "Only decode/encode grayscale", "gray"},
- {CODEC_FLAG_NORMALIZE_AQP,
-@@ -282,13 +274,9 @@
- "global-headers"},
- {CODEC_FLAG_AC_PRED, "H263 Advanced Intra Coding / MPEG4 AC prediction",
- "aic"},
-- {CODEC_FLAG_H263P_UMV, "Unlimited Motion Vector", "umv"},
- {CODEC_FLAG_CBP_RD, "Rate Distoration Optimization for CBP", "cbp-rd"},
- {CODEC_FLAG_QP_RD, "Rate Distoration Optimization for QP selection",
- "qp-rd"},
-- {CODEC_FLAG_H263P_SLICE_STRUCT, "H263 slice struct", "ss"},
-- {CODEC_FLAG_SVCD_SCAN_OFFSET,
-- "Reserve space for SVCD scan offset user data", "scanoffset"},
- {CODEC_FLAG_CLOSED_GOP, "Closed GOP", "closedgop"},
- {0, NULL, NULL},
- };
-diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegcodecmap.c gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegcodecmap.c
---- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegcodecmap.c 2011-10-31 11:14:03.000000000 +0100
-+++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegcodecmap.c 2014-08-08 15:31:30.968869139 +0200
-@@ -25,8 +25,10 @@
- #include <gst/gst.h>
- #ifdef HAVE_FFMPEG_UNINSTALLED
- #include <avcodec.h>
-+#include <channel_layout.h>
- #else
- #include <libavcodec/avcodec.h>
-+#include <libavutil/channel_layout.h>
- #endif
- #include <string.h>
-
-@@ -35,43 +37,6 @@
-
- #include <gst/pbutils/codec-utils.h>
-
--/*
-- * Read a palette from a caps.
-- */
--
--static void
--gst_ffmpeg_get_palette (const GstCaps * caps, AVCodecContext * context)
--{
-- GstStructure *str = gst_caps_get_structure (caps, 0);
-- const GValue *palette_v;
-- const GstBuffer *palette;
--
-- /* do we have a palette? */
-- if ((palette_v = gst_structure_get_value (str, "palette_data")) && context) {
-- palette = gst_value_get_buffer (palette_v);
-- if (GST_BUFFER_SIZE (palette) >= AVPALETTE_SIZE) {
-- if (context->palctrl)
-- av_free (context->palctrl);
-- context->palctrl = av_malloc (sizeof (AVPaletteControl));
-- context->palctrl->palette_changed = 1;
-- memcpy (context->palctrl->palette, GST_BUFFER_DATA (palette),
-- AVPALETTE_SIZE);
-- }
-- }
--}
--
--static void
--gst_ffmpeg_set_palette (GstCaps * caps, AVCodecContext * context)
--{
-- if (context->palctrl) {
-- GstBuffer *palette = gst_buffer_new_and_alloc (AVPALETTE_SIZE);
--
-- memcpy (GST_BUFFER_DATA (palette), context->palctrl->palette,
-- AVPALETTE_SIZE);
-- gst_caps_set_simple (caps, "palette_data", GST_TYPE_BUFFER, palette, NULL);
-- }
--}
--
- /* IMPORTANT: Keep this sorted by the ffmpeg channel masks */
- static const struct
- {
-@@ -79,26 +44,26 @@
- GstAudioChannelPosition gst;
- } _ff_to_gst_layout[] = {
- {
-- CH_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT}, {
-- CH_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT}, {
-- CH_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER}, {
-- CH_LOW_FREQUENCY, GST_AUDIO_CHANNEL_POSITION_LFE}, {
-- CH_BACK_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT}, {
-- CH_BACK_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT}, {
-- CH_FRONT_LEFT_OF_CENTER, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER}, {
-- CH_FRONT_RIGHT_OF_CENTER, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER}, {
-- CH_BACK_CENTER, GST_AUDIO_CHANNEL_POSITION_REAR_CENTER}, {
-- CH_SIDE_LEFT, GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT}, {
-- CH_SIDE_RIGHT, GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT}, {
-- CH_TOP_CENTER, GST_AUDIO_CHANNEL_POSITION_NONE}, {
-- CH_TOP_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_NONE}, {
-- CH_TOP_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_NONE}, {
-- CH_TOP_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_NONE}, {
-- CH_TOP_BACK_LEFT, GST_AUDIO_CHANNEL_POSITION_NONE}, {
-- CH_TOP_BACK_CENTER, GST_AUDIO_CHANNEL_POSITION_NONE}, {
-- CH_TOP_BACK_RIGHT, GST_AUDIO_CHANNEL_POSITION_NONE}, {
-- CH_STEREO_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT}, {
-- CH_STEREO_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT}
-+ AV_CH_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT}, {
-+ AV_CH_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT}, {
-+ AV_CH_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER}, {
-+ AV_CH_LOW_FREQUENCY, GST_AUDIO_CHANNEL_POSITION_LFE}, {
-+ AV_CH_BACK_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT}, {
-+ AV_CH_BACK_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT}, {
-+ AV_CH_FRONT_LEFT_OF_CENTER, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER}, {
-+ AV_CH_FRONT_RIGHT_OF_CENTER, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER}, {
-+ AV_CH_BACK_CENTER, GST_AUDIO_CHANNEL_POSITION_REAR_CENTER}, {
-+ AV_CH_SIDE_LEFT, GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT}, {
-+ AV_CH_SIDE_RIGHT, GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT}, {
-+ AV_CH_TOP_CENTER, GST_AUDIO_CHANNEL_POSITION_NONE}, {
-+ AV_CH_TOP_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_NONE}, {
-+ AV_CH_TOP_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_NONE}, {
-+ AV_CH_TOP_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_NONE}, {
-+ AV_CH_TOP_BACK_LEFT, GST_AUDIO_CHANNEL_POSITION_NONE}, {
-+ AV_CH_TOP_BACK_CENTER, GST_AUDIO_CHANNEL_POSITION_NONE}, {
-+ AV_CH_TOP_BACK_RIGHT, GST_AUDIO_CHANNEL_POSITION_NONE}, {
-+ AV_CH_STEREO_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT}, {
-+ AV_CH_STEREO_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT}
- };
-
- static GstAudioChannelPosition *
-@@ -342,8 +307,8 @@
-
- if (channel_layout == 0) {
- const guint64 default_channel_set[] = {
-- 0, 0, CH_LAYOUT_SURROUND, CH_LAYOUT_QUAD, CH_LAYOUT_5POINT0,
-- CH_LAYOUT_5POINT1, 0, CH_LAYOUT_7POINT1
-+ 0, 0, AV_CH_LAYOUT_SURROUND, AV_CH_LAYOUT_QUAD, AV_CH_LAYOUT_5POINT0,
-+ AV_CH_LAYOUT_5POINT1, 0, AV_CH_LAYOUT_7POINT1
- };
-
- switch (codec_id) {
-@@ -1267,8 +1232,6 @@
- case CODEC_ID_FLIC:
- case CODEC_ID_VMDVIDEO:
- case CODEC_ID_VMDAUDIO:
-- case CODEC_ID_SONIC:
-- case CODEC_ID_SONIC_LS:
- case CODEC_ID_SNOW:
- case CODEC_ID_VIXL:
- case CODEC_ID_QPEG:
-@@ -1689,11 +1652,6 @@
- gst_buffer_unref (data);
- }
-
-- /* palette */
-- if (context) {
-- gst_ffmpeg_set_palette (caps, context);
-- }
--
- GST_LOG ("caps for codec_id=%d: %" GST_PTR_FORMAT, codec_id, caps);
-
- } else {
-@@ -1830,9 +1788,6 @@
- "bpp", G_TYPE_INT, bpp,
- "depth", G_TYPE_INT, depth,
- "endianness", G_TYPE_INT, endianness, NULL);
-- if (caps && context) {
-- gst_ffmpeg_set_palette (caps, context);
-- }
- }
- } else if (fmt) {
- caps = gst_ff_vid_caps_new (context, codec_id, "video/x-raw-yuv",
-@@ -1857,7 +1812,7 @@
- */
-
- static GstCaps *
--gst_ffmpeg_smpfmt_to_caps (enum SampleFormat sample_fmt,
-+gst_ffmpeg_smpfmt_to_caps (enum AVSampleFormat sample_fmt,
- AVCodecContext * context, enum CodecID codec_id)
- {
- GstCaps *caps = NULL;
-@@ -1867,22 +1822,22 @@
- gboolean signedness = FALSE;
-
- switch (sample_fmt) {
-- case SAMPLE_FMT_S16:
-+ case AV_SAMPLE_FMT_S16:
- signedness = TRUE;
- bpp = 16;
- break;
-
-- case SAMPLE_FMT_S32:
-+ case AV_SAMPLE_FMT_S32:
- signedness = TRUE;
- bpp = 32;
- break;
-
-- case SAMPLE_FMT_FLT:
-+ case AV_SAMPLE_FMT_FLT:
- integer = FALSE;
- bpp = 32;
- break;
-
-- case SAMPLE_FMT_DBL:
-+ case AV_SAMPLE_FMT_DBL:
- integer = FALSE;
- bpp = 64;
- break;
-@@ -1941,12 +1896,12 @@
- }
- } else {
- GstCaps *temp;
-- enum SampleFormat i;
-+ enum AVSampleFormat i;
- AVCodecContext ctx = { 0, };
-
- ctx.channels = -1;
- caps = gst_caps_new_empty ();
-- for (i = 0; i <= SAMPLE_FMT_DBL; i++) {
-+ for (i = 0; i <= AV_SAMPLE_FMT_DBL; i++) {
- temp = gst_ffmpeg_smpfmt_to_caps (i, encode ? &ctx : NULL, codec_id);
- if (temp != NULL) {
- gst_caps_append (caps, temp);
-@@ -2049,9 +2004,9 @@
- gst_structure_get_int (structure, "endianness", &endianness)) {
- if (endianness == G_BYTE_ORDER) {
- if (width == 32)
-- context->sample_fmt = SAMPLE_FMT_FLT;
-+ context->sample_fmt = AV_SAMPLE_FMT_FLT;
- else if (width == 64)
-- context->sample_fmt = SAMPLE_FMT_DBL;
-+ context->sample_fmt = AV_SAMPLE_FMT_DBL;
- }
- }
- } else {
-@@ -2062,9 +2017,9 @@
- gst_structure_get_int (structure, "endianness", &endianness)) {
- if ((endianness == G_BYTE_ORDER) && (signedness == TRUE)) {
- if ((width == 16) && (depth == 16))
-- context->sample_fmt = SAMPLE_FMT_S16;
-+ context->sample_fmt = AV_SAMPLE_FMT_S16;
- else if ((width == 32) && (depth == 32))
-- context->sample_fmt = SAMPLE_FMT_S32;
-+ context->sample_fmt = AV_SAMPLE_FMT_S32;
- }
- }
- }
-@@ -2190,7 +2145,6 @@
- } else {
- if (bpp == 8) {
- context->pix_fmt = PIX_FMT_PAL8;
-- gst_ffmpeg_get_palette (caps, context);
- }
- }
- }
-@@ -2576,7 +2530,6 @@
- switch (codec_type) {
- case AVMEDIA_TYPE_VIDEO:
- gst_ffmpeg_caps_to_pixfmt (caps, context, codec_id == CODEC_ID_RAWVIDEO);
-- gst_ffmpeg_get_palette (caps, context);
- break;
- case AVMEDIA_TYPE_AUDIO:
- gst_ffmpeg_caps_to_smpfmt (caps, context, FALSE);
-diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegcodecmap.c.orig gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegcodecmap.c.orig
---- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegcodecmap.c.orig 1970-01-01 01:00:00.000000000 +0100
-+++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegcodecmap.c.orig 2014-08-08 15:30:34.006867097 +0200
-@@ -0,0 +1,3447 @@
-+/* GStreamer
-+ * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
-+ * This file:
-+ * Copyright (c) 2002-2004 Ronald Bultje <rbultje@ronald.bitfreak.net>
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Library General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2 of the License, or (at your option) any later version.
-+ *
-+ * This library 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
-+ * Library General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Library General Public
-+ * License along with this library; if not, write to the
-+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-+ * Boston, MA 02111-1307, USA.
-+ */
-+
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+#include <gst/gst.h>
-+#ifdef HAVE_FFMPEG_UNINSTALLED
-+#include <avcodec.h>
-+#include <channel_layout.h>>
-+#else
-+#include <libavcodec/avcodec.h>
-+#include <libavutil/channel_layout.h>
-+#endif
-+#include <string.h>
-+
-+#include "gstffmpeg.h"
-+#include "gstffmpegcodecmap.h"
-+
-+#include <gst/pbutils/codec-utils.h>
-+
-+/*
-+ * Read a palette from a caps.
-+ */
-+
-+static void
-+gst_ffmpeg_get_palette (const GstCaps * caps, AVCodecContext * context)
-+{
-+ GstStructure *str = gst_caps_get_structure (caps, 0);
-+ const GValue *palette_v;
-+ const GstBuffer *palette;
-+
-+ /* do we have a palette? */
-+ if ((palette_v = gst_structure_get_value (str, "palette_data")) && context) {
-+ palette = gst_value_get_buffer (palette_v);
-+ if (GST_BUFFER_SIZE (palette) >= AVPALETTE_SIZE) {
-+ if (context->palctrl)
-+ av_free (context->palctrl);
-+ context->palctrl = av_malloc (sizeof (AVPaletteControl));
-+ context->palctrl->palette_changed = 1;
-+ memcpy (context->palctrl->palette, GST_BUFFER_DATA (palette),
-+ AVPALETTE_SIZE);
-+ }
-+ }
-+}
-+
-+static void
-+gst_ffmpeg_set_palette (GstCaps * caps, AVCodecContext * context)
-+{
-+ if (context->palctrl) {
-+ GstBuffer *palette = gst_buffer_new_and_alloc (AVPALETTE_SIZE);
-+
-+ memcpy (GST_BUFFER_DATA (palette), context->palctrl->palette,
-+ AVPALETTE_SIZE);
-+ gst_caps_set_simple (caps, "palette_data", GST_TYPE_BUFFER, palette, NULL);
-+ }
-+}
-+
-+/* IMPORTANT: Keep this sorted by the ffmpeg channel masks */
-+static const struct
-+{
-+ guint64 ff;
-+ GstAudioChannelPosition gst;
-+} _ff_to_gst_layout[] = {
-+ {
-+ AV_CH_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT}, {
-+ AV_CH_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT}, {
-+ AV_CH_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER}, {
-+ AV_CH_LOW_FREQUENCY, GST_AUDIO_CHANNEL_POSITION_LFE}, {
-+ AV_CH_BACK_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT}, {
-+ AV_CH_BACK_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT}, {
-+ AV_CH_FRONT_LEFT_OF_CENTER, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER}, {
-+ AV_CH_FRONT_RIGHT_OF_CENTER, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER}, {
-+ AV_CH_BACK_CENTER, GST_AUDIO_CHANNEL_POSITION_REAR_CENTER}, {
-+ AV_CH_SIDE_LEFT, GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT}, {
-+ AV_CH_SIDE_RIGHT, GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT}, {
-+ AV_CH_TOP_CENTER, GST_AUDIO_CHANNEL_POSITION_NONE}, {
-+ AV_CH_TOP_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_NONE}, {
-+ AV_CH_TOP_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_NONE}, {
-+ AV_CH_TOP_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_NONE}, {
-+ AV_CH_TOP_BACK_LEFT, GST_AUDIO_CHANNEL_POSITION_NONE}, {
-+ AV_CH_TOP_BACK_CENTER, GST_AUDIO_CHANNEL_POSITION_NONE}, {
-+ AV_CH_TOP_BACK_RIGHT, GST_AUDIO_CHANNEL_POSITION_NONE}, {
-+ AV_CH_STEREO_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT}, {
-+ AV_CH_STEREO_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT}
-+};
-+
-+static GstAudioChannelPosition *
-+gst_ff_channel_layout_to_gst (guint64 channel_layout, guint channels)
-+{
-+ guint nchannels = 0, i, j;
-+ GstAudioChannelPosition *pos = NULL;
-+ gboolean none_layout = FALSE;
-+
-+ for (i = 0; i < 64; i++) {
-+ if ((channel_layout & (G_GUINT64_CONSTANT (1) << i)) != 0) {
-+ nchannels++;
-+ }
-+ }
-+
-+ if (channel_layout == 0) {
-+ nchannels = channels;
-+ none_layout = TRUE;
-+ }
-+
-+ if (nchannels != channels) {
-+ GST_ERROR ("Number of channels is different (%u != %u)", channels,
-+ nchannels);
-+ return NULL;
-+ }
-+
-+ pos = g_new (GstAudioChannelPosition, nchannels);
-+
-+ for (i = 0, j = 0; i < G_N_ELEMENTS (_ff_to_gst_layout); i++) {
-+ if ((channel_layout & _ff_to_gst_layout[i].ff) != 0) {
-+ pos[j++] = _ff_to_gst_layout[i].gst;
-+
-+ if (_ff_to_gst_layout[i].gst == GST_AUDIO_CHANNEL_POSITION_NONE)
-+ none_layout = TRUE;
-+ }
-+ }
-+
-+ if (j != nchannels) {
-+ GST_WARNING ("Unknown channels in channel layout - assuming NONE layout");
-+ none_layout = TRUE;
-+ }
-+
-+ if (!none_layout && !gst_audio_check_channel_positions (pos, nchannels)) {
-+ GST_ERROR ("Invalid channel layout %" G_GUINT64_FORMAT
-+ " - assuming NONE layout", channel_layout);
-+ none_layout = TRUE;
-+ }
-+
-+ if (none_layout) {
-+ if (nchannels == 1) {
-+ pos[0] = GST_AUDIO_CHANNEL_POSITION_FRONT_MONO;
-+ } else if (nchannels == 2) {
-+ pos[0] = GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT;
-+ pos[1] = GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT;
-+ } else if (channel_layout == 0) {
-+ g_free (pos);
-+ pos = NULL;
-+ } else {
-+ for (i = 0; i < nchannels; i++)
-+ pos[i] = GST_AUDIO_CHANNEL_POSITION_NONE;
-+ }
-+ }
-+
-+ if (nchannels == 1 && pos[0] == GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER) {
-+ GST_DEBUG ("mono common case; won't set channel positions");
-+ g_free (pos);
-+ pos = NULL;
-+ } else if (nchannels == 2 && pos[0] == GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT
-+ && pos[1] == GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT) {
-+ GST_DEBUG ("stereo common case; won't set channel positions");
-+ g_free (pos);
-+ pos = NULL;
-+ }
-+
-+ return pos;
-+}
-+
-+/* this macro makes a caps width fixed or unfixed width/height
-+ * properties depending on whether we've got a context.
-+ *
-+ * See below for why we use this.
-+ *
-+ * We should actually do this stuff at the end, like in riff-media.c,
-+ * but I'm too lazy today. Maybe later.
-+ */
-+static GstCaps *
-+gst_ff_vid_caps_new (AVCodecContext * context, enum CodecID codec_id,
-+ const char *mimetype, const char *fieldname, ...)
-+{
-+ GstStructure *structure = NULL;
-+ GstCaps *caps = NULL;
-+ va_list var_args;
-+ gint i;
-+
-+ GST_LOG ("context:%p, codec_id:%d, mimetype:%s", context, codec_id, mimetype);
-+
-+ /* fixed, non probing context */
-+ if (context != NULL && context->width != -1) {
-+ gint num, denom;
-+
-+ caps = gst_caps_new_simple (mimetype,
-+ "width", G_TYPE_INT, context->width,
-+ "height", G_TYPE_INT, context->height, NULL);
-+
-+ num = context->time_base.den / context->ticks_per_frame;
-+ denom = context->time_base.num;
-+
-+ if (!denom) {
-+ GST_LOG ("invalid framerate: %d/0, -> %d/1", num, num);
-+ denom = 1;
-+ }
-+ if (gst_util_fraction_compare (num, denom, 1000, 1) > 0) {
-+ GST_LOG ("excessive framerate: %d/%d, -> 0/1", num, denom);
-+ num = 0;
-+ denom = 1;
-+ }
-+ GST_LOG ("setting framerate: %d/%d", num, denom);
-+ gst_caps_set_simple (caps,
-+ "framerate", GST_TYPE_FRACTION, num, denom, NULL);
-+ } else {
-+ /* so we are after restricted caps in this case */
-+ switch (codec_id) {
-+ case CODEC_ID_H261:
-+ {
-+ caps = gst_caps_new_simple (mimetype,
-+ "width", G_TYPE_INT, 352,
-+ "height", G_TYPE_INT, 288,
-+ "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1, NULL);
-+ gst_caps_append (caps, gst_caps_new_simple (mimetype,
-+ "width", G_TYPE_INT, 176,
-+ "height", G_TYPE_INT, 144,
-+ "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1, NULL));
-+ break;
-+ }
-+ case CODEC_ID_H263:
-+ {
-+ /* 128x96, 176x144, 352x288, 704x576, and 1408x1152. slightly reordered
-+ * because we want automatic negotiation to go as close to 320x240 as
-+ * possible. */
-+ const static gint widths[] = { 352, 704, 176, 1408, 128 };
-+ const static gint heights[] = { 288, 576, 144, 1152, 96 };
-+ GstCaps *temp;
-+ gint n_sizes = G_N_ELEMENTS (widths);
-+
-+ caps = gst_caps_new_empty ();
-+ for (i = 0; i < n_sizes; i++) {
-+ temp = gst_caps_new_simple (mimetype,
-+ "width", G_TYPE_INT, widths[i],
-+ "height", G_TYPE_INT, heights[i],
-+ "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1, NULL);
-+
-+ gst_caps_append (caps, temp);
-+ }
-+ break;
-+ }
-+ case CODEC_ID_DVVIDEO:
-+ {
-+ static struct
-+ {
-+ guint32 csp;
-+ gint width, height;
-+ gint par_n, par_d;
-+ gint framerate_n, framerate_d;
-+ } profiles[] = {
-+ {
-+ GST_MAKE_FOURCC ('Y', '4', '1', 'B'), 720, 480, 10, 11, 30000, 1001}, {
-+ GST_MAKE_FOURCC ('Y', '4', '1', 'B'), 720, 480, 40, 33, 30000, 1001}, {
-+ GST_MAKE_FOURCC ('I', '4', '2', '0'), 720, 576, 59, 54, 25, 1}, {
-+ GST_MAKE_FOURCC ('I', '4', '2', '0'), 720, 576, 118, 81, 25, 1}, {
-+ GST_MAKE_FOURCC ('Y', '4', '1', 'B'), 720, 576, 59, 54, 25, 1}, {
-+ GST_MAKE_FOURCC ('Y', '4', '1', 'B'), 720, 576, 118, 81, 25, 1}
-+ };
-+ GstCaps *temp;
-+ gint n_sizes = G_N_ELEMENTS (profiles);
-+
-+ caps = gst_caps_new_empty ();
-+ for (i = 0; i < n_sizes; i++) {
-+ temp = gst_caps_new_simple (mimetype,
-+ "width", G_TYPE_INT, profiles[i].width,
-+ "height", G_TYPE_INT, profiles[i].height,
-+ "framerate", GST_TYPE_FRACTION, profiles[i].framerate_n,
-+ profiles[i].framerate_d, "pixel-aspect-ratio", GST_TYPE_FRACTION,
-+ profiles[i].par_n, profiles[i].par_d, NULL);
-+
-+ gst_caps_append (caps, temp);
-+ }
-+ break;
-+ }
-+ case CODEC_ID_DNXHD:
-+ {
-+ caps = gst_caps_new_simple (mimetype,
-+ "width", G_TYPE_INT, 1920,
-+ "height", G_TYPE_INT, 1080,
-+ "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1, NULL);
-+ gst_caps_append (caps, gst_caps_new_simple (mimetype,
-+ "width", G_TYPE_INT, 1280,
-+ "height", G_TYPE_INT, 720,
-+ "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1, NULL));
-+ break;
-+ }
-+ default:
-+ break;
-+ }
-+ }
-+
-+ /* no fixed caps or special restrictions applied;
-+ * default unfixed setting */
-+ if (!caps) {
-+ GST_DEBUG ("Creating default caps");
-+ caps = gst_caps_new_simple (mimetype,
-+ "width", GST_TYPE_INT_RANGE, 16, 4096,
-+ "height", GST_TYPE_INT_RANGE, 16, 4096,
-+ "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1, NULL);
-+ }
-+
-+ for (i = 0; i < gst_caps_get_size (caps); i++) {
-+ va_start (var_args, fieldname);
-+ structure = gst_caps_get_structure (caps, i);
-+ gst_structure_set_valist (structure, fieldname, var_args);
-+ va_end (var_args);
-+ }
-+
-+ return caps;
-+}
-+
-+/* same for audio - now with channels/sample rate
-+ */
-+static GstCaps *
-+gst_ff_aud_caps_new (AVCodecContext * context, enum CodecID codec_id,
-+ const char *mimetype, const char *fieldname, ...)
-+{
-+ GstCaps *caps = NULL;
-+ GstStructure *structure = NULL;
-+ gint i;
-+ va_list var_args;
-+
-+ /* fixed, non-probing context */
-+ if (context != NULL && context->channels != -1) {
-+ GstAudioChannelPosition *pos;
-+ guint64 channel_layout = context->channel_layout;
-+
-+ if (channel_layout == 0) {
-+ const guint64 default_channel_set[] = {
-+ 0, 0, AV_CH_LAYOUT_SURROUND, AV_CH_LAYOUT_QUAD, AV_CH_LAYOUT_5POINT0,
-+ AV_CH_LAYOUT_5POINT1, 0, AV_CH_LAYOUT_7POINT1
-+ };
-+
-+ switch (codec_id) {
-+ case CODEC_ID_EAC3:
-+ case CODEC_ID_AC3:
-+ case CODEC_ID_DTS:
-+ if (context->channels > 0
-+ && context->channels < G_N_ELEMENTS (default_channel_set))
-+ channel_layout = default_channel_set[context->channels - 1];
-+ break;
-+ default:
-+ break;
-+ }
-+ }
-+
-+ caps = gst_caps_new_simple (mimetype,
-+ "rate", G_TYPE_INT, context->sample_rate,
-+ "channels", G_TYPE_INT, context->channels, NULL);
-+
-+ pos = gst_ff_channel_layout_to_gst (channel_layout, context->channels);
-+ if (pos != NULL) {
-+ gst_audio_set_channel_positions (gst_caps_get_structure (caps, 0), pos);
-+ g_free (pos);
-+ }
-+ } else {
-+ gint maxchannels = 2;
-+ const gint *rates = NULL;
-+ gint n_rates = 0;
-+
-+ /* so we must be after restricted caps in this case */
-+ switch (codec_id) {
-+ case CODEC_ID_AAC:
-+ case CODEC_ID_AAC_LATM:
-+ case CODEC_ID_DTS:
-+ maxchannels = 6;
-+ break;
-+ case CODEC_ID_MP2:
-+ {
-+ const static gint l_rates[] =
-+ { 48000, 44100, 32000, 24000, 22050, 16000 };
-+ n_rates = G_N_ELEMENTS (l_rates);
-+ rates = l_rates;
-+ break;
-+ }
-+ case CODEC_ID_EAC3:
-+ case CODEC_ID_AC3:
-+ {
-+ const static gint l_rates[] = { 48000, 44100, 32000 };
-+ maxchannels = 6;
-+ n_rates = G_N_ELEMENTS (l_rates);
-+ rates = l_rates;
-+ break;
-+ }
-+ case CODEC_ID_ADPCM_G722:
-+ {
-+ const static gint l_rates[] = { 16000 };
-+ n_rates = G_N_ELEMENTS (l_rates);
-+ rates = l_rates;
-+ maxchannels = 1;
-+ break;
-+ }
-+ case CODEC_ID_ADPCM_G726:
-+ {
-+ const static gint l_rates[] = { 8000 };
-+ n_rates = G_N_ELEMENTS (l_rates);
-+ rates = l_rates;
-+ maxchannels = 1;
-+ break;
-+ }
-+ case CODEC_ID_ADPCM_SWF:
-+ {
-+ const static gint l_rates[] = { 11025, 22050, 44100 };
-+ n_rates = G_N_ELEMENTS (l_rates);
-+ rates = l_rates;
-+ break;
-+ }
-+ case CODEC_ID_ROQ_DPCM:
-+ {
-+ const static gint l_rates[] = { 22050 };
-+ n_rates = G_N_ELEMENTS (l_rates);
-+ rates = l_rates;
-+ break;
-+ }
-+ case CODEC_ID_AMR_NB:
-+ {
-+ const static gint l_rates[] = { 8000 };
-+ maxchannels = 1;
-+ n_rates = G_N_ELEMENTS (l_rates);
-+ rates = l_rates;
-+ break;
-+ }
-+ case CODEC_ID_AMR_WB:
-+ {
-+ const static gint l_rates[] = { 16000 };
-+ maxchannels = 1;
-+ n_rates = G_N_ELEMENTS (l_rates);
-+ rates = l_rates;
-+ break;
-+ }
-+ default:
-+ break;
-+ }
-+
-+ /* TODO: handle context->channel_layouts here to set
-+ * the list of channel layouts supported by the encoder.
-+ * Unfortunately no encoder uses this yet....
-+ */
-+ /* regardless of encode/decode, open up channels if applicable */
-+ /* Until decoders/encoders expose the maximum number of channels
-+ * they support, we whitelist them here. */
-+ switch (codec_id) {
-+ case CODEC_ID_WMAPRO:
-+ case CODEC_ID_TRUEHD:
-+ maxchannels = 8;
-+ break;
-+ default:
-+ break;
-+ }
-+
-+ if (maxchannels == 1)
-+ caps = gst_caps_new_simple (mimetype,
-+ "channels", G_TYPE_INT, maxchannels, NULL);
-+ else
-+ caps = gst_caps_new_simple (mimetype,
-+ "channels", GST_TYPE_INT_RANGE, 1, maxchannels, NULL);
-+ if (n_rates) {
-+ GValue list = { 0, };
-+ GstStructure *structure;
-+
-+ g_value_init (&list, GST_TYPE_LIST);
-+ for (i = 0; i < n_rates; i++) {
-+ GValue v = { 0, };
-+
-+ g_value_init (&v, G_TYPE_INT);
-+ g_value_set_int (&v, rates[i]);
-+ gst_value_list_append_value (&list, &v);
-+ g_value_unset (&v);
-+ }
-+ structure = gst_caps_get_structure (caps, 0);
-+ gst_structure_set_value (structure, "rate", &list);
-+ g_value_unset (&list);
-+ } else
-+ gst_caps_set_simple (caps, "rate", GST_TYPE_INT_RANGE, 4000, 96000, NULL);
-+ }
-+
-+ for (i = 0; i < gst_caps_get_size (caps); i++) {
-+ va_start (var_args, fieldname);
-+ structure = gst_caps_get_structure (caps, i);
-+ gst_structure_set_valist (structure, fieldname, var_args);
-+ va_end (var_args);
-+ }
-+
-+ return caps;
-+}
-+
-+/* Convert a FFMPEG codec ID and optional AVCodecContext
-+ * to a GstCaps. If the context is ommitted, no fixed values
-+ * for video/audio size will be included in the GstCaps
-+ *
-+ * CodecID is primarily meant for compressed data GstCaps!
-+ *
-+ * encode is a special parameter. gstffmpegdec will say
-+ * FALSE, gstffmpegenc will say TRUE. The output caps
-+ * depends on this, in such a way that it will be very
-+ * specific, defined, fixed and correct caps for encoders,
-+ * yet very wide, "forgiving" caps for decoders. Example
-+ * for mp3: decode: audio/mpeg,mpegversion=1,layer=[1-3]
-+ * but encode: audio/mpeg,mpegversion=1,layer=3,bitrate=x,
-+ * rate=x,channels=x.
-+ */
-+
-+GstCaps *
-+gst_ffmpeg_codecid_to_caps (enum CodecID codec_id,
-+ AVCodecContext * context, gboolean encode)
-+{
-+ GstCaps *caps = NULL;
-+ gboolean buildcaps = FALSE;
-+
-+ GST_LOG ("codec_id:%d, context:%p, encode:%d", codec_id, context, encode);
-+
-+ switch (codec_id) {
-+ case CODEC_ID_MPEG1VIDEO:
-+ /* FIXME: bitrate */
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/mpeg",
-+ "mpegversion", G_TYPE_INT, 1,
-+ "systemstream", G_TYPE_BOOLEAN, FALSE, NULL);
-+ break;
-+
-+ case CODEC_ID_MPEG2VIDEO:
-+ if (encode) {
-+ /* FIXME: bitrate */
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/mpeg",
-+ "mpegversion", G_TYPE_INT, 2,
-+ "systemstream", G_TYPE_BOOLEAN, FALSE, NULL);
-+ } else {
-+ /* decode both MPEG-1 and MPEG-2; width/height/fps are all in
-+ * the MPEG video stream headers, so may be omitted from caps. */
-+ caps = gst_caps_new_simple ("video/mpeg",
-+ "mpegversion", GST_TYPE_INT_RANGE, 1, 2,
-+ "systemstream", G_TYPE_BOOLEAN, FALSE, NULL);
-+ }
-+ break;
-+
-+ case CODEC_ID_MPEG2VIDEO_XVMC:
-+ /* this is a special ID - don't need it in GStreamer, I think */
-+ break;
-+
-+ case CODEC_ID_H263:
-+ if (encode) {
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-h263",
-+ "variant", G_TYPE_STRING, "itu",
-+ "h263version", G_TYPE_STRING, "h263", NULL);
-+ } else {
-+ /* don't pass codec_id, we can decode other variants with the H263
-+ * decoder that don't have specific size requirements
-+ */
-+ caps = gst_ff_vid_caps_new (context, CODEC_ID_NONE, "video/x-h263",
-+ "variant", G_TYPE_STRING, "itu", NULL);
-+ }
-+ break;
-+
-+ case CODEC_ID_H263P:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-h263",
-+ "variant", G_TYPE_STRING, "itu",
-+ "h263version", G_TYPE_STRING, "h263p", NULL);
-+ if (encode && context) {
-+
-+ gst_caps_set_simple (caps,
-+ "annex-f", G_TYPE_BOOLEAN, context->flags & CODEC_FLAG_4MV,
-+ "annex-j", G_TYPE_BOOLEAN, context->flags & CODEC_FLAG_LOOP_FILTER,
-+ "annex-i", G_TYPE_BOOLEAN, context->flags & CODEC_FLAG_AC_PRED,
-+ "annex-t", G_TYPE_BOOLEAN, context->flags & CODEC_FLAG_AC_PRED,
-+ NULL);
-+ }
-+ break;
-+
-+ case CODEC_ID_H263I:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-intel-h263",
-+ "variant", G_TYPE_STRING, "intel", NULL);
-+ break;
-+
-+ case CODEC_ID_H261:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-h261", NULL);
-+ break;
-+
-+ case CODEC_ID_RV10:
-+ case CODEC_ID_RV20:
-+ case CODEC_ID_RV30:
-+ case CODEC_ID_RV40:
-+ {
-+ gint version;
-+
-+ switch (codec_id) {
-+ case CODEC_ID_RV40:
-+ version = 4;
-+ break;
-+ case CODEC_ID_RV30:
-+ version = 3;
-+ break;
-+ case CODEC_ID_RV20:
-+ version = 2;
-+ break;
-+ default:
-+ version = 1;
-+ break;
-+ }
-+
-+ /* FIXME: context->sub_id must be filled in during decoding */
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-pn-realvideo",
-+ "systemstream", G_TYPE_BOOLEAN, FALSE,
-+ "rmversion", G_TYPE_INT, version, NULL);
-+ if (context) {
-+ gst_caps_set_simple (caps, "format", G_TYPE_INT, context->sub_id, NULL);
-+ if (context->extradata_size >= 8) {
-+ gst_caps_set_simple (caps,
-+ "subformat", G_TYPE_INT, GST_READ_UINT32_BE (context->extradata),
-+ NULL);
-+ }
-+ }
-+ }
-+ break;
-+
-+ case CODEC_ID_MP1:
-+ /* FIXME: bitrate */
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/mpeg",
-+ "mpegversion", G_TYPE_INT, 1, "layer", G_TYPE_INT, 1, NULL);
-+ break;
-+
-+ case CODEC_ID_MP2:
-+ /* FIXME: bitrate */
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/mpeg",
-+ "mpegversion", G_TYPE_INT, 1, "layer", G_TYPE_INT, 2, NULL);
-+ break;
-+
-+ case CODEC_ID_MP3:
-+ if (encode) {
-+ /* FIXME: bitrate */
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/mpeg",
-+ "mpegversion", G_TYPE_INT, 1, "layer", G_TYPE_INT, 3, NULL);
-+ } else {
-+ /* Decodes MPEG-1 layer 1/2/3. Samplerate, channels et al are
-+ * in the MPEG audio header, so may be omitted from caps. */
-+ caps = gst_caps_new_simple ("audio/mpeg",
-+ "mpegversion", G_TYPE_INT, 1,
-+ "layer", GST_TYPE_INT_RANGE, 1, 3, NULL);
-+ }
-+ break;
-+
-+ case CODEC_ID_MUSEPACK7:
-+ caps =
-+ gst_ff_aud_caps_new (context, codec_id,
-+ "audio/x-ffmpeg-parsed-musepack", "streamversion", G_TYPE_INT, 7,
-+ NULL);
-+ break;
-+
-+ case CODEC_ID_MUSEPACK8:
-+ caps =
-+ gst_ff_aud_caps_new (context, codec_id,
-+ "audio/x-ffmpeg-parsed-musepack", "streamversion", G_TYPE_INT, 8,
-+ NULL);
-+ break;
-+
-+ case CODEC_ID_AC3:
-+ /* FIXME: bitrate */
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-ac3", NULL);
-+ break;
-+
-+ case CODEC_ID_EAC3:
-+ /* FIXME: bitrate */
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-eac3", NULL);
-+ break;
-+
-+ case CODEC_ID_TRUEHD:
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-true-hd", NULL);
-+ break;
-+
-+ case CODEC_ID_ATRAC1:
-+ caps =
-+ gst_ff_aud_caps_new (context, codec_id, "audio/x-vnd.sony.atrac1",
-+ NULL);
-+ break;
-+
-+ case CODEC_ID_ATRAC3:
-+ caps =
-+ gst_ff_aud_caps_new (context, codec_id, "audio/x-vnd.sony.atrac3",
-+ NULL);
-+ break;
-+
-+ case CODEC_ID_DTS:
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-dts", NULL);
-+ break;
-+
-+ case CODEC_ID_APE:
-+ caps =
-+ gst_ff_aud_caps_new (context, codec_id, "audio/x-ffmpeg-parsed-ape",
-+ NULL);
-+ if (context) {
-+ gst_caps_set_simple (caps,
-+ "depth", G_TYPE_INT, context->bits_per_coded_sample, NULL);
-+ }
-+ break;
-+
-+ case CODEC_ID_MLP:
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-mlp", NULL);
-+ break;
-+
-+ case CODEC_ID_IMC:
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-imc", NULL);
-+ break;
-+
-+ /* MJPEG is normal JPEG, Motion-JPEG and Quicktime MJPEG-A. MJPEGB
-+ * is Quicktime's MJPEG-B. LJPEG is lossless JPEG. I don't know what
-+ * sp5x is, but it's apparently something JPEG... We don't separate
-+ * between those in GStreamer. Should we (at least between MJPEG,
-+ * MJPEG-B and sp5x decoding...)? */
-+ case CODEC_ID_MJPEG:
-+ case CODEC_ID_LJPEG:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "image/jpeg", NULL);
-+ break;
-+
-+ case CODEC_ID_SP5X:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/sp5x", NULL);
-+ break;
-+
-+ case CODEC_ID_MJPEGB:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-mjpeg-b", NULL);
-+ break;
-+
-+ case CODEC_ID_MPEG4:
-+ if (encode && context != NULL) {
-+ /* I'm not exactly sure what ffmpeg outputs... ffmpeg itself uses
-+ * the AVI fourcc 'DIVX', but 'mp4v' for Quicktime... */
-+ switch (context->codec_tag) {
-+ case GST_MAKE_FOURCC ('D', 'I', 'V', 'X'):
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-divx",
-+ "divxversion", G_TYPE_INT, 5, NULL);
-+ break;
-+ case GST_MAKE_FOURCC ('m', 'p', '4', 'v'):
-+ default:
-+ /* FIXME: bitrate */
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/mpeg",
-+ "systemstream", G_TYPE_BOOLEAN, FALSE,
-+ "mpegversion", G_TYPE_INT, 4, NULL);
-+ break;
-+ }
-+ } else {
-+ /* The trick here is to separate xvid, divx, mpeg4, 3ivx et al */
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/mpeg",
-+ "mpegversion", G_TYPE_INT, 4,
-+ "systemstream", G_TYPE_BOOLEAN, FALSE, NULL);
-+ if (encode) {
-+ gst_caps_append (caps, gst_ff_vid_caps_new (context, codec_id,
-+ "video/x-divx", "divxversion", G_TYPE_INT, 5, NULL));
-+ } else {
-+ gst_caps_append (caps, gst_ff_vid_caps_new (context, codec_id,
-+ "video/x-divx", "divxversion", GST_TYPE_INT_RANGE, 4, 5,
-+ NULL));
-+ gst_caps_append (caps, gst_ff_vid_caps_new (context, codec_id,
-+ "video/x-xvid", NULL));
-+ gst_caps_append (caps, gst_ff_vid_caps_new (context, codec_id,
-+ "video/x-3ivx", NULL));
-+ }
-+ }
-+ break;
-+
-+ case CODEC_ID_RAWVIDEO:
-+ caps =
-+ gst_ffmpeg_codectype_to_caps (AVMEDIA_TYPE_VIDEO, context, codec_id,
-+ encode);
-+ break;
-+
-+ case CODEC_ID_MSMPEG4V1:
-+ case CODEC_ID_MSMPEG4V2:
-+ case CODEC_ID_MSMPEG4V3:
-+ {
-+ gint version = 41 + codec_id - CODEC_ID_MSMPEG4V1;
-+
-+ /* encode-FIXME: bitrate */
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-msmpeg",
-+ "msmpegversion", G_TYPE_INT, version, NULL);
-+ if (!encode && codec_id == CODEC_ID_MSMPEG4V3) {
-+ gst_caps_append (caps, gst_ff_vid_caps_new (context, codec_id,
-+ "video/x-divx", "divxversion", G_TYPE_INT, 3, NULL));
-+ }
-+ }
-+ break;
-+
-+ case CODEC_ID_WMV1:
-+ case CODEC_ID_WMV2:
-+ {
-+ gint version = (codec_id == CODEC_ID_WMV1) ? 1 : 2;
-+
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-wmv",
-+ "wmvversion", G_TYPE_INT, version, NULL);
-+ }
-+ break;
-+
-+ case CODEC_ID_FLV1:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-flash-video",
-+ "flvversion", G_TYPE_INT, 1, NULL);
-+ break;
-+
-+ case CODEC_ID_SVQ1:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-svq",
-+ "svqversion", G_TYPE_INT, 1, NULL);
-+ break;
-+
-+ case CODEC_ID_SVQ3:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-svq",
-+ "svqversion", G_TYPE_INT, 3, NULL);
-+ break;
-+
-+ case CODEC_ID_DVAUDIO:
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-dv", NULL);
-+ break;
-+
-+ case CODEC_ID_DVVIDEO:
-+ {
-+ if (encode && context) {
-+ guint32 fourcc;
-+
-+ switch (context->pix_fmt) {
-+ case PIX_FMT_YUYV422:
-+ fourcc = GST_MAKE_FOURCC ('Y', 'U', 'Y', '2');
-+ break;
-+ case PIX_FMT_YUV420P:
-+ fourcc = GST_MAKE_FOURCC ('I', '4', '2', '0');
-+ break;
-+ case PIX_FMT_YUVA420P:
-+ fourcc = GST_MAKE_FOURCC ('A', '4', '2', '0');
-+ break;
-+ case PIX_FMT_YUV411P:
-+ fourcc = GST_MAKE_FOURCC ('Y', '4', '1', 'B');
-+ break;
-+ case PIX_FMT_YUV422P:
-+ fourcc = GST_MAKE_FOURCC ('Y', '4', '2', 'B');
-+ break;
-+ case PIX_FMT_YUV410P:
-+ fourcc = GST_MAKE_FOURCC ('Y', 'U', 'V', '9');
-+ break;
-+ default:
-+ GST_WARNING
-+ ("Couldnt' find fourcc for pixfmt %d, defaulting to I420",
-+ context->pix_fmt);
-+ fourcc = GST_MAKE_FOURCC ('I', '4', '2', '0');
-+ break;
-+ }
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-dv",
-+ "systemstream", G_TYPE_BOOLEAN, FALSE,
-+ "format", GST_TYPE_FOURCC, fourcc, NULL);
-+ } else {
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-dv",
-+ "systemstream", G_TYPE_BOOLEAN, FALSE, NULL);
-+ }
-+ }
-+ break;
-+
-+ case CODEC_ID_WMAV1:
-+ case CODEC_ID_WMAV2:
-+ {
-+ gint version = (codec_id == CODEC_ID_WMAV1) ? 1 : 2;
-+
-+ if (context) {
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-wma",
-+ "wmaversion", G_TYPE_INT, version,
-+ "block_align", G_TYPE_INT, context->block_align,
-+ "bitrate", G_TYPE_INT, context->bit_rate, NULL);
-+ } else {
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-wma",
-+ "wmaversion", G_TYPE_INT, version,
-+ "block_align", GST_TYPE_INT_RANGE, 0, G_MAXINT,
-+ "bitrate", GST_TYPE_INT_RANGE, 0, G_MAXINT, NULL);
-+ }
-+ }
-+ break;
-+ case CODEC_ID_WMAPRO:
-+ {
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-wma",
-+ "wmaversion", G_TYPE_INT, 3, NULL);
-+ break;
-+ }
-+
-+ case CODEC_ID_WMAVOICE:
-+ {
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-wms", NULL);
-+ break;
-+ }
-+
-+ case CODEC_ID_MACE3:
-+ case CODEC_ID_MACE6:
-+ {
-+ gint version = (codec_id == CODEC_ID_MACE3) ? 3 : 6;
-+
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-mace",
-+ "maceversion", G_TYPE_INT, version, NULL);
-+ }
-+ break;
-+
-+ case CODEC_ID_HUFFYUV:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-huffyuv", NULL);
-+ if (context) {
-+ gst_caps_set_simple (caps,
-+ "bpp", G_TYPE_INT, context->bits_per_coded_sample, NULL);
-+ }
-+ break;
-+
-+ case CODEC_ID_CYUV:
-+ caps =
-+ gst_ff_vid_caps_new (context, codec_id, "video/x-compressed-yuv",
-+ NULL);
-+ break;
-+
-+ case CODEC_ID_H264:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-h264", NULL);
-+ break;
-+
-+ case CODEC_ID_INDEO5:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-indeo",
-+ "indeoversion", G_TYPE_INT, 5, NULL);
-+ break;
-+
-+ case CODEC_ID_INDEO3:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-indeo",
-+ "indeoversion", G_TYPE_INT, 3, NULL);
-+ break;
-+
-+ case CODEC_ID_INDEO2:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-indeo",
-+ "indeoversion", G_TYPE_INT, 2, NULL);
-+ break;
-+
-+ case CODEC_ID_FLASHSV:
-+ caps =
-+ gst_ff_vid_caps_new (context, codec_id, "video/x-flash-screen", NULL);
-+ break;
-+
-+ case CODEC_ID_VP3:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-vp3", NULL);
-+ break;
-+
-+ case CODEC_ID_VP5:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-vp5", NULL);
-+ break;
-+
-+ case CODEC_ID_VP6:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-vp6", NULL);
-+ break;
-+
-+ case CODEC_ID_VP6F:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-vp6-flash", NULL);
-+ break;
-+
-+ case CODEC_ID_VP6A:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-vp6-alpha", NULL);
-+ break;
-+
-+ case CODEC_ID_VP8:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-vp8", NULL);
-+ break;
-+
-+ case CODEC_ID_THEORA:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-theora", NULL);
-+ break;
-+
-+ case CODEC_ID_AAC:
-+ {
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/mpeg", NULL);
-+
-+ if (!encode) {
-+ GValue arr = { 0, };
-+ GValue item = { 0, };
-+
-+ g_value_init (&arr, GST_TYPE_LIST);
-+ g_value_init (&item, G_TYPE_INT);
-+ g_value_set_int (&item, 2);
-+ gst_value_list_append_value (&arr, &item);
-+ g_value_set_int (&item, 4);
-+ gst_value_list_append_value (&arr, &item);
-+ g_value_unset (&item);
-+
-+ gst_caps_set_value (caps, "mpegversion", &arr);
-+ g_value_unset (&arr);
-+
-+ g_value_init (&arr, GST_TYPE_LIST);
-+ g_value_init (&item, G_TYPE_STRING);
-+ g_value_set_string (&item, "raw");
-+ gst_value_list_append_value (&arr, &item);
-+ g_value_set_string (&item, "adts");
-+ gst_value_list_append_value (&arr, &item);
-+ g_value_set_string (&item, "adif");
-+ gst_value_list_append_value (&arr, &item);
-+ g_value_unset (&item);
-+
-+ gst_caps_set_value (caps, "stream-format", &arr);
-+ g_value_unset (&arr);
-+ } else {
-+ gst_caps_set_simple (caps, "mpegversion", G_TYPE_INT, 4,
-+ "stream-format", G_TYPE_STRING, "raw",
-+ "base-profile", G_TYPE_STRING, "lc", NULL);
-+
-+ if (context && context->extradata_size > 0)
-+ gst_codec_utils_aac_caps_set_level_and_profile (caps,
-+ context->extradata, context->extradata_size);
-+ }
-+
-+ break;
-+ }
-+ case CODEC_ID_AAC_LATM: /* LATM/LOAS AAC syntax */
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/mpeg",
-+ "mpegversion", G_TYPE_INT, 4, "stream-format", G_TYPE_STRING, "loas",
-+ NULL);
-+ break;
-+
-+ case CODEC_ID_ASV1:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-asus",
-+ "asusversion", G_TYPE_INT, 1, NULL);
-+ break;
-+ case CODEC_ID_ASV2:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-asus",
-+ "asusversion", G_TYPE_INT, 2, NULL);
-+ break;
-+
-+ case CODEC_ID_FFV1:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-ffv",
-+ "ffvversion", G_TYPE_INT, 1, NULL);
-+ break;
-+
-+ case CODEC_ID_4XM:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-4xm", NULL);
-+ break;
-+
-+ case CODEC_ID_XAN_WC3:
-+ case CODEC_ID_XAN_WC4:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-xan",
-+ "wcversion", G_TYPE_INT, 3 - CODEC_ID_XAN_WC3 + codec_id, NULL);
-+ break;
-+
-+ case CODEC_ID_CLJR:
-+ caps =
-+ gst_ff_vid_caps_new (context, codec_id,
-+ "video/x-cirrus-logic-accupak", NULL);
-+ break;
-+
-+ case CODEC_ID_FRAPS:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-fraps", NULL);
-+ break;
-+
-+ case CODEC_ID_MDEC:
-+ case CODEC_ID_ROQ:
-+ case CODEC_ID_INTERPLAY_VIDEO:
-+ buildcaps = TRUE;
-+ break;
-+
-+ case CODEC_ID_VCR1:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-ati-vcr",
-+ "vcrversion", G_TYPE_INT, 1, NULL);
-+ break;
-+
-+ case CODEC_ID_RPZA:
-+ caps =
-+ gst_ff_vid_caps_new (context, codec_id, "video/x-apple-video", NULL);
-+ break;
-+
-+ case CODEC_ID_CINEPAK:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-cinepak", NULL);
-+ break;
-+
-+ /* WS_VQA belogns here (order) */
-+
-+ case CODEC_ID_MSRLE:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-rle",
-+ "layout", G_TYPE_STRING, "microsoft", NULL);
-+ if (context) {
-+ gst_caps_set_simple (caps,
-+ "depth", G_TYPE_INT, (gint) context->bits_per_coded_sample, NULL);
-+ } else {
-+ gst_caps_set_simple (caps, "depth", GST_TYPE_INT_RANGE, 1, 64, NULL);
-+ }
-+ break;
-+
-+ case CODEC_ID_QTRLE:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-rle",
-+ "layout", G_TYPE_STRING, "quicktime", NULL);
-+ if (context) {
-+ gst_caps_set_simple (caps,
-+ "depth", G_TYPE_INT, (gint) context->bits_per_coded_sample, NULL);
-+ } else {
-+ gst_caps_set_simple (caps, "depth", GST_TYPE_INT_RANGE, 1, 64, NULL);
-+ }
-+ break;
-+
-+ case CODEC_ID_MSVIDEO1:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-msvideocodec",
-+ "msvideoversion", G_TYPE_INT, 1, NULL);
-+ break;
-+
-+ case CODEC_ID_WMV3:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-wmv",
-+ "wmvversion", G_TYPE_INT, 3, NULL);
-+ break;
-+ case CODEC_ID_VC1:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-wmv",
-+ "wmvversion", G_TYPE_INT, 3, "format", GST_TYPE_FOURCC,
-+ GST_MAKE_FOURCC ('W', 'V', 'C', '1'), NULL);
-+ break;
-+ case CODEC_ID_QDM2:
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-qdm2", NULL);
-+ break;
-+
-+ case CODEC_ID_MSZH:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-mszh", NULL);
-+ break;
-+
-+ case CODEC_ID_ZLIB:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-zlib", NULL);
-+ break;
-+
-+ case CODEC_ID_TRUEMOTION1:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-truemotion",
-+ "trueversion", G_TYPE_INT, 1, NULL);
-+ break;
-+ case CODEC_ID_TRUEMOTION2:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-truemotion",
-+ "trueversion", G_TYPE_INT, 2, NULL);
-+ break;
-+
-+ case CODEC_ID_ULTI:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-ultimotion",
-+ NULL);
-+ break;
-+
-+ case CODEC_ID_TSCC:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-camtasia", NULL);
-+ if (context) {
-+ gst_caps_set_simple (caps,
-+ "depth", G_TYPE_INT, (gint) context->bits_per_coded_sample, NULL);
-+ } else {
-+ gst_caps_set_simple (caps, "depth", GST_TYPE_INT_RANGE, 8, 32, NULL);
-+ }
-+ break;
-+
-+ case CODEC_ID_KMVC:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-kmvc", NULL);
-+ break;
-+
-+ case CODEC_ID_NUV:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-nuv", NULL);
-+ break;
-+
-+ case CODEC_ID_GIF:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "image/gif", NULL);
-+ break;
-+
-+ case CODEC_ID_PNG:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "image/png", NULL);
-+ break;
-+
-+ case CODEC_ID_PPM:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "image/ppm", NULL);
-+ break;
-+
-+ case CODEC_ID_PBM:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "image/pbm", NULL);
-+ break;
-+
-+ case CODEC_ID_PAM:
-+ caps =
-+ gst_ff_vid_caps_new (context, codec_id, "image/x-portable-anymap",
-+ NULL);
-+ break;
-+
-+ case CODEC_ID_PGM:
-+ caps =
-+ gst_ff_vid_caps_new (context, codec_id, "image/x-portable-graymap",
-+ NULL);
-+ break;
-+
-+ case CODEC_ID_PCX:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "image/x-pcx", NULL);
-+ break;
-+
-+ case CODEC_ID_SGI:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "image/x-sgi", NULL);
-+ break;
-+
-+ case CODEC_ID_TARGA:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "image/x-tga", NULL);
-+ break;
-+
-+ case CODEC_ID_TIFF:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "image/tiff", NULL);
-+ break;
-+
-+ case CODEC_ID_SUNRAST:
-+ caps =
-+ gst_ff_vid_caps_new (context, codec_id, "image/x-sun-raster", NULL);
-+ break;
-+
-+ case CODEC_ID_SMC:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-smc", NULL);
-+ break;
-+
-+ case CODEC_ID_QDRAW:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-qdrw", NULL);
-+ break;
-+
-+ case CODEC_ID_DNXHD:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-dnxhd", NULL);
-+ break;
-+
-+ case CODEC_ID_MIMIC:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-mimic", NULL);
-+ break;
-+
-+ case CODEC_ID_VMNC:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-vmnc", NULL);
-+ break;
-+
-+ case CODEC_ID_TRUESPEECH:
-+ caps =
-+ gst_ff_aud_caps_new (context, codec_id, "audio/x-truespeech", NULL);
-+ break;
-+
-+ case CODEC_ID_QCELP:
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/qcelp", NULL);
-+ break;
-+
-+ case CODEC_ID_AMV:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-amv", NULL);
-+ break;
-+
-+ case CODEC_ID_AASC:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-aasc", NULL);
-+ break;
-+
-+ case CODEC_ID_LOCO:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-loco", NULL);
-+ break;
-+
-+ case CODEC_ID_ZMBV:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-zmbv", NULL);
-+ break;
-+
-+ case CODEC_ID_LAGARITH:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-lagarith", NULL);
-+ break;
-+
-+ case CODEC_ID_CSCD:
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-camstudio", NULL);
-+ if (context) {
-+ gst_caps_set_simple (caps,
-+ "depth", G_TYPE_INT, (gint) context->bits_per_coded_sample, NULL);
-+ } else {
-+ gst_caps_set_simple (caps, "depth", GST_TYPE_INT_RANGE, 8, 32, NULL);
-+ }
-+ break;
-+
-+ case CODEC_ID_WS_VQA:
-+ case CODEC_ID_IDCIN:
-+ case CODEC_ID_8BPS:
-+ case CODEC_ID_FLIC:
-+ case CODEC_ID_VMDVIDEO:
-+ case CODEC_ID_VMDAUDIO:
-+ case CODEC_ID_SNOW:
-+ case CODEC_ID_VIXL:
-+ case CODEC_ID_QPEG:
-+ case CODEC_ID_PGMYUV:
-+ case CODEC_ID_FFVHUFF:
-+ case CODEC_ID_WNV1:
-+ case CODEC_ID_MP3ADU:
-+ case CODEC_ID_MP3ON4:
-+ case CODEC_ID_WESTWOOD_SND1:
-+ case CODEC_ID_MMVIDEO:
-+ case CODEC_ID_AVS:
-+ case CODEC_ID_CAVS:
-+ buildcaps = TRUE;
-+ break;
-+
-+ /* weird quasi-codecs for the demuxers only */
-+ case CODEC_ID_PCM_S16LE:
-+ case CODEC_ID_PCM_S16BE:
-+ case CODEC_ID_PCM_U16LE:
-+ case CODEC_ID_PCM_U16BE:
-+ case CODEC_ID_PCM_S8:
-+ case CODEC_ID_PCM_U8:
-+ {
-+ gint width = 0, depth = 0, endianness = 0;
-+ gboolean signedness = FALSE; /* blabla */
-+
-+ switch (codec_id) {
-+ case CODEC_ID_PCM_S16LE:
-+ width = 16;
-+ depth = 16;
-+ endianness = G_LITTLE_ENDIAN;
-+ signedness = TRUE;
-+ break;
-+ case CODEC_ID_PCM_S16BE:
-+ width = 16;
-+ depth = 16;
-+ endianness = G_BIG_ENDIAN;
-+ signedness = TRUE;
-+ break;
-+ case CODEC_ID_PCM_U16LE:
-+ width = 16;
-+ depth = 16;
-+ endianness = G_LITTLE_ENDIAN;
-+ signedness = FALSE;
-+ break;
-+ case CODEC_ID_PCM_U16BE:
-+ width = 16;
-+ depth = 16;
-+ endianness = G_BIG_ENDIAN;
-+ signedness = FALSE;
-+ break;
-+ case CODEC_ID_PCM_S8:
-+ width = 8;
-+ depth = 8;
-+ endianness = G_BYTE_ORDER;
-+ signedness = TRUE;
-+ break;
-+ case CODEC_ID_PCM_U8:
-+ width = 8;
-+ depth = 8;
-+ endianness = G_BYTE_ORDER;
-+ signedness = FALSE;
-+ break;
-+ default:
-+ g_assert (0); /* don't worry, we never get here */
-+ break;
-+ }
-+
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-raw-int",
-+ "width", G_TYPE_INT, width,
-+ "depth", G_TYPE_INT, depth,
-+ "endianness", G_TYPE_INT, endianness,
-+ "signed", G_TYPE_BOOLEAN, signedness, NULL);
-+ }
-+ break;
-+
-+ case CODEC_ID_PCM_MULAW:
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-mulaw", NULL);
-+ break;
-+
-+ case CODEC_ID_PCM_ALAW:
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-alaw", NULL);
-+ break;
-+
-+ case CODEC_ID_ADPCM_G722:
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/G722", NULL);
-+ if (context)
-+ gst_caps_set_simple (caps,
-+ "block_align", G_TYPE_INT, context->block_align,
-+ "bitrate", G_TYPE_INT, context->bit_rate, NULL);
-+ break;
-+
-+ case CODEC_ID_ADPCM_G726:
-+ {
-+ /* the G726 decoder can also handle G721 */
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-adpcm",
-+ "layout", G_TYPE_STRING, "g726", NULL);
-+ if (context)
-+ gst_caps_set_simple (caps,
-+ "block_align", G_TYPE_INT, context->block_align,
-+ "bitrate", G_TYPE_INT, context->bit_rate, NULL);
-+
-+ if (!encode) {
-+ gst_caps_append (caps, gst_caps_new_simple ("audio/x-adpcm",
-+ "layout", G_TYPE_STRING, "g721",
-+ "channels", G_TYPE_INT, 1, "rate", G_TYPE_INT, 8000, NULL));
-+ }
-+ break;
-+ }
-+ case CODEC_ID_ADPCM_IMA_QT:
-+ case CODEC_ID_ADPCM_IMA_WAV:
-+ case CODEC_ID_ADPCM_IMA_DK3:
-+ case CODEC_ID_ADPCM_IMA_DK4:
-+ case CODEC_ID_ADPCM_IMA_WS:
-+ case CODEC_ID_ADPCM_IMA_SMJPEG:
-+ case CODEC_ID_ADPCM_IMA_AMV:
-+ case CODEC_ID_ADPCM_IMA_ISS:
-+ case CODEC_ID_ADPCM_IMA_EA_EACS:
-+ case CODEC_ID_ADPCM_IMA_EA_SEAD:
-+ case CODEC_ID_ADPCM_MS:
-+ case CODEC_ID_ADPCM_4XM:
-+ case CODEC_ID_ADPCM_XA:
-+ case CODEC_ID_ADPCM_ADX:
-+ case CODEC_ID_ADPCM_EA:
-+ case CODEC_ID_ADPCM_CT:
-+ case CODEC_ID_ADPCM_SWF:
-+ case CODEC_ID_ADPCM_YAMAHA:
-+ case CODEC_ID_ADPCM_SBPRO_2:
-+ case CODEC_ID_ADPCM_SBPRO_3:
-+ case CODEC_ID_ADPCM_SBPRO_4:
-+ case CODEC_ID_ADPCM_EA_R1:
-+ case CODEC_ID_ADPCM_EA_R2:
-+ case CODEC_ID_ADPCM_EA_R3:
-+ case CODEC_ID_ADPCM_EA_MAXIS_XA:
-+ case CODEC_ID_ADPCM_EA_XAS:
-+ case CODEC_ID_ADPCM_THP:
-+ {
-+ const gchar *layout = NULL;
-+
-+ switch (codec_id) {
-+ case CODEC_ID_ADPCM_IMA_QT:
-+ layout = "quicktime";
-+ break;
-+ case CODEC_ID_ADPCM_IMA_WAV:
-+ layout = "dvi";
-+ break;
-+ case CODEC_ID_ADPCM_IMA_DK3:
-+ layout = "dk3";
-+ break;
-+ case CODEC_ID_ADPCM_IMA_DK4:
-+ layout = "dk4";
-+ break;
-+ case CODEC_ID_ADPCM_IMA_WS:
-+ layout = "westwood";
-+ break;
-+ case CODEC_ID_ADPCM_IMA_SMJPEG:
-+ layout = "smjpeg";
-+ break;
-+ case CODEC_ID_ADPCM_IMA_AMV:
-+ layout = "amv";
-+ break;
-+ case CODEC_ID_ADPCM_IMA_ISS:
-+ layout = "iss";
-+ break;
-+ case CODEC_ID_ADPCM_IMA_EA_EACS:
-+ layout = "ea-eacs";
-+ break;
-+ case CODEC_ID_ADPCM_IMA_EA_SEAD:
-+ layout = "ea-sead";
-+ break;
-+ case CODEC_ID_ADPCM_MS:
-+ layout = "microsoft";
-+ break;
-+ case CODEC_ID_ADPCM_4XM:
-+ layout = "4xm";
-+ break;
-+ case CODEC_ID_ADPCM_XA:
-+ layout = "xa";
-+ break;
-+ case CODEC_ID_ADPCM_ADX:
-+ layout = "adx";
-+ break;
-+ case CODEC_ID_ADPCM_EA:
-+ layout = "ea";
-+ break;
-+ case CODEC_ID_ADPCM_CT:
-+ layout = "ct";
-+ break;
-+ case CODEC_ID_ADPCM_SWF:
-+ layout = "swf";
-+ break;
-+ case CODEC_ID_ADPCM_YAMAHA:
-+ layout = "yamaha";
-+ break;
-+ case CODEC_ID_ADPCM_SBPRO_2:
-+ layout = "sbpro2";
-+ break;
-+ case CODEC_ID_ADPCM_SBPRO_3:
-+ layout = "sbpro3";
-+ break;
-+ case CODEC_ID_ADPCM_SBPRO_4:
-+ layout = "sbpro4";
-+ break;
-+ case CODEC_ID_ADPCM_EA_R1:
-+ layout = "ea-r1";
-+ break;
-+ case CODEC_ID_ADPCM_EA_R2:
-+ layout = "ea-r3";
-+ break;
-+ case CODEC_ID_ADPCM_EA_R3:
-+ layout = "ea-r3";
-+ break;
-+ case CODEC_ID_ADPCM_EA_MAXIS_XA:
-+ layout = "ea-maxis-xa";
-+ break;
-+ case CODEC_ID_ADPCM_EA_XAS:
-+ layout = "ea-xas";
-+ break;
-+ case CODEC_ID_ADPCM_THP:
-+ layout = "thp";
-+ break;
-+ default:
-+ g_assert (0); /* don't worry, we never get here */
-+ break;
-+ }
-+
-+ /* FIXME: someone please check whether we need additional properties
-+ * in this caps definition. */
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-adpcm",
-+ "layout", G_TYPE_STRING, layout, NULL);
-+ if (context)
-+ gst_caps_set_simple (caps,
-+ "block_align", G_TYPE_INT, context->block_align,
-+ "bitrate", G_TYPE_INT, context->bit_rate, NULL);
-+ }
-+ break;
-+
-+ case CODEC_ID_AMR_NB:
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/AMR", NULL);
-+ break;
-+
-+ case CODEC_ID_AMR_WB:
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/AMR-WB", NULL);
-+ break;
-+
-+ case CODEC_ID_GSM:
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-gsm", NULL);
-+ break;
-+
-+ case CODEC_ID_GSM_MS:
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/ms-gsm", NULL);
-+ break;
-+
-+ case CODEC_ID_NELLYMOSER:
-+ caps =
-+ gst_ff_aud_caps_new (context, codec_id, "audio/x-nellymoser", NULL);
-+ break;
-+
-+ case CODEC_ID_SIPR:
-+ {
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-sipro", NULL);
-+ if (context) {
-+ gst_caps_set_simple (caps,
-+ "leaf_size", G_TYPE_INT, context->block_align,
-+ "bitrate", G_TYPE_INT, context->bit_rate, NULL);
-+ }
-+ }
-+ break;
-+
-+ case CODEC_ID_RA_144:
-+ case CODEC_ID_RA_288:
-+ case CODEC_ID_COOK:
-+ {
-+ gint version = 0;
-+
-+ switch (codec_id) {
-+ case CODEC_ID_RA_144:
-+ version = 1;
-+ break;
-+ case CODEC_ID_RA_288:
-+ version = 2;
-+ break;
-+ case CODEC_ID_COOK:
-+ version = 8;
-+ break;
-+ default:
-+ break;
-+ }
-+
-+ /* FIXME: properties? */
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-pn-realaudio",
-+ "raversion", G_TYPE_INT, version, NULL);
-+ if (context) {
-+ gst_caps_set_simple (caps,
-+ "leaf_size", G_TYPE_INT, context->block_align,
-+ "bitrate", G_TYPE_INT, context->bit_rate, NULL);
-+ }
-+ }
-+ break;
-+
-+ case CODEC_ID_ROQ_DPCM:
-+ case CODEC_ID_INTERPLAY_DPCM:
-+ case CODEC_ID_XAN_DPCM:
-+ case CODEC_ID_SOL_DPCM:
-+ {
-+ const gchar *layout = NULL;
-+
-+ switch (codec_id) {
-+ case CODEC_ID_ROQ_DPCM:
-+ layout = "roq";
-+ break;
-+ case CODEC_ID_INTERPLAY_DPCM:
-+ layout = "interplay";
-+ break;
-+ case CODEC_ID_XAN_DPCM:
-+ layout = "xan";
-+ break;
-+ case CODEC_ID_SOL_DPCM:
-+ layout = "sol";
-+ break;
-+ default:
-+ g_assert (0); /* don't worry, we never get here */
-+ break;
-+ }
-+
-+ /* FIXME: someone please check whether we need additional properties
-+ * in this caps definition. */
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-dpcm",
-+ "layout", G_TYPE_STRING, layout, NULL);
-+ if (context)
-+ gst_caps_set_simple (caps,
-+ "block_align", G_TYPE_INT, context->block_align,
-+ "bitrate", G_TYPE_INT, context->bit_rate, NULL);
-+ }
-+ break;
-+
-+ case CODEC_ID_SHORTEN:
-+ caps = gst_caps_new_simple ("audio/x-shorten", NULL);
-+ break;
-+
-+ case CODEC_ID_ALAC:
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-alac", NULL);
-+ if (context) {
-+ gst_caps_set_simple (caps,
-+ "samplesize", G_TYPE_INT, context->bits_per_coded_sample, NULL);
-+ }
-+ break;
-+
-+ case CODEC_ID_FLAC:
-+ /* Note that ffmpeg has no encoder yet, but just for safety. In the
-+ * encoder case, we want to add things like samplerate, channels... */
-+ if (!encode) {
-+ caps = gst_caps_new_simple ("audio/x-flac", NULL);
-+ }
-+ break;
-+
-+ case CODEC_ID_DVD_SUBTITLE:
-+ case CODEC_ID_DVB_SUBTITLE:
-+ caps = NULL;
-+ break;
-+ case CODEC_ID_BMP:
-+ caps = gst_caps_new_simple ("image/bmp", NULL);
-+ break;
-+ case CODEC_ID_TTA:
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-tta", NULL);
-+ if (context) {
-+ gst_caps_set_simple (caps,
-+ "samplesize", G_TYPE_INT, context->bits_per_coded_sample, NULL);
-+ }
-+ break;
-+ case CODEC_ID_TWINVQ:
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-twin-vq", NULL);
-+ break;
-+ default:
-+ GST_DEBUG ("Unknown codec ID %d, please add mapping here", codec_id);
-+ break;
-+ }
-+
-+ if (buildcaps) {
-+ AVCodec *codec;
-+
-+ if ((codec = avcodec_find_decoder (codec_id)) ||
-+ (codec = avcodec_find_encoder (codec_id))) {
-+ gchar *mime = NULL;
-+
-+ GST_LOG ("Could not create stream format caps for %s", codec->name);
-+
-+ switch (codec->type) {
-+ case AVMEDIA_TYPE_VIDEO:
-+ mime = g_strdup_printf ("video/x-gst_ff-%s", codec->name);
-+ caps = gst_ff_vid_caps_new (context, codec_id, mime, NULL);
-+ g_free (mime);
-+ break;
-+ case AVMEDIA_TYPE_AUDIO:
-+ mime = g_strdup_printf ("audio/x-gst_ff-%s", codec->name);
-+ caps = gst_ff_aud_caps_new (context, codec_id, mime, NULL);
-+ if (context)
-+ gst_caps_set_simple (caps,
-+ "block_align", G_TYPE_INT, context->block_align,
-+ "bitrate", G_TYPE_INT, context->bit_rate, NULL);
-+ g_free (mime);
-+ break;
-+ default:
-+ break;
-+ }
-+ }
-+ }
-+
-+ if (caps != NULL) {
-+
-+ /* set private data */
-+ if (context && context->extradata_size > 0) {
-+ GstBuffer *data = gst_buffer_new_and_alloc (context->extradata_size);
-+
-+ memcpy (GST_BUFFER_DATA (data), context->extradata,
-+ context->extradata_size);
-+ gst_caps_set_simple (caps, "codec_data", GST_TYPE_BUFFER, data, NULL);
-+ gst_buffer_unref (data);
-+ }
-+
-+ /* palette */
-+ if (context) {
-+ gst_ffmpeg_set_palette (caps, context);
-+ }
-+
-+ GST_LOG ("caps for codec_id=%d: %" GST_PTR_FORMAT, codec_id, caps);
-+
-+ } else {
-+ GST_LOG ("No caps found for codec_id=%d", codec_id);
-+ }
-+
-+ return caps;
-+}
-+
-+/* Convert a FFMPEG Pixel Format and optional AVCodecContext
-+ * to a GstCaps. If the context is ommitted, no fixed values
-+ * for video/audio size will be included in the GstCaps
-+ *
-+ * See below for usefullness
-+ */
-+
-+GstCaps *
-+gst_ffmpeg_pixfmt_to_caps (enum PixelFormat pix_fmt, AVCodecContext * context,
-+ enum CodecID codec_id)
-+{
-+ GstCaps *caps = NULL;
-+
-+ int bpp = 0, depth = 0, endianness = 0;
-+ gulong g_mask = 0, r_mask = 0, b_mask = 0, a_mask = 0;
-+ guint32 fmt = 0;
-+
-+ switch (pix_fmt) {
-+ case PIX_FMT_YUVJ420P:
-+ case PIX_FMT_YUV420P:
-+ fmt = GST_MAKE_FOURCC ('I', '4', '2', '0');
-+ break;
-+ case PIX_FMT_YUVA420P:
-+ fmt = GST_MAKE_FOURCC ('A', '4', '2', '0');
-+ break;
-+ case PIX_FMT_YUYV422:
-+ fmt = GST_MAKE_FOURCC ('Y', 'U', 'Y', '2');
-+ break;
-+ case PIX_FMT_RGB24:
-+ bpp = depth = 24;
-+ endianness = G_BIG_ENDIAN;
-+ r_mask = 0xff0000;
-+ g_mask = 0x00ff00;
-+ b_mask = 0x0000ff;
-+ break;
-+ case PIX_FMT_BGR24:
-+ bpp = depth = 24;
-+ endianness = G_BIG_ENDIAN;
-+ r_mask = 0x0000ff;
-+ g_mask = 0x00ff00;
-+ b_mask = 0xff0000;
-+ break;
-+ case PIX_FMT_YUVJ422P:
-+ case PIX_FMT_YUV422P:
-+ fmt = GST_MAKE_FOURCC ('Y', '4', '2', 'B');
-+ break;
-+ case PIX_FMT_YUVJ444P:
-+ case PIX_FMT_YUV444P:
-+ fmt = GST_MAKE_FOURCC ('Y', '4', '4', '4');
-+ break;
-+ case PIX_FMT_RGB32:
-+ bpp = 32;
-+ depth = 32;
-+ endianness = G_BIG_ENDIAN;
-+#if (G_BYTE_ORDER == G_BIG_ENDIAN)
-+ r_mask = 0x00ff0000;
-+ g_mask = 0x0000ff00;
-+ b_mask = 0x000000ff;
-+ a_mask = 0xff000000;
-+#else
-+ r_mask = 0x0000ff00;
-+ g_mask = 0x00ff0000;
-+ b_mask = 0xff000000;
-+ a_mask = 0x000000ff;
-+#endif
-+ break;
-+ case PIX_FMT_YUV410P:
-+ fmt = GST_MAKE_FOURCC ('Y', 'U', 'V', '9');
-+ break;
-+ case PIX_FMT_YUV411P:
-+ fmt = GST_MAKE_FOURCC ('Y', '4', '1', 'B');
-+ break;
-+ case PIX_FMT_RGB565:
-+ bpp = depth = 16;
-+ endianness = G_BYTE_ORDER;
-+ r_mask = 0xf800;
-+ g_mask = 0x07e0;
-+ b_mask = 0x001f;
-+ break;
-+ case PIX_FMT_RGB555:
-+ bpp = 16;
-+ depth = 15;
-+ endianness = G_BYTE_ORDER;
-+ r_mask = 0x7c00;
-+ g_mask = 0x03e0;
-+ b_mask = 0x001f;
-+ break;
-+ case PIX_FMT_PAL8:
-+ bpp = depth = 8;
-+ endianness = G_BYTE_ORDER;
-+ break;
-+ case PIX_FMT_GRAY8:
-+ bpp = depth = 8;
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-raw-gray",
-+ "bpp", G_TYPE_INT, bpp, "depth", G_TYPE_INT, depth, NULL);
-+ break;
-+ default:
-+ /* give up ... */
-+ break;
-+ }
-+
-+ if (caps == NULL) {
-+ if (bpp != 0) {
-+ if (r_mask != 0) {
-+ if (a_mask) {
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-raw-rgb",
-+ "bpp", G_TYPE_INT, bpp,
-+ "depth", G_TYPE_INT, depth,
-+ "red_mask", G_TYPE_INT, r_mask,
-+ "green_mask", G_TYPE_INT, g_mask,
-+ "blue_mask", G_TYPE_INT, b_mask,
-+ "alpha_mask", G_TYPE_INT, a_mask,
-+ "endianness", G_TYPE_INT, endianness, NULL);
-+ } else {
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-raw-rgb",
-+ "bpp", G_TYPE_INT, bpp,
-+ "depth", G_TYPE_INT, depth,
-+ "red_mask", G_TYPE_INT, r_mask,
-+ "green_mask", G_TYPE_INT, g_mask,
-+ "blue_mask", G_TYPE_INT, b_mask,
-+ "endianness", G_TYPE_INT, endianness, NULL);
-+ }
-+ } else {
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-raw-rgb",
-+ "bpp", G_TYPE_INT, bpp,
-+ "depth", G_TYPE_INT, depth,
-+ "endianness", G_TYPE_INT, endianness, NULL);
-+ if (caps && context) {
-+ gst_ffmpeg_set_palette (caps, context);
-+ }
-+ }
-+ } else if (fmt) {
-+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-raw-yuv",
-+ "format", GST_TYPE_FOURCC, fmt, NULL);
-+ }
-+ }
-+
-+ if (caps != NULL) {
-+ GST_DEBUG ("caps for pix_fmt=%d: %" GST_PTR_FORMAT, pix_fmt, caps);
-+ } else {
-+ GST_LOG ("No caps found for pix_fmt=%d", pix_fmt);
-+ }
-+
-+ return caps;
-+}
-+
-+/* Convert a FFMPEG Sample Format and optional AVCodecContext
-+ * to a GstCaps. If the context is ommitted, no fixed values
-+ * for video/audio size will be included in the GstCaps
-+ *
-+ * See below for usefullness
-+ */
-+
-+static GstCaps *
-+gst_ffmpeg_smpfmt_to_caps (enum AVSampleFormat sample_fmt,
-+ AVCodecContext * context, enum CodecID codec_id)
-+{
-+ GstCaps *caps = NULL;
-+
-+ int bpp = 0;
-+ gboolean integer = TRUE;
-+ gboolean signedness = FALSE;
-+
-+ switch (sample_fmt) {
-+ case AV_SAMPLE_FMT_S16:
-+ signedness = TRUE;
-+ bpp = 16;
-+ break;
-+
-+ case AV_SAMPLE_FMT_S32:
-+ signedness = TRUE;
-+ bpp = 32;
-+ break;
-+
-+ case AV_SAMPLE_FMT_FLT:
-+ integer = FALSE;
-+ bpp = 32;
-+ break;
-+
-+ case AV_SAMPLE_FMT_DBL:
-+ integer = FALSE;
-+ bpp = 64;
-+ break;
-+ default:
-+ /* .. */
-+ break;
-+ }
-+
-+ if (bpp) {
-+ if (integer) {
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-raw-int",
-+ "signed", G_TYPE_BOOLEAN, signedness,
-+ "endianness", G_TYPE_INT, G_BYTE_ORDER,
-+ "width", G_TYPE_INT, bpp, "depth", G_TYPE_INT, bpp, NULL);
-+ } else {
-+ caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-raw-float",
-+ "endianness", G_TYPE_INT, G_BYTE_ORDER,
-+ "width", G_TYPE_INT, bpp, NULL);
-+ }
-+ }
-+
-+ if (caps != NULL) {
-+ GST_LOG ("caps for sample_fmt=%d: %" GST_PTR_FORMAT, sample_fmt, caps);
-+ } else {
-+ GST_LOG ("No caps found for sample_fmt=%d", sample_fmt);
-+ }
-+
-+ return caps;
-+}
-+
-+GstCaps *
-+gst_ffmpeg_codectype_to_audio_caps (AVCodecContext * context,
-+ enum CodecID codec_id, gboolean encode, AVCodec * codec)
-+{
-+ GstCaps *caps = NULL;
-+
-+ GST_DEBUG ("context:%p, codec_id:%d, encode:%d, codec:%p",
-+ context, codec_id, encode, codec);
-+ if (codec)
-+ GST_DEBUG ("sample_fmts:%p, samplerates:%p",
-+ codec->sample_fmts, codec->supported_samplerates);
-+
-+ if (context) {
-+ /* Specific codec context */
-+ caps = gst_ffmpeg_smpfmt_to_caps (context->sample_fmt, context, codec_id);
-+ } else if (codec && codec->sample_fmts) {
-+ GstCaps *temp;
-+ int i;
-+
-+ caps = gst_caps_new_empty ();
-+ for (i = 0; codec->sample_fmts[i] != -1; i++) {
-+ temp =
-+ gst_ffmpeg_smpfmt_to_caps (codec->sample_fmts[i], context, codec_id);
-+ if (temp != NULL)
-+ gst_caps_append (caps, temp);
-+ }
-+ } else {
-+ GstCaps *temp;
-+ enum AVSampleFormat i;
-+ AVCodecContext ctx = { 0, };
-+
-+ ctx.channels = -1;
-+ caps = gst_caps_new_empty ();
-+ for (i = 0; i <= AV_SAMPLE_FMT_DBL; i++) {
-+ temp = gst_ffmpeg_smpfmt_to_caps (i, encode ? &ctx : NULL, codec_id);
-+ if (temp != NULL) {
-+ gst_caps_append (caps, temp);
-+ }
-+ }
-+ }
-+ return caps;
-+}
-+
-+GstCaps *
-+gst_ffmpeg_codectype_to_video_caps (AVCodecContext * context,
-+ enum CodecID codec_id, gboolean encode, AVCodec * codec)
-+{
-+ GstCaps *caps;
-+
-+ GST_LOG ("context:%p, codec_id:%d, encode:%d, codec:%p",
-+ context, codec_id, encode, codec);
-+
-+ if (context) {
-+ caps = gst_ffmpeg_pixfmt_to_caps (context->pix_fmt, context, codec_id);
-+ } else {
-+ GstCaps *temp;
-+ enum PixelFormat i;
-+ AVCodecContext ctx = { 0, };
-+
-+ caps = gst_caps_new_empty ();
-+ for (i = 0; i < PIX_FMT_NB; i++) {
-+ ctx.width = -1;
-+ ctx.pix_fmt = i;
-+ temp = gst_ffmpeg_pixfmt_to_caps (i, encode ? &ctx : NULL, codec_id);
-+ if (temp != NULL) {
-+ gst_caps_append (caps, temp);
-+ }
-+ }
-+ }
-+ return caps;
-+}
-+
-+/* Convert a FFMPEG codec Type and optional AVCodecContext
-+ * to a GstCaps. If the context is ommitted, no fixed values
-+ * for video/audio size will be included in the GstCaps
-+ *
-+ * AVMediaType is primarily meant for uncompressed data GstCaps!
-+ */
-+
-+GstCaps *
-+gst_ffmpeg_codectype_to_caps (enum AVMediaType codec_type,
-+ AVCodecContext * context, enum CodecID codec_id, gboolean encode)
-+{
-+ GstCaps *caps;
-+
-+ switch (codec_type) {
-+ case AVMEDIA_TYPE_VIDEO:
-+ caps =
-+ gst_ffmpeg_codectype_to_video_caps (context, codec_id, encode, NULL);
-+ break;
-+ case AVMEDIA_TYPE_AUDIO:
-+ caps =
-+ gst_ffmpeg_codectype_to_audio_caps (context, codec_id, encode, NULL);
-+ break;
-+ default:
-+ caps = NULL;
-+ break;
-+ }
-+
-+ return caps;
-+}
-+
-+/* Convert a GstCaps (audio/raw) to a FFMPEG SampleFmt
-+ * and other audio properties in a AVCodecContext.
-+ *
-+ * For usefullness, see below
-+ */
-+
-+static void
-+gst_ffmpeg_caps_to_smpfmt (const GstCaps * caps,
-+ AVCodecContext * context, gboolean raw)
-+{
-+ GstStructure *structure;
-+ gint depth = 0, width = 0, endianness = 0;
-+ gboolean signedness = FALSE;
-+ const gchar *name;
-+
-+ g_return_if_fail (gst_caps_get_size (caps) == 1);
-+ structure = gst_caps_get_structure (caps, 0);
-+
-+ gst_structure_get_int (structure, "channels", &context->channels);
-+ gst_structure_get_int (structure, "rate", &context->sample_rate);
-+ gst_structure_get_int (structure, "block_align", &context->block_align);
-+ gst_structure_get_int (structure, "bitrate", &context->bit_rate);
-+
-+ if (!raw)
-+ return;
-+
-+ name = gst_structure_get_name (structure);
-+
-+ if (!strcmp (name, "audio/x-raw-float")) {
-+ /* FLOAT */
-+ if (gst_structure_get_int (structure, "width", &width) &&
-+ gst_structure_get_int (structure, "endianness", &endianness)) {
-+ if (endianness == G_BYTE_ORDER) {
-+ if (width == 32)
-+ context->sample_fmt = AV_SAMPLE_FMT_FLT;
-+ else if (width == 64)
-+ context->sample_fmt = AV_SAMPLE_FMT_DBL;
-+ }
-+ }
-+ } else {
-+ /* INT */
-+ if (gst_structure_get_int (structure, "width", &width) &&
-+ gst_structure_get_int (structure, "depth", &depth) &&
-+ gst_structure_get_boolean (structure, "signed", &signedness) &&
-+ gst_structure_get_int (structure, "endianness", &endianness)) {
-+ if ((endianness == G_BYTE_ORDER) && (signedness == TRUE)) {
-+ if ((width == 16) && (depth == 16))
-+ context->sample_fmt = AV_SAMPLE_FMT_S16;
-+ else if ((width == 32) && (depth == 32))
-+ context->sample_fmt = AV_SAMPLE_FMT_S32;
-+ }
-+ }
-+ }
-+}
-+
-+
-+/* Convert a GstCaps (video/raw) to a FFMPEG PixFmt
-+ * and other video properties in a AVCodecContext.
-+ *
-+ * For usefullness, see below
-+ */
-+
-+static void
-+gst_ffmpeg_caps_to_pixfmt (const GstCaps * caps,
-+ AVCodecContext * context, gboolean raw)
-+{
-+ GstStructure *structure;
-+ const GValue *fps;
-+ const GValue *par = NULL;
-+
-+ GST_DEBUG ("converting caps %" GST_PTR_FORMAT, caps);
-+ g_return_if_fail (gst_caps_get_size (caps) == 1);
-+ structure = gst_caps_get_structure (caps, 0);
-+
-+ gst_structure_get_int (structure, "width", &context->width);
-+ gst_structure_get_int (structure, "height", &context->height);
-+ gst_structure_get_int (structure, "bpp", &context->bits_per_coded_sample);
-+
-+ fps = gst_structure_get_value (structure, "framerate");
-+ if (fps != NULL && GST_VALUE_HOLDS_FRACTION (fps)) {
-+
-+ /* somehow these seem mixed up.. */
-+ context->time_base.den = gst_value_get_fraction_numerator (fps);
-+ context->time_base.num = gst_value_get_fraction_denominator (fps);
-+ context->ticks_per_frame = 1;
-+
-+ GST_DEBUG ("setting framerate %d/%d = %lf",
-+ context->time_base.den, context->time_base.num,
-+ 1. * context->time_base.den / context->time_base.num);
-+ }
-+
-+ par = gst_structure_get_value (structure, "pixel-aspect-ratio");
-+ if (par && GST_VALUE_HOLDS_FRACTION (par)) {
-+
-+ context->sample_aspect_ratio.num = gst_value_get_fraction_numerator (par);
-+ context->sample_aspect_ratio.den = gst_value_get_fraction_denominator (par);
-+
-+ GST_DEBUG ("setting pixel-aspect-ratio %d/%d = %lf",
-+ context->sample_aspect_ratio.den, context->sample_aspect_ratio.num,
-+ 1. * context->sample_aspect_ratio.den /
-+ context->sample_aspect_ratio.num);
-+ }
-+
-+ if (!raw)
-+ return;
-+
-+ g_return_if_fail (fps != NULL && GST_VALUE_HOLDS_FRACTION (fps));
-+
-+ if (strcmp (gst_structure_get_name (structure), "video/x-raw-yuv") == 0) {
-+ guint32 fourcc;
-+
-+ if (gst_structure_get_fourcc (structure, "format", &fourcc)) {
-+ switch (fourcc) {
-+ case GST_MAKE_FOURCC ('Y', 'U', 'Y', '2'):
-+ context->pix_fmt = PIX_FMT_YUYV422;
-+ break;
-+ case GST_MAKE_FOURCC ('I', '4', '2', '0'):
-+ context->pix_fmt = PIX_FMT_YUV420P;
-+ break;
-+ case GST_MAKE_FOURCC ('A', '4', '2', '0'):
-+ context->pix_fmt = PIX_FMT_YUVA420P;
-+ break;
-+ case GST_MAKE_FOURCC ('Y', '4', '1', 'B'):
-+ context->pix_fmt = PIX_FMT_YUV411P;
-+ break;
-+ case GST_MAKE_FOURCC ('Y', '4', '2', 'B'):
-+ context->pix_fmt = PIX_FMT_YUV422P;
-+ break;
-+ case GST_MAKE_FOURCC ('Y', 'U', 'V', '9'):
-+ context->pix_fmt = PIX_FMT_YUV410P;
-+ break;
-+#if 0
-+ case FIXME:
-+ context->pix_fmt = PIX_FMT_YUV444P;
-+ break;
-+#endif
-+ }
-+ }
-+ } else if (strcmp (gst_structure_get_name (structure),
-+ "video/x-raw-rgb") == 0) {
-+ gint bpp = 0, rmask = 0, endianness = 0;
-+
-+ if (gst_structure_get_int (structure, "bpp", &bpp) &&
-+ gst_structure_get_int (structure, "endianness", &endianness)) {
-+ if (gst_structure_get_int (structure, "red_mask", &rmask)) {
-+ switch (bpp) {
-+ case 32:
-+#if (G_BYTE_ORDER == G_BIG_ENDIAN)
-+ if (rmask == 0x00ff0000)
-+#else
-+ if (rmask == 0x0000ff00)
-+#endif
-+ context->pix_fmt = PIX_FMT_RGB32;
-+ break;
-+ case 24:
-+ if (rmask == 0x0000FF)
-+ context->pix_fmt = PIX_FMT_BGR24;
-+ else
-+ context->pix_fmt = PIX_FMT_RGB24;
-+ break;
-+ case 16:
-+ if (endianness == G_BYTE_ORDER)
-+ context->pix_fmt = PIX_FMT_RGB565;
-+ break;
-+ case 15:
-+ if (endianness == G_BYTE_ORDER)
-+ context->pix_fmt = PIX_FMT_RGB555;
-+ break;
-+ default:
-+ /* nothing */
-+ break;
-+ }
-+ } else {
-+ if (bpp == 8) {
-+ context->pix_fmt = PIX_FMT_PAL8;
-+ gst_ffmpeg_get_palette (caps, context);
-+ }
-+ }
-+ }
-+ } else if (strcmp (gst_structure_get_name (structure),
-+ "video/x-raw-gray") == 0) {
-+ gint bpp = 0;
-+
-+ if (gst_structure_get_int (structure, "bpp", &bpp)) {
-+ switch (bpp) {
-+ case 8:
-+ context->pix_fmt = PIX_FMT_GRAY8;
-+ break;
-+ }
-+ }
-+ }
-+}
-+
-+/* Convert a GstCaps and a FFMPEG codec Type to a
-+ * AVCodecContext. If the context is ommitted, no fixed values
-+ * for video/audio size will be included in the context
-+ *
-+ * AVMediaType is primarily meant for uncompressed data GstCaps!
-+ */
-+
-+void
-+gst_ffmpeg_caps_with_codectype (enum AVMediaType type,
-+ const GstCaps * caps, AVCodecContext * context)
-+{
-+ if (context == NULL)
-+ return;
-+
-+ switch (type) {
-+ case AVMEDIA_TYPE_VIDEO:
-+ gst_ffmpeg_caps_to_pixfmt (caps, context, TRUE);
-+ break;
-+
-+ case AVMEDIA_TYPE_AUDIO:
-+ gst_ffmpeg_caps_to_smpfmt (caps, context, TRUE);
-+ break;
-+
-+ default:
-+ /* unknown */
-+ break;
-+ }
-+}
-+
-+#if 0
-+static void
-+nal_escape (guint8 * dst, guint8 * src, guint size, guint * destsize)
-+{
-+ guint8 *dstp = dst;
-+ guint8 *srcp = src;
-+ guint8 *end = src + size;
-+ gint count = 0;
-+
-+ while (srcp < end) {
-+ if (count == 2 && *srcp <= 0x03) {
-+ GST_DEBUG ("added escape code");
-+ *dstp++ = 0x03;
-+ count = 0;
-+ }
-+ if (*srcp == 0)
-+ count++;
-+ else
-+ count = 0;
-+
-+ GST_DEBUG ("copy %02x, count %d", *srcp, count);
-+ *dstp++ = *srcp++;
-+ }
-+ *destsize = dstp - dst;
-+}
-+
-+/* copy the config, escaping NAL units as we iterate them, if something fails we
-+ * copy everything and hope for the best. */
-+static void
-+copy_config (guint8 * dst, guint8 * src, guint size, guint * destsize)
-+{
-+ guint8 *dstp = dst;
-+ guint8 *srcp = src;
-+ gint cnt, i;
-+ guint nalsize, esize;
-+
-+ /* check size */
-+ if (size < 7)
-+ goto full_copy;
-+
-+ /* check version */
-+ if (*srcp != 1)
-+ goto full_copy;
-+
-+ cnt = *(srcp + 5) & 0x1f; /* Number of sps */
-+
-+ GST_DEBUG ("num SPS %d", cnt);
-+
-+ memcpy (dstp, srcp, 6);
-+ srcp += 6;
-+ dstp += 6;
-+
-+ for (i = 0; i < cnt; i++) {
-+ GST_DEBUG ("copy SPS %d", i);
-+ nalsize = (srcp[0] << 8) | srcp[1];
-+ nal_escape (dstp + 2, srcp + 2, nalsize, &esize);
-+ dstp[0] = esize >> 8;
-+ dstp[1] = esize & 0xff;
-+ dstp += esize + 2;
-+ srcp += nalsize + 2;
-+ }
-+
-+ cnt = *(dstp++) = *(srcp++); /* Number of pps */
-+
-+ GST_DEBUG ("num PPS %d", cnt);
-+
-+ for (i = 0; i < cnt; i++) {
-+ GST_DEBUG ("copy PPS %d", i);
-+ nalsize = (srcp[0] << 8) | srcp[1];
-+ nal_escape (dstp + 2, srcp + 2, nalsize, &esize);
-+ dstp[0] = esize >> 8;
-+ dstp[1] = esize & 0xff;
-+ dstp += esize + 2;
-+ srcp += nalsize + 2;
-+ }
-+ *destsize = dstp - dst;
-+
-+ return;
-+
-+full_copy:
-+ {
-+ GST_DEBUG ("something unexpected, doing full copy");
-+ memcpy (dst, src, size);
-+ *destsize = size;
-+ return;
-+ }
-+}
-+#endif
-+
-+/*
-+ * caps_with_codecid () transforms a GstCaps for a known codec
-+ * ID into a filled-in context.
-+ * codec_data from caps will override possible extradata already in the context
-+ */
-+
-+void
-+gst_ffmpeg_caps_with_codecid (enum CodecID codec_id,
-+ enum AVMediaType codec_type, const GstCaps * caps, AVCodecContext * context)
-+{
-+ GstStructure *str;
-+ const GValue *value;
-+ const GstBuffer *buf;
-+
-+ GST_LOG ("codec_id:%d, codec_type:%d, caps:%" GST_PTR_FORMAT " context:%p",
-+ codec_id, codec_type, caps, context);
-+
-+ if (!context || !gst_caps_get_size (caps))
-+ return;
-+
-+ str = gst_caps_get_structure (caps, 0);
-+
-+ /* extradata parsing (esds [mpeg4], wma/wmv, msmpeg4v1/2/3, etc.) */
-+ if ((value = gst_structure_get_value (str, "codec_data"))) {
-+ guint size;
-+ guint8 *data;
-+
-+ buf = GST_BUFFER_CAST (gst_value_get_mini_object (value));
-+ size = GST_BUFFER_SIZE (buf);
-+ data = GST_BUFFER_DATA (buf);
-+
-+ /* free the old one if it is there */
-+ if (context->extradata)
-+ av_free (context->extradata);
-+
-+#if 0
-+ if (codec_id == CODEC_ID_H264) {
-+ guint extrasize;
-+
-+ GST_DEBUG ("copy, escaping codec_data %d", size);
-+ /* ffmpeg h264 expects the codec_data to be escaped, there is no real
-+ * reason for this but let's just escape it for now. Start by allocating
-+ * enough space, x2 is more than enough.
-+ *
-+ * FIXME, we disabled escaping because some file already contain escaped
-+ * codec_data and then we escape twice and fail. It's better to leave it
-+ * as is, as that is what most players do. */
-+ context->extradata =
-+ av_mallocz (GST_ROUND_UP_16 (size * 2 +
-+ FF_INPUT_BUFFER_PADDING_SIZE));
-+ copy_config (context->extradata, data, size, &extrasize);
-+ GST_DEBUG ("escaped size: %d", extrasize);
-+ context->extradata_size = extrasize;
-+ } else
-+#endif
-+ {
-+ /* allocate with enough padding */
-+ GST_DEBUG ("copy codec_data");
-+ context->extradata =
-+ av_mallocz (GST_ROUND_UP_16 (size + FF_INPUT_BUFFER_PADDING_SIZE));
-+ memcpy (context->extradata, data, size);
-+ context->extradata_size = size;
-+ }
-+
-+ /* Hack for VC1. Sometimes the first (length) byte is 0 for some files */
-+ if (codec_id == CODEC_ID_VC1 && size > 0 && data[0] == 0) {
-+ context->extradata[0] = (guint8) size;
-+ }
-+
-+ GST_DEBUG ("have codec data of size %d", size);
-+ } else if (context->extradata == NULL && codec_id != CODEC_ID_AAC_LATM &&
-+ codec_id != CODEC_ID_FLAC) {
-+ /* no extradata, alloc dummy with 0 sized, some codecs insist on reading
-+ * extradata anyway which makes then segfault. */
-+ context->extradata =
-+ av_mallocz (GST_ROUND_UP_16 (FF_INPUT_BUFFER_PADDING_SIZE));
-+ context->extradata_size = 0;
-+ GST_DEBUG ("no codec data");
-+ }
-+
-+ switch (codec_id) {
-+ case CODEC_ID_MPEG4:
-+ {
-+ const gchar *mime = gst_structure_get_name (str);
-+
-+ if (!strcmp (mime, "video/x-divx"))
-+ context->codec_tag = GST_MAKE_FOURCC ('D', 'I', 'V', 'X');
-+ else if (!strcmp (mime, "video/x-xvid"))
-+ context->codec_tag = GST_MAKE_FOURCC ('X', 'V', 'I', 'D');
-+ else if (!strcmp (mime, "video/x-3ivx"))
-+ context->codec_tag = GST_MAKE_FOURCC ('3', 'I', 'V', '1');
-+ else if (!strcmp (mime, "video/mpeg"))
-+ context->codec_tag = GST_MAKE_FOURCC ('m', 'p', '4', 'v');
-+ }
-+ break;
-+
-+ case CODEC_ID_SVQ3:
-+ /* FIXME: this is a workaround for older gst-plugins releases
-+ * (<= 0.8.9). This should be removed at some point, because
-+ * it causes wrong decoded frame order. */
-+ if (!context->extradata) {
-+ gint halfpel_flag, thirdpel_flag, low_delay, unknown_svq3_flag;
-+ guint16 flags;
-+
-+ if (gst_structure_get_int (str, "halfpel_flag", &halfpel_flag) ||
-+ gst_structure_get_int (str, "thirdpel_flag", &thirdpel_flag) ||
-+ gst_structure_get_int (str, "low_delay", &low_delay) ||
-+ gst_structure_get_int (str, "unknown_svq3_flag",
-+ &unknown_svq3_flag)) {
-+ context->extradata = (guint8 *) av_mallocz (0x64);
-+ g_stpcpy ((gchar *) context->extradata, "SVQ3");
-+ flags = 1 << 3;
-+ flags |= low_delay;
-+ flags = flags << 2;
-+ flags |= unknown_svq3_flag;
-+ flags = flags << 6;
-+ flags |= halfpel_flag;
-+ flags = flags << 1;
-+ flags |= thirdpel_flag;
-+ flags = flags << 3;
-+
-+ flags = GUINT16_FROM_LE (flags);
-+
-+ memcpy ((gchar *) context->extradata + 0x62, &flags, 2);
-+ context->extradata_size = 0x64;
-+ }
-+ }
-+ break;
-+
-+ case CODEC_ID_MSRLE:
-+ case CODEC_ID_QTRLE:
-+ case CODEC_ID_TSCC:
-+ case CODEC_ID_CSCD:
-+ case CODEC_ID_APE:
-+ {
-+ gint depth;
-+
-+ if (gst_structure_get_int (str, "depth", &depth)) {
-+ context->bits_per_coded_sample = depth;
-+ } else {
-+ GST_WARNING ("No depth field in caps %" GST_PTR_FORMAT, caps);
-+ }
-+
-+ }
-+ break;
-+
-+ case CODEC_ID_RV10:
-+ case CODEC_ID_RV20:
-+ case CODEC_ID_RV30:
-+ case CODEC_ID_RV40:
-+ {
-+ gint format;
-+
-+ if (gst_structure_get_int (str, "format", &format))
-+ context->sub_id = format;
-+
-+ break;
-+ }
-+ case CODEC_ID_COOK:
-+ case CODEC_ID_RA_288:
-+ case CODEC_ID_RA_144:
-+ case CODEC_ID_SIPR:
-+ {
-+ gint leaf_size;
-+ gint bitrate;
-+
-+ if (gst_structure_get_int (str, "leaf_size", &leaf_size))
-+ context->block_align = leaf_size;
-+ if (gst_structure_get_int (str, "bitrate", &bitrate))
-+ context->bit_rate = bitrate;
-+ }
-+ case CODEC_ID_ALAC:
-+ gst_structure_get_int (str, "samplesize",
-+ &context->bits_per_coded_sample);
-+ break;
-+
-+ case CODEC_ID_DVVIDEO:
-+ {
-+ guint32 fourcc;
-+
-+ if (gst_structure_get_fourcc (str, "format", &fourcc))
-+ switch (fourcc) {
-+ case GST_MAKE_FOURCC ('Y', 'U', 'Y', '2'):
-+ context->pix_fmt = PIX_FMT_YUYV422;
-+ break;
-+ case GST_MAKE_FOURCC ('I', '4', '2', '0'):
-+ context->pix_fmt = PIX_FMT_YUV420P;
-+ break;
-+ case GST_MAKE_FOURCC ('A', '4', '2', '0'):
-+ context->pix_fmt = PIX_FMT_YUVA420P;
-+ break;
-+ case GST_MAKE_FOURCC ('Y', '4', '1', 'B'):
-+ context->pix_fmt = PIX_FMT_YUV411P;
-+ break;
-+ case GST_MAKE_FOURCC ('Y', '4', '2', 'B'):
-+ context->pix_fmt = PIX_FMT_YUV422P;
-+ break;
-+ case GST_MAKE_FOURCC ('Y', 'U', 'V', '9'):
-+ context->pix_fmt = PIX_FMT_YUV410P;
-+ break;
-+ default:
-+ GST_WARNING ("couldn't convert fourcc %" GST_FOURCC_FORMAT
-+ " to a pixel format", GST_FOURCC_ARGS (fourcc));
-+ break;
-+ }
-+ break;
-+ }
-+ case CODEC_ID_H263P:
-+ {
-+ gboolean val;
-+
-+ if (!gst_structure_get_boolean (str, "annex-f", &val) || val)
-+ context->flags |= CODEC_FLAG_4MV;
-+ else
-+ context->flags &= ~CODEC_FLAG_4MV;
-+ if ((!gst_structure_get_boolean (str, "annex-i", &val) || val) &&
-+ (!gst_structure_get_boolean (str, "annex-t", &val) || val))
-+ context->flags |= CODEC_FLAG_AC_PRED;
-+ else
-+ context->flags &= ~CODEC_FLAG_AC_PRED;
-+ if (!gst_structure_get_boolean (str, "annex-j", &val) || val)
-+ context->flags |= CODEC_FLAG_LOOP_FILTER;
-+ else
-+ context->flags &= ~CODEC_FLAG_LOOP_FILTER;
-+ break;
-+ }
-+ case CODEC_ID_ADPCM_G726:
-+ {
-+ const gchar *layout;
-+
-+ if ((layout = gst_structure_get_string (str, "layout"))) {
-+ if (!strcmp (layout, "g721")) {
-+ context->sample_rate = 8000;
-+ context->channels = 1;
-+ context->bit_rate = 32000;
-+ }
-+ }
-+ break;
-+ }
-+ default:
-+ break;
-+ }
-+
-+ if (!gst_caps_is_fixed (caps))
-+ return;
-+
-+ /* common properties (width, height, fps) */
-+ switch (codec_type) {
-+ case AVMEDIA_TYPE_VIDEO:
-+ gst_ffmpeg_caps_to_pixfmt (caps, context, codec_id == CODEC_ID_RAWVIDEO);
-+ gst_ffmpeg_get_palette (caps, context);
-+ break;
-+ case AVMEDIA_TYPE_AUDIO:
-+ gst_ffmpeg_caps_to_smpfmt (caps, context, FALSE);
-+ break;
-+ default:
-+ break;
-+ }
-+
-+ /* fixup of default settings */
-+ switch (codec_id) {
-+ case CODEC_ID_QCELP:
-+ /* QCELP is always mono, no matter what the caps say */
-+ context->channels = 1;
-+ break;
-+ default:
-+ break;
-+ }
-+}
-+
-+/* _formatid_to_caps () is meant for muxers/demuxers, it
-+ * transforms a name (ffmpeg way of ID'ing these, why don't
-+ * they have unique numerical IDs?) to the corresponding
-+ * caps belonging to that mux-format
-+ *
-+ * Note: we don't need any additional info because the caps
-+ * isn't supposed to contain any useful info besides the
-+ * media type anyway
-+ */
-+
-+GstCaps *
-+gst_ffmpeg_formatid_to_caps (const gchar * format_name)
-+{
-+ GstCaps *caps = NULL;
-+
-+ if (!strcmp (format_name, "mpeg")) {
-+ caps = gst_caps_new_simple ("video/mpeg",
-+ "systemstream", G_TYPE_BOOLEAN, TRUE, NULL);
-+ } else if (!strcmp (format_name, "mpegts")) {
-+ caps = gst_caps_new_simple ("video/mpegts",
-+ "systemstream", G_TYPE_BOOLEAN, TRUE, NULL);
-+ } else if (!strcmp (format_name, "rm")) {
-+ caps = gst_caps_new_simple ("application/x-pn-realmedia",
-+ "systemstream", G_TYPE_BOOLEAN, TRUE, NULL);
-+ } else if (!strcmp (format_name, "asf")) {
-+ caps = gst_caps_new_simple ("video/x-ms-asf", NULL);
-+ } else if (!strcmp (format_name, "avi")) {
-+ caps = gst_caps_new_simple ("video/x-msvideo", NULL);
-+ } else if (!strcmp (format_name, "wav")) {
-+ caps = gst_caps_new_simple ("audio/x-wav", NULL);
-+ } else if (!strcmp (format_name, "ape")) {
-+ caps = gst_caps_new_simple ("application/x-ape", NULL);
-+ } else if (!strcmp (format_name, "swf")) {
-+ caps = gst_caps_new_simple ("application/x-shockwave-flash", NULL);
-+ } else if (!strcmp (format_name, "au")) {
-+ caps = gst_caps_new_simple ("audio/x-au", NULL);
-+ } else if (!strcmp (format_name, "dv")) {
-+ caps = gst_caps_new_simple ("video/x-dv",
-+ "systemstream", G_TYPE_BOOLEAN, TRUE, NULL);
-+ } else if (!strcmp (format_name, "4xm")) {
-+ caps = gst_caps_new_simple ("video/x-4xm", NULL);
-+ } else if (!strcmp (format_name, "matroska")) {
-+ caps = gst_caps_new_simple ("video/x-matroska", NULL);
-+ } else if (!strcmp (format_name, "mp3")) {
-+ caps = gst_caps_new_simple ("application/x-id3", NULL);
-+ } else if (!strcmp (format_name, "flic")) {
-+ caps = gst_caps_new_simple ("video/x-fli", NULL);
-+ } else if (!strcmp (format_name, "flv")) {
-+ caps = gst_caps_new_simple ("video/x-flv", NULL);
-+ } else if (!strcmp (format_name, "tta")) {
-+ caps = gst_caps_new_simple ("audio/x-ttafile", NULL);
-+ } else if (!strcmp (format_name, "aiff")) {
-+ caps = gst_caps_new_simple ("audio/x-aiff", NULL);
-+ } else if (!strcmp (format_name, "mov_mp4_m4a_3gp_3g2")) {
-+ caps =
-+ gst_caps_from_string
-+ ("application/x-3gp; video/quicktime; audio/x-m4a");
-+ } else if (!strcmp (format_name, "mov")) {
-+ caps = gst_caps_from_string ("video/quicktime,variant=(string)apple");
-+ } else if (!strcmp (format_name, "mp4")) {
-+ caps = gst_caps_from_string ("video/quicktime,variant=(string)iso");
-+ } else if (!strcmp (format_name, "3gp")) {
-+ caps = gst_caps_from_string ("video/quicktime,variant=(string)3gpp");
-+ } else if (!strcmp (format_name, "3g2")) {
-+ caps = gst_caps_from_string ("video/quicktime,variant=(string)3g2");
-+ } else if (!strcmp (format_name, "psp")) {
-+ caps = gst_caps_from_string ("video/quicktime,variant=(string)psp");
-+ } else if (!strcmp (format_name, "ipod")) {
-+ caps = gst_caps_from_string ("video/quicktime,variant=(string)ipod");
-+ } else if (!strcmp (format_name, "aac")) {
-+ caps = gst_caps_new_simple ("audio/mpeg",
-+ "mpegversion", G_TYPE_INT, 4, NULL);
-+ } else if (!strcmp (format_name, "gif")) {
-+ caps = gst_caps_from_string ("image/gif");
-+ } else if (!strcmp (format_name, "ogg")) {
-+ caps = gst_caps_from_string ("application/ogg");
-+ } else if (!strcmp (format_name, "mxf") || !strcmp (format_name, "mxf_d10")) {
-+ caps = gst_caps_from_string ("application/mxf");
-+ } else if (!strcmp (format_name, "gxf")) {
-+ caps = gst_caps_from_string ("application/gxf");
-+ } else if (!strcmp (format_name, "yuv4mpegpipe")) {
-+ caps = gst_caps_new_simple ("application/x-yuv4mpeg",
-+ "y4mversion", G_TYPE_INT, 2, NULL);
-+ } else if (!strcmp (format_name, "mpc")) {
-+ caps = gst_caps_from_string ("audio/x-musepack, streamversion = (int) 7");
-+ } else if (!strcmp (format_name, "vqf")) {
-+ caps = gst_caps_from_string ("audio/x-vqf");
-+ } else if (!strcmp (format_name, "nsv")) {
-+ caps = gst_caps_from_string ("video/x-nsv");
-+ } else if (!strcmp (format_name, "amr")) {
-+ caps = gst_caps_from_string ("audio/x-amr-nb-sh");
-+ } else if (!strcmp (format_name, "webm")) {
-+ caps = gst_caps_from_string ("video/webm");
-+ } else {
-+ gchar *name;
-+
-+ GST_LOG ("Could not create stream format caps for %s", format_name);
-+ name = g_strdup_printf ("application/x-gst_ff-%s", format_name);
-+ caps = gst_caps_new_simple (name, NULL);
-+ g_free (name);
-+ }
-+
-+ return caps;
-+}
-+
-+gboolean
-+gst_ffmpeg_formatid_get_codecids (const gchar * format_name,
-+ enum CodecID ** video_codec_list, enum CodecID ** audio_codec_list,
-+ AVOutputFormat * plugin)
-+{
-+ static enum CodecID tmp_vlist[] = {
-+ CODEC_ID_NONE,
-+ CODEC_ID_NONE
-+ };
-+ static enum CodecID tmp_alist[] = {
-+ CODEC_ID_NONE,
-+ CODEC_ID_NONE
-+ };
-+
-+ GST_LOG ("format_name : %s", format_name);
-+
-+ if (!strcmp (format_name, "mp4")) {
-+ static enum CodecID mp4_video_list[] = {
-+ CODEC_ID_MPEG4, CODEC_ID_H264,
-+ CODEC_ID_MJPEG,
-+ CODEC_ID_NONE
-+ };
-+ static enum CodecID mp4_audio_list[] = {
-+ CODEC_ID_AAC, CODEC_ID_MP3,
-+ CODEC_ID_NONE
-+ };
-+
-+ *video_codec_list = mp4_video_list;
-+ *audio_codec_list = mp4_audio_list;
-+ } else if (!strcmp (format_name, "mpeg")) {
-+ static enum CodecID mpeg_video_list[] = { CODEC_ID_MPEG1VIDEO,
-+ CODEC_ID_MPEG2VIDEO,
-+ CODEC_ID_H264,
-+ CODEC_ID_NONE
-+ };
-+ static enum CodecID mpeg_audio_list[] = { CODEC_ID_MP1,
-+ CODEC_ID_MP2,
-+ CODEC_ID_MP3,
-+ CODEC_ID_NONE
-+ };
-+
-+ *video_codec_list = mpeg_video_list;
-+ *audio_codec_list = mpeg_audio_list;
-+ } else if (!strcmp (format_name, "dvd")) {
-+ static enum CodecID mpeg_video_list[] = { CODEC_ID_MPEG2VIDEO,
-+ CODEC_ID_NONE
-+ };
-+ static enum CodecID mpeg_audio_list[] = { CODEC_ID_MP2,
-+ CODEC_ID_AC3,
-+ CODEC_ID_DTS,
-+ CODEC_ID_PCM_S16BE,
-+ CODEC_ID_NONE
-+ };
-+
-+ *video_codec_list = mpeg_video_list;
-+ *audio_codec_list = mpeg_audio_list;
-+ } else if (!strcmp (format_name, "mpegts")) {
-+ static enum CodecID mpegts_video_list[] = { CODEC_ID_MPEG1VIDEO,
-+ CODEC_ID_MPEG2VIDEO,
-+ CODEC_ID_H264,
-+ CODEC_ID_NONE
-+ };
-+ static enum CodecID mpegts_audio_list[] = { CODEC_ID_MP2,
-+ CODEC_ID_MP3,
-+ CODEC_ID_AC3,
-+ CODEC_ID_DTS,
-+ CODEC_ID_AAC,
-+ CODEC_ID_NONE
-+ };
-+
-+ *video_codec_list = mpegts_video_list;
-+ *audio_codec_list = mpegts_audio_list;
-+ } else if (!strcmp (format_name, "vob")) {
-+ static enum CodecID vob_video_list[] =
-+ { CODEC_ID_MPEG2VIDEO, CODEC_ID_NONE };
-+ static enum CodecID vob_audio_list[] = { CODEC_ID_MP2, CODEC_ID_AC3,
-+ CODEC_ID_DTS, CODEC_ID_NONE
-+ };
-+
-+ *video_codec_list = vob_video_list;
-+ *audio_codec_list = vob_audio_list;
-+ } else if (!strcmp (format_name, "flv")) {
-+ static enum CodecID flv_video_list[] = { CODEC_ID_FLV1, CODEC_ID_NONE };
-+ static enum CodecID flv_audio_list[] = { CODEC_ID_MP3, CODEC_ID_NONE };
-+
-+ *video_codec_list = flv_video_list;
-+ *audio_codec_list = flv_audio_list;
-+ } else if (!strcmp (format_name, "asf")) {
-+ static enum CodecID asf_video_list[] =
-+ { CODEC_ID_WMV1, CODEC_ID_WMV2, CODEC_ID_MSMPEG4V3, CODEC_ID_NONE };
-+ static enum CodecID asf_audio_list[] =
-+ { CODEC_ID_WMAV1, CODEC_ID_WMAV2, CODEC_ID_MP3, CODEC_ID_NONE };
-+
-+ *video_codec_list = asf_video_list;
-+ *audio_codec_list = asf_audio_list;
-+ } else if (!strcmp (format_name, "dv")) {
-+ static enum CodecID dv_video_list[] = { CODEC_ID_DVVIDEO, CODEC_ID_NONE };
-+ static enum CodecID dv_audio_list[] = { CODEC_ID_PCM_S16LE, CODEC_ID_NONE };
-+
-+ *video_codec_list = dv_video_list;
-+ *audio_codec_list = dv_audio_list;
-+ } else if (!strcmp (format_name, "mov")) {
-+ static enum CodecID mov_video_list[] = {
-+ CODEC_ID_SVQ1, CODEC_ID_SVQ3, CODEC_ID_MPEG4,
-+ CODEC_ID_H263, CODEC_ID_H263P,
-+ CODEC_ID_H264, CODEC_ID_DVVIDEO,
-+ CODEC_ID_MJPEG,
-+ CODEC_ID_NONE
-+ };
-+ static enum CodecID mov_audio_list[] = {
-+ CODEC_ID_PCM_MULAW, CODEC_ID_PCM_ALAW, CODEC_ID_ADPCM_IMA_QT,
-+ CODEC_ID_MACE3, CODEC_ID_MACE6, CODEC_ID_AAC,
-+ CODEC_ID_AMR_NB, CODEC_ID_AMR_WB,
-+ CODEC_ID_PCM_S16BE, CODEC_ID_PCM_S16LE,
-+ CODEC_ID_MP3, CODEC_ID_NONE
-+ };
-+
-+ *video_codec_list = mov_video_list;
-+ *audio_codec_list = mov_audio_list;
-+ } else if ((!strcmp (format_name, "3gp") || !strcmp (format_name, "3g2"))) {
-+ static enum CodecID tgp_video_list[] = {
-+ CODEC_ID_MPEG4, CODEC_ID_H263, CODEC_ID_H263P, CODEC_ID_H264,
-+ CODEC_ID_NONE
-+ };
-+ static enum CodecID tgp_audio_list[] = {
-+ CODEC_ID_AMR_NB, CODEC_ID_AMR_WB,
-+ CODEC_ID_AAC,
-+ CODEC_ID_NONE
-+ };
-+
-+ *video_codec_list = tgp_video_list;
-+ *audio_codec_list = tgp_audio_list;
-+ } else if (!strcmp (format_name, "mmf")) {
-+ static enum CodecID mmf_audio_list[] = {
-+ CODEC_ID_ADPCM_YAMAHA, CODEC_ID_NONE
-+ };
-+ *video_codec_list = NULL;
-+ *audio_codec_list = mmf_audio_list;
-+ } else if (!strcmp (format_name, "amr")) {
-+ static enum CodecID amr_audio_list[] = {
-+ CODEC_ID_AMR_NB, CODEC_ID_AMR_WB,
-+ CODEC_ID_NONE
-+ };
-+ *video_codec_list = NULL;
-+ *audio_codec_list = amr_audio_list;
-+ } else if (!strcmp (format_name, "gif")) {
-+ static enum CodecID gif_image_list[] = {
-+ CODEC_ID_RAWVIDEO, CODEC_ID_NONE
-+ };
-+ *video_codec_list = gif_image_list;
-+ *audio_codec_list = NULL;
-+ } else if ((plugin->audio_codec != CODEC_ID_NONE) ||
-+ (plugin->video_codec != CODEC_ID_NONE)) {
-+ tmp_vlist[0] = plugin->video_codec;
-+ tmp_alist[0] = plugin->audio_codec;
-+
-+ *video_codec_list = tmp_vlist;
-+ *audio_codec_list = tmp_alist;
-+ } else {
-+ GST_LOG ("Format %s not found", format_name);
-+ return FALSE;
-+ }
-+
-+ return TRUE;
-+}
-+
-+/* Convert a GstCaps to a FFMPEG codec ID. Size et all
-+ * are omitted, that can be queried by the user itself,
-+ * we're not eating the GstCaps or anything
-+ * A pointer to an allocated context is also needed for
-+ * optional extra info
-+ */
-+
-+enum CodecID
-+gst_ffmpeg_caps_to_codecid (const GstCaps * caps, AVCodecContext * context)
-+{
-+ enum CodecID id = CODEC_ID_NONE;
-+ const gchar *mimetype;
-+ const GstStructure *structure;
-+ gboolean video = FALSE, audio = FALSE; /* we want to be sure! */
-+
-+ g_return_val_if_fail (caps != NULL, CODEC_ID_NONE);
-+ g_return_val_if_fail (gst_caps_get_size (caps) == 1, CODEC_ID_NONE);
-+ structure = gst_caps_get_structure (caps, 0);
-+
-+ mimetype = gst_structure_get_name (structure);
-+
-+ if (!strcmp (mimetype, "video/x-raw-rgb") ||
-+ !strcmp (mimetype, "video/x-raw-yuv")) {
-+ id = CODEC_ID_RAWVIDEO;
-+ video = TRUE;
-+ } else if (!strcmp (mimetype, "audio/x-raw-int")) {
-+ gint depth, width, endianness;
-+ gboolean signedness;
-+
-+ if (gst_structure_get_int (structure, "endianness", &endianness) &&
-+ gst_structure_get_boolean (structure, "signed", &signedness) &&
-+ gst_structure_get_int (structure, "width", &width) &&
-+ gst_structure_get_int (structure, "depth", &depth) && depth == width) {
-+ switch (depth) {
-+ case 8:
-+ if (signedness) {
-+ id = CODEC_ID_PCM_S8;
-+ } else {
-+ id = CODEC_ID_PCM_U8;
-+ }
-+ break;
-+ case 16:
-+ switch (endianness) {
-+ case G_BIG_ENDIAN:
-+ if (signedness) {
-+ id = CODEC_ID_PCM_S16BE;
-+ } else {
-+ id = CODEC_ID_PCM_U16BE;
-+ }
-+ break;
-+ case G_LITTLE_ENDIAN:
-+ if (signedness) {
-+ id = CODEC_ID_PCM_S16LE;
-+ } else {
-+ id = CODEC_ID_PCM_U16LE;
-+ }
-+ break;
-+ }
-+ break;
-+ }
-+ if (id != CODEC_ID_NONE)
-+ audio = TRUE;
-+ }
-+ } else if (!strcmp (mimetype, "audio/x-mulaw")) {
-+ id = CODEC_ID_PCM_MULAW;
-+ audio = TRUE;
-+ } else if (!strcmp (mimetype, "audio/x-alaw")) {
-+ id = CODEC_ID_PCM_ALAW;
-+ audio = TRUE;
-+ } else if (!strcmp (mimetype, "video/x-dv")) {
-+ gboolean sys_strm;
-+
-+ if (gst_structure_get_boolean (structure, "systemstream", &sys_strm) &&
-+ !sys_strm) {
-+ id = CODEC_ID_DVVIDEO;
-+ video = TRUE;
-+ }
-+ } else if (!strcmp (mimetype, "audio/x-dv")) { /* ??? */
-+ id = CODEC_ID_DVAUDIO;
-+ audio = TRUE;
-+ } else if (!strcmp (mimetype, "video/x-h263")) {
-+ const gchar *h263version =
-+ gst_structure_get_string (structure, "h263version");
-+ if (h263version && !strcmp (h263version, "h263p"))
-+ id = CODEC_ID_H263P;
-+ else
-+ id = CODEC_ID_H263;
-+ video = TRUE;
-+ } else if (!strcmp (mimetype, "video/x-intel-h263")) {
-+ id = CODEC_ID_H263I;
-+ video = TRUE;
-+ } else if (!strcmp (mimetype, "video/x-h261")) {
-+ id = CODEC_ID_H261;
-+ video = TRUE;
-+ } else if (!strcmp (mimetype, "video/mpeg")) {
-+ gboolean sys_strm;
-+ gint mpegversion;
-+
-+ if (gst_structure_get_boolean (structure, "systemstream", &sys_strm) &&
-+ gst_structure_get_int (structure, "mpegversion", &mpegversion) &&
-+ !sys_strm) {
-+ switch (mpegversion) {
-+ case 1:
-+ id = CODEC_ID_MPEG1VIDEO;
-+ break;
-+ case 2:
-+ id = CODEC_ID_MPEG2VIDEO;
-+ break;
-+ case 4:
-+ id = CODEC_ID_MPEG4;
-+ break;
-+ }
-+ }
-+ if (id != CODEC_ID_NONE)
-+ video = TRUE;
-+ } else if (!strcmp (mimetype, "image/jpeg")) {
-+ id = CODEC_ID_MJPEG; /* A... B... */
-+ video = TRUE;
-+ } else if (!strcmp (mimetype, "video/x-jpeg-b")) {
-+ id = CODEC_ID_MJPEGB;
-+ video = TRUE;
-+ } else if (!strcmp (mimetype, "video/x-wmv")) {
-+ gint wmvversion = 0;
-+
-+ if (gst_structure_get_int (structure, "wmvversion", &wmvversion)) {
-+ switch (wmvversion) {
-+ case 1:
-+ id = CODEC_ID_WMV1;
-+ break;
-+ case 2:
-+ id = CODEC_ID_WMV2;
-+ break;
-+ case 3:
-+ {
-+ guint32 fourcc;
-+
-+ /* WMV3 unless the fourcc exists and says otherwise */
-+ id = CODEC_ID_WMV3;
-+
-+ if (gst_structure_get_fourcc (structure, "format", &fourcc)) {
-+ if ((fourcc == GST_MAKE_FOURCC ('W', 'V', 'C', '1')) ||
-+ (fourcc == GST_MAKE_FOURCC ('W', 'M', 'V', 'A'))) {
-+ id = CODEC_ID_VC1;
-+ }
-+ }
-+ }
-+ break;
-+ }
-+ }
-+ if (id != CODEC_ID_NONE)
-+ video = TRUE;
-+ } else if (!strcmp (mimetype, "audio/x-vorbis")) {
-+ id = CODEC_ID_VORBIS;
-+ audio = TRUE;
-+ } else if (!strcmp (mimetype, "audio/x-qdm2")) {
-+ id = CODEC_ID_QDM2;
-+ audio = TRUE;
-+ } else if (!strcmp (mimetype, "audio/mpeg")) {
-+ gint layer = 0;
-+ gint mpegversion = 0;
-+
-+ if (gst_structure_get_int (structure, "mpegversion", &mpegversion)) {
-+ switch (mpegversion) {
-+ case 2: /* ffmpeg uses faad for both... */
-+ case 4:
-+ id = CODEC_ID_AAC;
-+ break;
-+ case 1:
-+ if (gst_structure_get_int (structure, "layer", &layer)) {
-+ switch (layer) {
-+ case 1:
-+ id = CODEC_ID_MP1;
-+ break;
-+ case 2:
-+ id = CODEC_ID_MP2;
-+ break;
-+ case 3:
-+ id = CODEC_ID_MP3;
-+ break;
-+ }
-+ }
-+ }
-+ }
-+ if (id != CODEC_ID_NONE)
-+ audio = TRUE;
-+ } else if (!strcmp (mimetype, "audio/x-musepack")) {
-+ gint streamversion = -1;
-+
-+ if (gst_structure_get_int (structure, "streamversion", &streamversion)) {
-+ if (streamversion == 7)
-+ id = CODEC_ID_MUSEPACK7;
-+ } else {
-+ id = CODEC_ID_MUSEPACK7;
-+ }
-+ } else if (!strcmp (mimetype, "audio/x-wma")) {
-+ gint wmaversion = 0;
-+
-+ if (gst_structure_get_int (structure, "wmaversion", &wmaversion)) {
-+ switch (wmaversion) {
-+ case 1:
-+ id = CODEC_ID_WMAV1;
-+ break;
-+ case 2:
-+ id = CODEC_ID_WMAV2;
-+ break;
-+ case 3:
-+ id = CODEC_ID_WMAPRO;
-+ break;
-+ }
-+ }
-+ if (id != CODEC_ID_NONE)
-+ audio = TRUE;
-+ } else if (!strcmp (mimetype, "audio/x-wms")) {
-+ id = CODEC_ID_WMAVOICE;
-+ audio = TRUE;
-+ } else if (!strcmp (mimetype, "audio/x-ac3")) {
-+ id = CODEC_ID_AC3;
-+ audio = TRUE;
-+ } else if (!strcmp (mimetype, "audio/x-eac3")) {
-+ id = CODEC_ID_EAC3;
-+ audio = TRUE;
-+ } else if (!strcmp (mimetype, "audio/x-vnd.sony.atrac3") ||
-+ !strcmp (mimetype, "audio/atrac3")) {
-+ id = CODEC_ID_ATRAC3;
-+ audio = TRUE;
-+ } else if (!strcmp (mimetype, "audio/x-dts")) {
-+ id = CODEC_ID_DTS;
-+ audio = TRUE;
-+ } else if (!strcmp (mimetype, "application/x-ape")) {
-+ id = CODEC_ID_APE;
-+ audio = TRUE;
-+ } else if (!strcmp (mimetype, "video/x-msmpeg")) {
-+ gint msmpegversion = 0;
-+
-+ if (gst_structure_get_int (structure, "msmpegversion", &msmpegversion)) {
-+ switch (msmpegversion) {
-+ case 41:
-+ id = CODEC_ID_MSMPEG4V1;
-+ break;
-+ case 42:
-+ id = CODEC_ID_MSMPEG4V2;
-+ break;
-+ case 43:
-+ id = CODEC_ID_MSMPEG4V3;
-+ break;
-+ }
-+ }
-+ if (id != CODEC_ID_NONE)
-+ video = TRUE;
-+ } else if (!strcmp (mimetype, "video/x-svq")) {
-+ gint svqversion = 0;
-+
-+ if (gst_structure_get_int (structure, "svqversion", &svqversion)) {
-+ switch (svqversion) {
-+ case 1:
-+ id = CODEC_ID_SVQ1;
-+ break;
-+ case 3:
-+ id = CODEC_ID_SVQ3;
-+ break;
-+ }
-+ }
-+ if (id != CODEC_ID_NONE)
-+ video = TRUE;
-+ } else if (!strcmp (mimetype, "video/x-huffyuv")) {
-+ id = CODEC_ID_HUFFYUV;
-+ video = TRUE;
-+ } else if (!strcmp (mimetype, "audio/x-mace")) {
-+ gint maceversion = 0;
-+
-+ if (gst_structure_get_int (structure, "maceversion", &maceversion)) {
-+ switch (maceversion) {
-+ case 3:
-+ id = CODEC_ID_MACE3;
-+ break;
-+ case 6:
-+ id = CODEC_ID_MACE6;
-+ break;
-+ }
-+ }
-+ if (id != CODEC_ID_NONE)
-+ audio = TRUE;
-+ } else if (!strcmp (mimetype, "video/x-theora")) {
-+ id = CODEC_ID_THEORA;
-+ video = TRUE;
-+ } else if (!strcmp (mimetype, "video/x-vp3")) {
-+ id = CODEC_ID_VP3;
-+ video = TRUE;
-+ } else if (!strcmp (mimetype, "video/x-vp5")) {
-+ id = CODEC_ID_VP5;
-+ video = TRUE;
-+ } else if (!strcmp (mimetype, "video/x-vp6")) {
-+ id = CODEC_ID_VP6;
-+ video = TRUE;
-+ } else if (!strcmp (mimetype, "video/x-vp6-flash")) {
-+ id = CODEC_ID_VP6F;
-+ video = TRUE;
-+ } else if (!strcmp (mimetype, "video/x-vp6-alpha")) {
-+ id = CODEC_ID_VP6A;
-+ video = TRUE;
-+ } else if (!strcmp (mimetype, "video/x-vp8")) {
-+ id = CODEC_ID_VP8;
-+ video = TRUE;
-+ } else if (!strcmp (mimetype, "video/x-flash-screen")) {
-+ id = CODEC_ID_FLASHSV;
-+ video = TRUE;
-+ } else if (!strcmp (mimetype, "video/x-indeo")) {
-+ gint indeoversion = 0;
-+
-+ if (gst_structure_get_int (structure, "indeoversion", &indeoversion)) {
-+ switch (indeoversion) {
-+ case 5:
-+ id = CODEC_ID_INDEO5;
-+ break;
-+ case 3:
-+ id = CODEC_ID_INDEO3;
-+ break;
-+ case 2:
-+ id = CODEC_ID_INDEO2;
-+ break;
-+ }
-+ if (id != CODEC_ID_NONE)
-+ video = TRUE;
-+ }
-+ } else if (!strcmp (mimetype, "video/x-divx")) {
-+ gint divxversion = 0;
-+
-+ if (gst_structure_get_int (structure, "divxversion", &divxversion)) {
-+ switch (divxversion) {
-+ case 3:
-+ id = CODEC_ID_MSMPEG4V3;
-+ break;
-+ case 4:
-+ case 5:
-+ id = CODEC_ID_MPEG4;
-+ break;
-+ }
-+ }
-+ if (id != CODEC_ID_NONE)
-+ video = TRUE;
-+ } else if (!strcmp (mimetype, "video/x-3ivx")) {
-+ id = CODEC_ID_MPEG4;
-+ video = TRUE;
-+ } else if (!strcmp (mimetype, "video/x-xvid")) {
-+ id = CODEC_ID_MPEG4;
-+ video = TRUE;
-+ } else if (!strcmp (mimetype, "video/x-ffv")) {
-+ gint ffvversion = 0;
-+
-+ if (gst_structure_get_int (structure, "ffvversion", &ffvversion) &&
-+ ffvversion == 1) {
-+ id = CODEC_ID_FFV1;
-+ video = TRUE;
-+ }
-+ } else if (!strcmp (mimetype, "audio/x-adpcm")) {
-+ const gchar *layout;
-+
-+ layout = gst_structure_get_string (structure, "layout");
-+ if (layout == NULL) {
-+ /* break */
-+ } else if (!strcmp (layout, "quicktime")) {
-+ id = CODEC_ID_ADPCM_IMA_QT;
-+ } else if (!strcmp (layout, "microsoft")) {
-+ id = CODEC_ID_ADPCM_MS;
-+ } else if (!strcmp (layout, "dvi")) {
-+ id = CODEC_ID_ADPCM_IMA_WAV;
-+ } else if (!strcmp (layout, "4xm")) {
-+ id = CODEC_ID_ADPCM_4XM;
-+ } else if (!strcmp (layout, "smjpeg")) {
-+ id = CODEC_ID_ADPCM_IMA_SMJPEG;
-+ } else if (!strcmp (layout, "dk3")) {
-+ id = CODEC_ID_ADPCM_IMA_DK3;
-+ } else if (!strcmp (layout, "dk4")) {
-+ id = CODEC_ID_ADPCM_IMA_DK4;
-+ } else if (!strcmp (layout, "westwood")) {
-+ id = CODEC_ID_ADPCM_IMA_WS;
-+ } else if (!strcmp (layout, "iss")) {
-+ id = CODEC_ID_ADPCM_IMA_ISS;
-+ } else if (!strcmp (layout, "xa")) {
-+ id = CODEC_ID_ADPCM_XA;
-+ } else if (!strcmp (layout, "adx")) {
-+ id = CODEC_ID_ADPCM_ADX;
-+ } else if (!strcmp (layout, "ea")) {
-+ id = CODEC_ID_ADPCM_EA;
-+ } else if (!strcmp (layout, "g726")) {
-+ id = CODEC_ID_ADPCM_G726;
-+ } else if (!strcmp (layout, "g721")) {
-+ id = CODEC_ID_ADPCM_G726;
-+ } else if (!strcmp (layout, "ct")) {
-+ id = CODEC_ID_ADPCM_CT;
-+ } else if (!strcmp (layout, "swf")) {
-+ id = CODEC_ID_ADPCM_SWF;
-+ } else if (!strcmp (layout, "yamaha")) {
-+ id = CODEC_ID_ADPCM_YAMAHA;
-+ } else if (!strcmp (layout, "sbpro2")) {
-+ id = CODEC_ID_ADPCM_SBPRO_2;
-+ } else if (!strcmp (layout, "sbpro3")) {
-+ id = CODEC_ID_ADPCM_SBPRO_3;
-+ } else if (!strcmp (layout, "sbpro4")) {
-+ id = CODEC_ID_ADPCM_SBPRO_4;
-+ }
-+ if (id != CODEC_ID_NONE)
-+ audio = TRUE;
-+ } else if (!strcmp (mimetype, "video/x-4xm")) {
-+ id = CODEC_ID_4XM;
-+ video = TRUE;
-+ } else if (!strcmp (mimetype, "audio/x-dpcm")) {
-+ const gchar *layout;
-+
-+ layout = gst_structure_get_string (structure, "layout");
-+ if (!layout) {
-+ /* .. */
-+ } else if (!strcmp (layout, "roq")) {
-+ id = CODEC_ID_ROQ_DPCM;
-+ } else if (!strcmp (layout, "interplay")) {
-+ id = CODEC_ID_INTERPLAY_DPCM;
-+ } else if (!strcmp (layout, "xan")) {
-+ id = CODEC_ID_XAN_DPCM;
-+ } else if (!strcmp (layout, "sol")) {
-+ id = CODEC_ID_SOL_DPCM;
-+ }
-+ if (id != CODEC_ID_NONE)
-+ audio = TRUE;
-+ } else if (!strcmp (mimetype, "audio/x-flac")) {
-+ id = CODEC_ID_FLAC;
-+ audio = TRUE;
-+ } else if (!strcmp (mimetype, "audio/x-shorten")) {
-+ id = CODEC_ID_SHORTEN;
-+ audio = TRUE;
-+ } else if (!strcmp (mimetype, "audio/x-alac")) {
-+ id = CODEC_ID_ALAC;
-+ audio = TRUE;
-+ } else if (!strcmp (mimetype, "video/x-cinepak")) {
-+ id = CODEC_ID_CINEPAK;
-+ video = TRUE;
-+ } else if (!strcmp (mimetype, "video/x-pn-realvideo")) {
-+ gint rmversion;
-+
-+ if (gst_structure_get_int (structure, "rmversion", &rmversion)) {
-+ switch (rmversion) {
-+ case 1:
-+ id = CODEC_ID_RV10;
-+ break;
-+ case 2:
-+ id = CODEC_ID_RV20;
-+ break;
-+ case 3:
-+ id = CODEC_ID_RV30;
-+ break;
-+ case 4:
-+ id = CODEC_ID_RV40;
-+ break;
-+ }
-+ }
-+ if (id != CODEC_ID_NONE)
-+ video = TRUE;
-+ } else if (!strcmp (mimetype, "audio/x-sipro")) {
-+ id = CODEC_ID_SIPR;
-+ audio = TRUE;
-+ } else if (!strcmp (mimetype, "audio/x-pn-realaudio")) {
-+ gint raversion;
-+
-+ if (gst_structure_get_int (structure, "raversion", &raversion)) {
-+ switch (raversion) {
-+ case 1:
-+ id = CODEC_ID_RA_144;
-+ break;
-+ case 2:
-+ id = CODEC_ID_RA_288;
-+ break;
-+ case 8:
-+ id = CODEC_ID_COOK;
-+ break;
-+ }
-+ }
-+ if (id != CODEC_ID_NONE)
-+ audio = TRUE;
-+ } else if (!strcmp (mimetype, "video/x-rle")) {
-+ const gchar *layout;
-+
-+ if ((layout = gst_structure_get_string (structure, "layout"))) {
-+ if (!strcmp (layout, "microsoft")) {
-+ id = CODEC_ID_MSRLE;
-+ video = TRUE;
-+ }
-+ }
-+ } else if (!strcmp (mimetype, "video/x-xan")) {
-+ gint wcversion = 0;
-+
-+ if ((gst_structure_get_int (structure, "wcversion", &wcversion))) {
-+ switch (wcversion) {
-+ case 3:
-+ id = CODEC_ID_XAN_WC3;
-+ video = TRUE;
-+ break;
-+ case 4:
-+ id = CODEC_ID_XAN_WC4;
-+ video = TRUE;
-+ break;
-+ default:
-+ break;
-+ }
-+ }
-+ } else if (!strcmp (mimetype, "audio/AMR")) {
-+ audio = TRUE;
-+ id = CODEC_ID_AMR_NB;
-+ } else if (!strcmp (mimetype, "audio/AMR-WB")) {
-+ id = CODEC_ID_AMR_WB;
-+ audio = TRUE;
-+ } else if (!strcmp (mimetype, "audio/qcelp")) {
-+ id = CODEC_ID_QCELP;
-+ audio = TRUE;
-+ } else if (!strcmp (mimetype, "video/x-h264")) {
-+ id = CODEC_ID_H264;
-+ video = TRUE;
-+ } else if (!strcmp (mimetype, "video/x-flash-video")) {
-+ gint flvversion = 0;
-+
-+ if ((gst_structure_get_int (structure, "flvversion", &flvversion))) {
-+ switch (flvversion) {
-+ case 1:
-+ id = CODEC_ID_FLV1;
-+ video = TRUE;
-+ break;
-+ default:
-+ break;
-+ }
-+ }
-+
-+ } else if (!strcmp (mimetype, "audio/x-nellymoser")) {
-+ id = CODEC_ID_NELLYMOSER;
-+ audio = TRUE;
-+ } else if (!strncmp (mimetype, "audio/x-gst_ff-", 15)) {
-+ gchar ext[16];
-+ AVCodec *codec;
-+
-+ if (strlen (mimetype) <= 30 &&
-+ sscanf (mimetype, "audio/x-gst_ff-%s", ext) == 1) {
-+ if ((codec = avcodec_find_decoder_by_name (ext)) ||
-+ (codec = avcodec_find_encoder_by_name (ext))) {
-+ id = codec->id;
-+ audio = TRUE;
-+ }
-+ }
-+ } else if (!strncmp (mimetype, "video/x-gst_ff-", 15)) {
-+ gchar ext[16];
-+ AVCodec *codec;
-+
-+ if (strlen (mimetype) <= 30 &&
-+ sscanf (mimetype, "video/x-gst_ff-%s", ext) == 1) {
-+ if ((codec = avcodec_find_decoder_by_name (ext)) ||
-+ (codec = avcodec_find_encoder_by_name (ext))) {
-+ id = codec->id;
-+ video = TRUE;
-+ }
-+ }
-+ }
-+
-+ if (context != NULL) {
-+ if (video == TRUE) {
-+ context->codec_type = AVMEDIA_TYPE_VIDEO;
-+ } else if (audio == TRUE) {
-+ context->codec_type = AVMEDIA_TYPE_AUDIO;
-+ } else {
-+ context->codec_type = AVMEDIA_TYPE_UNKNOWN;
-+ }
-+ context->codec_id = id;
-+ gst_ffmpeg_caps_with_codecid (id, context->codec_type, caps, context);
-+ }
-+
-+ if (id != CODEC_ID_NONE) {
-+ GST_DEBUG ("The id=%d belongs to the caps %" GST_PTR_FORMAT, id, caps);
-+ } else {
-+ GST_WARNING ("Couldn't figure out the id for caps %" GST_PTR_FORMAT, caps);
-+ }
-+
-+ return id;
-+}
-diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegcodecmap.c.rej gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegcodecmap.c.rej
---- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegcodecmap.c.rej 1970-01-01 01:00:00.000000000 +0100
-+++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegcodecmap.c.rej 2014-08-08 15:31:06.055868246 +0200
-@@ -0,0 +1,12 @@
-+--- ext/ffmpeg/gstffmpegcodecmap.c
-++++ ext/ffmpeg/gstffmpegcodecmap.c
-+@@ -1884,9 +1842,6 @@
-+ gst_ff_vid_caps_new (context, codec_id, encode, "video/x-raw-rgb",
-+ "bpp", G_TYPE_INT, bpp, "depth", G_TYPE_INT, depth, "endianness",
-+ G_TYPE_INT, endianness, NULL);
-+- if (caps && context) {
-+- gst_ffmpeg_set_palette (caps, context);
-+- }
-+ }
-+ } else if (fmt) {
-+ caps = gst_ff_vid_caps_new (context, codec_id, encode, "video/x-raw-yuv",
-diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegdec.c gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegdec.c
---- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegdec.c 2014-08-08 14:46:31.462772351 +0200
-+++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegdec.c 2014-08-08 15:32:18.608870847 +0200
-@@ -88,7 +88,6 @@
- gint depth;
- } audio;
- } format;
-- gboolean waiting_for_key;
- gboolean discont;
- gboolean clear_ts;
-
-@@ -438,7 +437,6 @@
- ffmpegdec->pcache = NULL;
- ffmpegdec->par = NULL;
- ffmpegdec->opened = FALSE;
-- ffmpegdec->waiting_for_key = TRUE;
- ffmpegdec->skip_frame = ffmpegdec->lowres = 0;
- ffmpegdec->direct_rendering = DEFAULT_DIRECT_RENDERING;
- ffmpegdec->do_padding = DEFAULT_DO_PADDING;
-@@ -608,11 +606,6 @@
- gst_ffmpeg_avcodec_close (ffmpegdec->context);
- ffmpegdec->opened = FALSE;
-
-- if (ffmpegdec->context->palctrl) {
-- av_free (ffmpegdec->context->palctrl);
-- ffmpegdec->context->palctrl = NULL;
-- }
--
- if (ffmpegdec->context->extradata) {
- av_free (ffmpegdec->context->extradata);
- ffmpegdec->context->extradata = NULL;
-@@ -864,7 +857,7 @@
-
- /* workaround encoder bugs */
- ffmpegdec->context->workaround_bugs |= FF_BUG_AUTODETECT;
-- ffmpegdec->context->error_recognition = 1;
-+ ffmpegdec->context->err_recognition = 1;
-
- /* for slow cpus */
- ffmpegdec->context->lowres = ffmpegdec->lowres;
-@@ -944,7 +937,7 @@
- fsize = gst_ffmpeg_avpicture_get_size (ffmpegdec->context->pix_fmt,
- width, height);
-
-- if (!ffmpegdec->context->palctrl && ffmpegdec->can_allocate_aligned) {
-+ if (ffmpegdec->can_allocate_aligned) {
- GST_LOG_OBJECT (ffmpegdec, "calling pad_alloc");
- /* no pallete, we can use the buffer size to alloc */
- ret = gst_pad_alloc_buffer_and_set_caps (ffmpegdec->srcpad,
-@@ -1083,7 +1076,6 @@
- /* tell ffmpeg we own this buffer, tranfer the ref we have on the buffer to
- * the opaque data. */
- picture->type = FF_BUFFER_TYPE_USER;
-- picture->age = 256 * 256 * 256 * 64;
- picture->opaque = buf;
-
- #ifdef EXTRA_REF
-@@ -1414,10 +1406,6 @@
- } else {
- if (diff >= 0) {
- /* we're too slow, try to speed up */
-- if (ffmpegdec->waiting_for_key) {
-- /* we were waiting for a keyframe, that's ok */
-- goto skipping;
-- }
- /* switch to skip_frame mode */
- goto skip_frame;
- }
-@@ -1427,11 +1415,6 @@
- ffmpegdec->processed++;
- return TRUE;
-
--skipping:
-- {
-- res = FALSE;
-- goto drop_qos;
-- }
- normal_mode:
- {
- if (ffmpegdec->context->skip_frame != AVDISCARD_DEFAULT) {
-@@ -1528,43 +1511,6 @@
- }
-
-
--/* figure out if the current picture is a keyframe, return TRUE if that is
-- * the case. */
--static gboolean
--check_keyframe (GstFFMpegDec * ffmpegdec)
--{
-- GstFFMpegDecClass *oclass;
-- gboolean is_itype = FALSE;
-- gboolean is_reference = FALSE;
-- gboolean iskeyframe;
--
-- /* figure out if we are dealing with a keyframe */
-- oclass = (GstFFMpegDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec));
--
-- /* remember that we have B frames, we need this for the DTS -> PTS conversion
-- * code */
-- if (!ffmpegdec->has_b_frames && ffmpegdec->picture->pict_type == FF_B_TYPE) {
-- GST_DEBUG_OBJECT (ffmpegdec, "we have B frames");
-- ffmpegdec->has_b_frames = TRUE;
-- }
--
-- is_itype = (ffmpegdec->picture->pict_type == FF_I_TYPE);
-- is_reference = (ffmpegdec->picture->reference == 1);
--
-- iskeyframe = (is_itype || is_reference || ffmpegdec->picture->key_frame)
-- || (oclass->in_plugin->id == CODEC_ID_INDEO3)
-- || (oclass->in_plugin->id == CODEC_ID_MSZH)
-- || (oclass->in_plugin->id == CODEC_ID_ZLIB)
-- || (oclass->in_plugin->id == CODEC_ID_VP3)
-- || (oclass->in_plugin->id == CODEC_ID_HUFFYUV);
--
-- GST_LOG_OBJECT (ffmpegdec,
-- "current picture: type: %d, is_keyframe:%d, is_itype:%d, is_reference:%d",
-- ffmpegdec->picture->pict_type, iskeyframe, is_itype, is_reference);
--
-- return iskeyframe;
--}
--
- /* get an outbuf buffer with the current picture */
- static GstFlowReturn
- get_output_buffer (GstFFMpegDec * ffmpegdec, GstBuffer ** outbuf)
-@@ -1694,7 +1640,6 @@
- {
- gint len = -1;
- gint have_data;
-- gboolean iskeyframe;
- gboolean mode_switch;
- gboolean decode;
- gint skip_frame = AVDISCARD_DEFAULT;
-@@ -1809,7 +1754,6 @@
- gst_ffmpegdec_negotiate (ffmpegdec, TRUE);
- }
-
--
- /* Whether a frame is interlaced or not is unknown at the time of
- buffer allocation, so caps on the buffer in opaque will have
- the previous frame's interlaced flag set. So if interlacedness
-@@ -1831,10 +1775,6 @@
- }
- }
-
-- /* check if we are dealing with a keyframe here, this will also check if we
-- * are dealing with B frames. */
-- iskeyframe = check_keyframe (ffmpegdec);
--
- /* check that the timestamps go upwards */
- if (ffmpegdec->last_out != -1 && ffmpegdec->last_out > out_pts) {
- /* timestamps go backwards, this means frames were reordered and we must
-@@ -1865,7 +1805,7 @@
- * timestamps */
- if (!ffmpegdec->reordered_in && ffmpegdec->reordered_out) {
- /* PTS and DTS are the same for keyframes */
-- if (!iskeyframe && ffmpegdec->next_out != -1) {
-+ if (ffmpegdec->next_out != -1) {
- /* interpolate all timestamps except for keyframes, FIXME, this is
- * wrong when QoS is active. */
- GST_DEBUG_OBJECT (ffmpegdec, "interpolate timestamps");
-@@ -1874,16 +1814,6 @@
- }
- }
-
-- /* when we're waiting for a keyframe, see if we have one or drop the current
-- * non-keyframe */
-- if (G_UNLIKELY (ffmpegdec->waiting_for_key)) {
-- if (G_LIKELY (!iskeyframe))
-- goto drop_non_keyframe;
--
-- /* we have a keyframe, we can stop waiting for one */
-- ffmpegdec->waiting_for_key = FALSE;
-- }
--
- /* get a handle to the output buffer */
- *ret = get_output_buffer (ffmpegdec, outbuf);
- if (G_UNLIKELY (*ret != GST_FLOW_OK))
-@@ -2000,20 +1930,11 @@
- else
- ffmpegdec->next_out = -1;
-
-- /* palette is not part of raw video frame in gst and the size
-- * of the outgoing buffer needs to be adjusted accordingly */
-- if (ffmpegdec->context->palctrl != NULL)
-- GST_BUFFER_SIZE (*outbuf) -= AVPALETTE_SIZE;
--
- /* now see if we need to clip the buffer against the segment boundaries. */
- if (G_UNLIKELY (!clip_video_buffer (ffmpegdec, *outbuf, out_timestamp,
- out_duration)))
- goto clipped;
-
-- /* mark as keyframe or delta unit */
-- if (!iskeyframe)
-- GST_BUFFER_FLAG_SET (*outbuf, GST_BUFFER_FLAG_DELTA_UNIT);
--
- if (ffmpegdec->picture->top_field_first)
- GST_BUFFER_FLAG_SET (*outbuf, GST_VIDEO_BUFFER_TFF);
-
-@@ -2024,11 +1945,6 @@
- return len;
-
- /* special cases */
--drop_non_keyframe:
-- {
-- GST_WARNING_OBJECT (ffmpegdec, "Dropping non-keyframe (seek/init)");
-- goto beach;
-- }
- no_output:
- {
- GST_DEBUG_OBJECT (ffmpegdec, "no output buffer");
-@@ -2422,7 +2338,6 @@
- gst_ffmpegdec_reset_ts (ffmpegdec);
- gst_ffmpegdec_reset_qos (ffmpegdec);
- gst_ffmpegdec_flush_pcache (ffmpegdec);
-- ffmpegdec->waiting_for_key = TRUE;
- gst_segment_init (&ffmpegdec->segment, GST_FORMAT_TIME);
- clear_queued (ffmpegdec);
- break;
-@@ -2560,17 +2475,6 @@
-
- oclass = (GstFFMpegDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec));
-
-- /* do early keyframe check pretty bad to rely on the keyframe flag in the
-- * source for this as it might not even be parsed (UDP/file/..). */
-- if (G_UNLIKELY (ffmpegdec->waiting_for_key)) {
-- GST_DEBUG_OBJECT (ffmpegdec, "waiting for keyframe");
-- if (GST_BUFFER_FLAG_IS_SET (inbuf, GST_BUFFER_FLAG_DELTA_UNIT) &&
-- oclass->in_plugin->type != AVMEDIA_TYPE_AUDIO)
-- goto skip_keyframe;
--
-- GST_DEBUG_OBJECT (ffmpegdec, "got keyframe");
-- ffmpegdec->waiting_for_key = FALSE;
-- }
- /* parse cache joining. If there is cached data */
- if (ffmpegdec->pcache) {
- /* join with previous data */
-@@ -2805,12 +2709,6 @@
- gst_buffer_unref (inbuf);
- return GST_FLOW_NOT_NEGOTIATED;
- }
--skip_keyframe:
-- {
-- GST_DEBUG_OBJECT (ffmpegdec, "skipping non keyframe");
-- gst_buffer_unref (inbuf);
-- return GST_FLOW_OK;
-- }
- }
-
- static GstStateChangeReturn
-@@ -2936,7 +2834,7 @@
- gchar *plugin_name;
-
- /* only decoders */
-- if (!in_plugin->decode) {
-+ if (!av_codec_is_decoder (in_plugin)) {
- goto next;
- }
-
-diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegdec.c.orig gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegdec.c.orig
---- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegdec.c.orig 1970-01-01 01:00:00.000000000 +0100
-+++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegdec.c.orig 2014-08-08 15:31:06.057868246 +0200
-@@ -0,0 +1,2973 @@
-+/* GStreamer
-+ * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Library General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2 of the License, or (at your option) any later version.
-+ *
-+ * This library 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
-+ * Library General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Library General Public
-+ * License along with this library; if not, write to the
-+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-+ * Boston, MA 02111-1307, USA.
-+ */
-+
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
-+#include <assert.h>
-+#include <string.h>
-+
-+#ifdef HAVE_FFMPEG_UNINSTALLED
-+#include <avcodec.h>
-+#else
-+#include <libavcodec/avcodec.h>
-+#endif
-+
-+#include <gst/gst.h>
-+#include <gst/video/video.h>
-+
-+#include "gstffmpeg.h"
-+#include "gstffmpegcodecmap.h"
-+#include "gstffmpegutils.h"
-+
-+/* define to enable alternative buffer refcounting algorithm */
-+#undef EXTRA_REF
-+
-+typedef struct _GstFFMpegDec GstFFMpegDec;
-+
-+#define MAX_TS_MASK 0xff
-+
-+/* for each incomming buffer we keep all timing info in a structure like this.
-+ * We keep a circular array of these structures around to store the timing info.
-+ * The index in the array is what we pass as opaque data (to pictures) and
-+ * pts (to parsers) so that ffmpeg can remember them for us. */
-+typedef struct
-+{
-+ gint idx;
-+ GstClockTime timestamp;
-+ GstClockTime duration;
-+ gint64 offset;
-+} GstTSInfo;
-+
-+struct _GstFFMpegDec
-+{
-+ GstElement element;
-+
-+ /* We need to keep track of our pads, so we do so here. */
-+ GstPad *srcpad;
-+ GstPad *sinkpad;
-+
-+ /* decoding */
-+ AVCodecContext *context;
-+ AVFrame *picture;
-+ gboolean opened;
-+ union
-+ {
-+ struct
-+ {
-+ gint width, height;
-+ gint clip_width, clip_height;
-+ gint par_n, par_d;
-+ gint fps_n, fps_d;
-+ gint old_fps_n, old_fps_d;
-+ gboolean interlaced;
-+
-+ enum PixelFormat pix_fmt;
-+ } video;
-+ struct
-+ {
-+ gint channels;
-+ gint samplerate;
-+ gint depth;
-+ } audio;
-+ } format;
-+ gboolean discont;
-+ gboolean clear_ts;
-+
-+ /* for tracking DTS/PTS */
-+ gboolean has_b_frames;
-+ gboolean reordered_in;
-+ GstClockTime last_in;
-+ GstClockTime last_diff;
-+ guint last_frames;
-+ gboolean reordered_out;
-+ GstClockTime last_out;
-+ GstClockTime next_out;
-+
-+ /* parsing */
-+ gboolean turnoff_parser; /* used for turning off aac raw parsing
-+ * See bug #566250 */
-+ AVCodecParserContext *pctx;
-+ GstBuffer *pcache;
-+ guint8 *padded;
-+ guint padded_size;
-+
-+ GValue *par; /* pixel aspect ratio of incoming data */
-+ gboolean current_dr; /* if direct rendering is enabled */
-+ gboolean extra_ref; /* keep extra ref around in get/release */
-+
-+ /* some properties */
-+ enum AVDiscard skip_frame;
-+ gint lowres;
-+ gboolean direct_rendering;
-+ gboolean do_padding;
-+ gboolean debug_mv;
-+ gboolean crop;
-+ int max_threads;
-+
-+ /* QoS stuff *//* with LOCK */
-+ gdouble proportion;
-+ GstClockTime earliest_time;
-+ gint64 processed;
-+ gint64 dropped;
-+
-+ /* clipping segment */
-+ GstSegment segment;
-+
-+ gboolean is_realvideo;
-+
-+ GstTSInfo ts_info[MAX_TS_MASK + 1];
-+ gint ts_idx;
-+
-+ /* reverse playback queue */
-+ GList *queued;
-+
-+ /* Can downstream allocate 16bytes aligned data. */
-+ gboolean can_allocate_aligned;
-+};
-+
-+typedef struct _GstFFMpegDecClass GstFFMpegDecClass;
-+
-+struct _GstFFMpegDecClass
-+{
-+ GstElementClass parent_class;
-+
-+ AVCodec *in_plugin;
-+ GstPadTemplate *srctempl, *sinktempl;
-+};
-+
-+#define GST_TS_INFO_NONE &ts_info_none
-+static const GstTSInfo ts_info_none = { -1, -1, -1, -1 };
-+
-+static const GstTSInfo *
-+gst_ts_info_store (GstFFMpegDec * dec, GstClockTime timestamp,
-+ GstClockTime duration, gint64 offset)
-+{
-+ gint idx = dec->ts_idx;
-+ dec->ts_info[idx].idx = idx;
-+ dec->ts_info[idx].timestamp = timestamp;
-+ dec->ts_info[idx].duration = duration;
-+ dec->ts_info[idx].offset = offset;
-+ dec->ts_idx = (idx + 1) & MAX_TS_MASK;
-+
-+ return &dec->ts_info[idx];
-+}
-+
-+static const GstTSInfo *
-+gst_ts_info_get (GstFFMpegDec * dec, gint idx)
-+{
-+ if (G_UNLIKELY (idx < 0 || idx > MAX_TS_MASK))
-+ return GST_TS_INFO_NONE;
-+
-+ return &dec->ts_info[idx];
-+}
-+
-+#define GST_TYPE_FFMPEGDEC \
-+ (gst_ffmpegdec_get_type())
-+#define GST_FFMPEGDEC(obj) \
-+ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_FFMPEGDEC,GstFFMpegDec))
-+#define GST_FFMPEGDEC_CLASS(klass) \
-+ (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_FFMPEGDEC,GstFFMpegDecClass))
-+#define GST_IS_FFMPEGDEC(obj) \
-+ (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_FFMPEGDEC))
-+#define GST_IS_FFMPEGDEC_CLASS(klass) \
-+ (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_FFMPEGDEC))
-+
-+#define DEFAULT_LOWRES 0
-+#define DEFAULT_SKIPFRAME 0
-+#define DEFAULT_DIRECT_RENDERING TRUE
-+#define DEFAULT_DO_PADDING TRUE
-+#define DEFAULT_DEBUG_MV FALSE
-+#define DEFAULT_CROP TRUE
-+#define DEFAULT_MAX_THREADS 1
-+
-+enum
-+{
-+ PROP_0,
-+ PROP_LOWRES,
-+ PROP_SKIPFRAME,
-+ PROP_DIRECT_RENDERING,
-+ PROP_DO_PADDING,
-+ PROP_DEBUG_MV,
-+ PROP_CROP,
-+ PROP_MAX_THREADS,
-+ PROP_LAST
-+};
-+
-+/* A number of function prototypes are given so we can refer to them later. */
-+static void gst_ffmpegdec_base_init (GstFFMpegDecClass * klass);
-+static void gst_ffmpegdec_class_init (GstFFMpegDecClass * klass);
-+static void gst_ffmpegdec_init (GstFFMpegDec * ffmpegdec);
-+static void gst_ffmpegdec_finalize (GObject * object);
-+
-+static gboolean gst_ffmpegdec_query (GstPad * pad, GstQuery * query);
-+static gboolean gst_ffmpegdec_src_event (GstPad * pad, GstEvent * event);
-+
-+static gboolean gst_ffmpegdec_setcaps (GstPad * pad, GstCaps * caps);
-+static gboolean gst_ffmpegdec_sink_event (GstPad * pad, GstEvent * event);
-+static GstFlowReturn gst_ffmpegdec_chain (GstPad * pad, GstBuffer * buf);
-+
-+static GstStateChangeReturn gst_ffmpegdec_change_state (GstElement * element,
-+ GstStateChange transition);
-+
-+static void gst_ffmpegdec_set_property (GObject * object,
-+ guint prop_id, const GValue * value, GParamSpec * pspec);
-+static void gst_ffmpegdec_get_property (GObject * object,
-+ guint prop_id, GValue * value, GParamSpec * pspec);
-+
-+static gboolean gst_ffmpegdec_negotiate (GstFFMpegDec * ffmpegdec,
-+ gboolean force);
-+
-+/* some sort of bufferpool handling, but different */
-+static int gst_ffmpegdec_get_buffer (AVCodecContext * context,
-+ AVFrame * picture);
-+static void gst_ffmpegdec_release_buffer (AVCodecContext * context,
-+ AVFrame * picture);
-+
-+static void gst_ffmpegdec_drain (GstFFMpegDec * ffmpegdec);
-+
-+#define GST_FFDEC_PARAMS_QDATA g_quark_from_static_string("ffdec-params")
-+
-+static GstElementClass *parent_class = NULL;
-+
-+#define GST_FFMPEGDEC_TYPE_LOWRES (gst_ffmpegdec_lowres_get_type())
-+static GType
-+gst_ffmpegdec_lowres_get_type (void)
-+{
-+ static GType ffmpegdec_lowres_type = 0;
-+
-+ if (!ffmpegdec_lowres_type) {
-+ static const GEnumValue ffmpegdec_lowres[] = {
-+ {0, "0", "full"},
-+ {1, "1", "1/2-size"},
-+ {2, "2", "1/4-size"},
-+ {0, NULL, NULL},
-+ };
-+
-+ ffmpegdec_lowres_type =
-+ g_enum_register_static ("GstFFMpegDecLowres", ffmpegdec_lowres);
-+ }
-+
-+ return ffmpegdec_lowres_type;
-+}
-+
-+#define GST_FFMPEGDEC_TYPE_SKIPFRAME (gst_ffmpegdec_skipframe_get_type())
-+static GType
-+gst_ffmpegdec_skipframe_get_type (void)
-+{
-+ static GType ffmpegdec_skipframe_type = 0;
-+
-+ if (!ffmpegdec_skipframe_type) {
-+ static const GEnumValue ffmpegdec_skipframe[] = {
-+ {0, "0", "Skip nothing"},
-+ {1, "1", "Skip B-frames"},
-+ {2, "2", "Skip IDCT/Dequantization"},
-+ {5, "5", "Skip everything"},
-+ {0, NULL, NULL},
-+ };
-+
-+ ffmpegdec_skipframe_type =
-+ g_enum_register_static ("GstFFMpegDecSkipFrame", ffmpegdec_skipframe);
-+ }
-+
-+ return ffmpegdec_skipframe_type;
-+}
-+
-+static void
-+gst_ffmpegdec_base_init (GstFFMpegDecClass * klass)
-+{
-+ GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
-+ GstPadTemplate *sinktempl, *srctempl;
-+ GstCaps *sinkcaps, *srccaps;
-+ AVCodec *in_plugin;
-+ gchar *longname, *classification, *description;
-+
-+ in_plugin =
-+ (AVCodec *) g_type_get_qdata (G_OBJECT_CLASS_TYPE (klass),
-+ GST_FFDEC_PARAMS_QDATA);
-+ g_assert (in_plugin != NULL);
-+
-+ /* construct the element details struct */
-+ longname = g_strdup_printf ("FFmpeg %s decoder", in_plugin->long_name);
-+ classification = g_strdup_printf ("Codec/Decoder/%s",
-+ (in_plugin->type == AVMEDIA_TYPE_VIDEO) ? "Video" : "Audio");
-+ description = g_strdup_printf ("FFmpeg %s decoder", in_plugin->name);
-+ gst_element_class_set_details_simple (element_class, longname, classification,
-+ description,
-+ "Wim Taymans <wim.taymans@gmail.com>, "
-+ "Ronald Bultje <rbultje@ronald.bitfreak.net>, "
-+ "Edward Hervey <bilboed@bilboed.com>");
-+ g_free (longname);
-+ g_free (classification);
-+ g_free (description);
-+
-+ /* get the caps */
-+ sinkcaps = gst_ffmpeg_codecid_to_caps (in_plugin->id, NULL, FALSE);
-+ if (!sinkcaps) {
-+ GST_DEBUG ("Couldn't get sink caps for decoder '%s'", in_plugin->name);
-+ sinkcaps = gst_caps_from_string ("unknown/unknown");
-+ }
-+ if (in_plugin->type == AVMEDIA_TYPE_VIDEO) {
-+ srccaps = gst_caps_from_string ("video/x-raw-rgb; video/x-raw-yuv");
-+ } else {
-+ srccaps = gst_ffmpeg_codectype_to_audio_caps (NULL,
-+ in_plugin->id, FALSE, in_plugin);
-+ }
-+ if (!srccaps) {
-+ GST_DEBUG ("Couldn't get source caps for decoder '%s'", in_plugin->name);
-+ srccaps = gst_caps_from_string ("unknown/unknown");
-+ }
-+
-+ /* pad templates */
-+ sinktempl = gst_pad_template_new ("sink", GST_PAD_SINK,
-+ GST_PAD_ALWAYS, sinkcaps);
-+ srctempl = gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS, srccaps);
-+
-+ gst_element_class_add_pad_template (element_class, srctempl);
-+ gst_element_class_add_pad_template (element_class, sinktempl);
-+
-+ klass->in_plugin = in_plugin;
-+ klass->srctempl = srctempl;
-+ klass->sinktempl = sinktempl;
-+}
-+
-+static void
-+gst_ffmpegdec_class_init (GstFFMpegDecClass * klass)
-+{
-+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
-+ GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
-+
-+ parent_class = g_type_class_peek_parent (klass);
-+
-+ gobject_class->finalize = gst_ffmpegdec_finalize;
-+
-+ gobject_class->set_property = gst_ffmpegdec_set_property;
-+ gobject_class->get_property = gst_ffmpegdec_get_property;
-+
-+ if (klass->in_plugin->type == AVMEDIA_TYPE_VIDEO) {
-+ int caps;
-+
-+ g_object_class_install_property (gobject_class, PROP_SKIPFRAME,
-+ g_param_spec_enum ("skip-frame", "Skip frames",
-+ "Which types of frames to skip during decoding",
-+ GST_FFMPEGDEC_TYPE_SKIPFRAME, 0,
-+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-+ g_object_class_install_property (gobject_class, PROP_LOWRES,
-+ g_param_spec_enum ("lowres", "Low resolution",
-+ "At which resolution to decode images", GST_FFMPEGDEC_TYPE_LOWRES,
-+ 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-+ g_object_class_install_property (gobject_class, PROP_DIRECT_RENDERING,
-+ g_param_spec_boolean ("direct-rendering", "Direct Rendering",
-+ "Enable direct rendering", DEFAULT_DIRECT_RENDERING,
-+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-+ g_object_class_install_property (gobject_class, PROP_DO_PADDING,
-+ g_param_spec_boolean ("do-padding", "Do Padding",
-+ "Add 0 padding before decoding data", DEFAULT_DO_PADDING,
-+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-+ g_object_class_install_property (gobject_class, PROP_DEBUG_MV,
-+ g_param_spec_boolean ("debug-mv", "Debug motion vectors",
-+ "Whether ffmpeg should print motion vectors on top of the image",
-+ DEFAULT_DEBUG_MV, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-+#if 0
-+ g_object_class_install_property (gobject_class, PROP_CROP,
-+ g_param_spec_boolean ("crop", "Crop",
-+ "Crop images to the display region",
-+ DEFAULT_CROP, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-+#endif
-+
-+ caps = klass->in_plugin->capabilities;
-+ if (caps & (CODEC_CAP_FRAME_THREADS | CODEC_CAP_SLICE_THREADS)) {
-+ g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_MAX_THREADS,
-+ g_param_spec_int ("max-threads", "Maximum decode threads",
-+ "Maximum number of worker threads to spawn. (0 = auto)",
-+ 0, G_MAXINT, DEFAULT_MAX_THREADS,
-+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-+ }
-+ }
-+
-+ gstelement_class->change_state = gst_ffmpegdec_change_state;
-+}
-+
-+static void
-+gst_ffmpegdec_init (GstFFMpegDec * ffmpegdec)
-+{
-+ GstFFMpegDecClass *oclass;
-+
-+ oclass = (GstFFMpegDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec));
-+
-+ /* setup pads */
-+ ffmpegdec->sinkpad = gst_pad_new_from_template (oclass->sinktempl, "sink");
-+ gst_pad_set_setcaps_function (ffmpegdec->sinkpad,
-+ GST_DEBUG_FUNCPTR (gst_ffmpegdec_setcaps));
-+ gst_pad_set_event_function (ffmpegdec->sinkpad,
-+ GST_DEBUG_FUNCPTR (gst_ffmpegdec_sink_event));
-+ gst_pad_set_chain_function (ffmpegdec->sinkpad,
-+ GST_DEBUG_FUNCPTR (gst_ffmpegdec_chain));
-+ gst_element_add_pad (GST_ELEMENT (ffmpegdec), ffmpegdec->sinkpad);
-+
-+ ffmpegdec->srcpad = gst_pad_new_from_template (oclass->srctempl, "src");
-+ gst_pad_use_fixed_caps (ffmpegdec->srcpad);
-+ gst_pad_set_event_function (ffmpegdec->srcpad,
-+ GST_DEBUG_FUNCPTR (gst_ffmpegdec_src_event));
-+ gst_pad_set_query_function (ffmpegdec->srcpad,
-+ GST_DEBUG_FUNCPTR (gst_ffmpegdec_query));
-+ gst_element_add_pad (GST_ELEMENT (ffmpegdec), ffmpegdec->srcpad);
-+
-+ /* some ffmpeg data */
-+ ffmpegdec->context = avcodec_alloc_context ();
-+ ffmpegdec->picture = avcodec_alloc_frame ();
-+ ffmpegdec->pctx = NULL;
-+ ffmpegdec->pcache = NULL;
-+ ffmpegdec->par = NULL;
-+ ffmpegdec->opened = FALSE;
-+ ffmpegdec->skip_frame = ffmpegdec->lowres = 0;
-+ ffmpegdec->direct_rendering = DEFAULT_DIRECT_RENDERING;
-+ ffmpegdec->do_padding = DEFAULT_DO_PADDING;
-+ ffmpegdec->debug_mv = DEFAULT_DEBUG_MV;
-+ ffmpegdec->crop = DEFAULT_CROP;
-+ ffmpegdec->max_threads = DEFAULT_MAX_THREADS;
-+
-+ ffmpegdec->format.video.par_n = -1;
-+ ffmpegdec->format.video.fps_n = -1;
-+ ffmpegdec->format.video.old_fps_n = -1;
-+ gst_segment_init (&ffmpegdec->segment, GST_FORMAT_TIME);
-+
-+ /* We initially assume downstream can allocate 16 bytes aligned buffers */
-+ ffmpegdec->can_allocate_aligned = TRUE;
-+}
-+
-+static void
-+gst_ffmpegdec_finalize (GObject * object)
-+{
-+ GstFFMpegDec *ffmpegdec = (GstFFMpegDec *) object;
-+
-+ if (ffmpegdec->context != NULL) {
-+ av_free (ffmpegdec->context);
-+ ffmpegdec->context = NULL;
-+ }
-+
-+ if (ffmpegdec->picture != NULL) {
-+ av_free (ffmpegdec->picture);
-+ ffmpegdec->picture = NULL;
-+ }
-+
-+ G_OBJECT_CLASS (parent_class)->finalize (object);
-+}
-+
-+static gboolean
-+gst_ffmpegdec_query (GstPad * pad, GstQuery * query)
-+{
-+ GstFFMpegDec *ffmpegdec;
-+ GstPad *peer;
-+ gboolean res;
-+
-+ ffmpegdec = (GstFFMpegDec *) gst_pad_get_parent (pad);
-+
-+ res = FALSE;
-+
-+ if ((peer = gst_pad_get_peer (ffmpegdec->sinkpad))) {
-+ /* just forward to peer */
-+ res = gst_pad_query (peer, query);
-+ gst_object_unref (peer);
-+ }
-+#if 0
-+ {
-+ GstFormat bfmt;
-+
-+ bfmt = GST_FORMAT_BYTES;
-+
-+ /* ok, do bitrate calc... */
-+ if ((type != GST_QUERY_POSITION && type != GST_QUERY_TOTAL) ||
-+ *fmt != GST_FORMAT_TIME || ffmpegdec->context->bit_rate == 0 ||
-+ !gst_pad_query (peer, type, &bfmt, value))
-+ return FALSE;
-+
-+ if (ffmpegdec->pcache && type == GST_QUERY_POSITION)
-+ *value -= GST_BUFFER_SIZE (ffmpegdec->pcache);
-+ *value *= GST_SECOND / ffmpegdec->context->bit_rate;
-+ }
-+#endif
-+
-+ gst_object_unref (ffmpegdec);
-+
-+ return res;
-+}
-+
-+static void
-+gst_ffmpegdec_reset_ts (GstFFMpegDec * ffmpegdec)
-+{
-+ ffmpegdec->last_in = GST_CLOCK_TIME_NONE;
-+ ffmpegdec->last_diff = GST_CLOCK_TIME_NONE;
-+ ffmpegdec->last_frames = 0;
-+ ffmpegdec->last_out = GST_CLOCK_TIME_NONE;
-+ ffmpegdec->next_out = GST_CLOCK_TIME_NONE;
-+ ffmpegdec->reordered_in = FALSE;
-+ ffmpegdec->reordered_out = FALSE;
-+}
-+
-+static void
-+gst_ffmpegdec_update_qos (GstFFMpegDec * ffmpegdec, gdouble proportion,
-+ GstClockTime timestamp)
-+{
-+ GST_LOG_OBJECT (ffmpegdec, "update QOS: %f, %" GST_TIME_FORMAT,
-+ proportion, GST_TIME_ARGS (timestamp));
-+
-+ GST_OBJECT_LOCK (ffmpegdec);
-+ ffmpegdec->proportion = proportion;
-+ ffmpegdec->earliest_time = timestamp;
-+ GST_OBJECT_UNLOCK (ffmpegdec);
-+}
-+
-+static void
-+gst_ffmpegdec_reset_qos (GstFFMpegDec * ffmpegdec)
-+{
-+ gst_ffmpegdec_update_qos (ffmpegdec, 0.5, GST_CLOCK_TIME_NONE);
-+ ffmpegdec->processed = 0;
-+ ffmpegdec->dropped = 0;
-+}
-+
-+static void
-+gst_ffmpegdec_read_qos (GstFFMpegDec * ffmpegdec, gdouble * proportion,
-+ GstClockTime * timestamp)
-+{
-+ GST_OBJECT_LOCK (ffmpegdec);
-+ *proportion = ffmpegdec->proportion;
-+ *timestamp = ffmpegdec->earliest_time;
-+ GST_OBJECT_UNLOCK (ffmpegdec);
-+}
-+
-+static gboolean
-+gst_ffmpegdec_src_event (GstPad * pad, GstEvent * event)
-+{
-+ GstFFMpegDec *ffmpegdec;
-+ gboolean res;
-+
-+ ffmpegdec = (GstFFMpegDec *) gst_pad_get_parent (pad);
-+
-+ switch (GST_EVENT_TYPE (event)) {
-+ case GST_EVENT_QOS:
-+ {
-+ gdouble proportion;
-+ GstClockTimeDiff diff;
-+ GstClockTime timestamp;
-+
-+ gst_event_parse_qos (event, &proportion, &diff, &timestamp);
-+
-+ /* update our QoS values */
-+ gst_ffmpegdec_update_qos (ffmpegdec, proportion, timestamp + diff);
-+
-+ /* forward upstream */
-+ res = gst_pad_push_event (ffmpegdec->sinkpad, event);
-+ break;
-+ }
-+ default:
-+ /* forward upstream */
-+ res = gst_pad_push_event (ffmpegdec->sinkpad, event);
-+ break;
-+ }
-+
-+ gst_object_unref (ffmpegdec);
-+
-+ return res;
-+}
-+
-+/* with LOCK */
-+static void
-+gst_ffmpegdec_close (GstFFMpegDec * ffmpegdec)
-+{
-+ if (!ffmpegdec->opened)
-+ return;
-+
-+ GST_LOG_OBJECT (ffmpegdec, "closing ffmpeg codec");
-+
-+ if (ffmpegdec->par) {
-+ g_free (ffmpegdec->par);
-+ ffmpegdec->par = NULL;
-+ }
-+
-+ if (ffmpegdec->context->priv_data)
-+ gst_ffmpeg_avcodec_close (ffmpegdec->context);
-+ ffmpegdec->opened = FALSE;
-+
-+ if (ffmpegdec->context->extradata) {
-+ av_free (ffmpegdec->context->extradata);
-+ ffmpegdec->context->extradata = NULL;
-+ }
-+
-+ if (ffmpegdec->pctx) {
-+ if (ffmpegdec->pcache) {
-+ gst_buffer_unref (ffmpegdec->pcache);
-+ ffmpegdec->pcache = NULL;
-+ }
-+ av_parser_close (ffmpegdec->pctx);
-+ ffmpegdec->pctx = NULL;
-+ }
-+
-+ ffmpegdec->format.video.par_n = -1;
-+ ffmpegdec->format.video.fps_n = -1;
-+ ffmpegdec->format.video.old_fps_n = -1;
-+ ffmpegdec->format.video.interlaced = FALSE;
-+}
-+
-+/* with LOCK */
-+static gboolean
-+gst_ffmpegdec_open (GstFFMpegDec * ffmpegdec)
-+{
-+ GstFFMpegDecClass *oclass;
-+
-+ oclass = (GstFFMpegDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec));
-+
-+ if (gst_ffmpeg_avcodec_open (ffmpegdec->context, oclass->in_plugin) < 0)
-+ goto could_not_open;
-+
-+ ffmpegdec->opened = TRUE;
-+ ffmpegdec->is_realvideo = FALSE;
-+
-+ GST_LOG_OBJECT (ffmpegdec, "Opened ffmpeg codec %s, id %d",
-+ oclass->in_plugin->name, oclass->in_plugin->id);
-+
-+ /* open a parser if we can */
-+ switch (oclass->in_plugin->id) {
-+ case CODEC_ID_MPEG4:
-+ case CODEC_ID_MJPEG:
-+ case CODEC_ID_VC1:
-+ GST_LOG_OBJECT (ffmpegdec, "not using parser, blacklisted codec");
-+ ffmpegdec->pctx = NULL;
-+ break;
-+ case CODEC_ID_H264:
-+ /* For H264, only use a parser if there is no context data, if there is,
-+ * we're talking AVC */
-+ if (ffmpegdec->context->extradata_size == 0) {
-+ GST_LOG_OBJECT (ffmpegdec, "H264 with no extradata, creating parser");
-+ ffmpegdec->pctx = av_parser_init (oclass->in_plugin->id);
-+ } else {
-+ GST_LOG_OBJECT (ffmpegdec,
-+ "H264 with extradata implies framed data - not using parser");
-+ ffmpegdec->pctx = NULL;
-+ }
-+ break;
-+ case CODEC_ID_RV10:
-+ case CODEC_ID_RV30:
-+ case CODEC_ID_RV20:
-+ case CODEC_ID_RV40:
-+ ffmpegdec->is_realvideo = TRUE;
-+ break;
-+ default:
-+ if (!ffmpegdec->turnoff_parser) {
-+ ffmpegdec->pctx = av_parser_init (oclass->in_plugin->id);
-+ if (ffmpegdec->pctx)
-+ GST_LOG_OBJECT (ffmpegdec, "Using parser %p", ffmpegdec->pctx);
-+ else
-+ GST_LOG_OBJECT (ffmpegdec, "No parser for codec");
-+ } else {
-+ GST_LOG_OBJECT (ffmpegdec, "Parser deactivated for format");
-+ }
-+ break;
-+ }
-+
-+ switch (oclass->in_plugin->type) {
-+ case AVMEDIA_TYPE_VIDEO:
-+ ffmpegdec->format.video.width = 0;
-+ ffmpegdec->format.video.height = 0;
-+ ffmpegdec->format.video.clip_width = -1;
-+ ffmpegdec->format.video.clip_height = -1;
-+ ffmpegdec->format.video.pix_fmt = PIX_FMT_NB;
-+ ffmpegdec->format.video.interlaced = FALSE;
-+ break;
-+ case AVMEDIA_TYPE_AUDIO:
-+ ffmpegdec->format.audio.samplerate = 0;
-+ ffmpegdec->format.audio.channels = 0;
-+ ffmpegdec->format.audio.depth = 0;
-+ break;
-+ default:
-+ break;
-+ }
-+
-+ gst_ffmpegdec_reset_ts (ffmpegdec);
-+ /* FIXME, reset_qos holds the LOCK */
-+ ffmpegdec->proportion = 0.0;
-+ ffmpegdec->earliest_time = -1;
-+
-+ return TRUE;
-+
-+ /* ERRORS */
-+could_not_open:
-+ {
-+ gst_ffmpegdec_close (ffmpegdec);
-+ GST_DEBUG_OBJECT (ffmpegdec, "ffdec_%s: Failed to open FFMPEG codec",
-+ oclass->in_plugin->name);
-+ return FALSE;
-+ }
-+}
-+
-+static gboolean
-+gst_ffmpegdec_setcaps (GstPad * pad, GstCaps * caps)
-+{
-+ GstFFMpegDec *ffmpegdec;
-+ GstFFMpegDecClass *oclass;
-+ GstStructure *structure;
-+ const GValue *par;
-+ const GValue *fps;
-+ gboolean ret = TRUE;
-+
-+ ffmpegdec = (GstFFMpegDec *) (gst_pad_get_parent (pad));
-+ oclass = (GstFFMpegDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec));
-+
-+ GST_DEBUG_OBJECT (pad, "setcaps called");
-+
-+ GST_OBJECT_LOCK (ffmpegdec);
-+
-+ /* stupid check for VC1 */
-+ if ((oclass->in_plugin->id == CODEC_ID_WMV3) ||
-+ (oclass->in_plugin->id == CODEC_ID_VC1))
-+ oclass->in_plugin->id = gst_ffmpeg_caps_to_codecid (caps, NULL);
-+
-+ /* close old session */
-+ if (ffmpegdec->opened) {
-+ GST_OBJECT_UNLOCK (ffmpegdec);
-+ gst_ffmpegdec_drain (ffmpegdec);
-+ GST_OBJECT_LOCK (ffmpegdec);
-+ gst_ffmpegdec_close (ffmpegdec);
-+
-+ /* and reset the defaults that were set when a context is created */
-+ avcodec_get_context_defaults (ffmpegdec->context);
-+ }
-+
-+ /* set buffer functions */
-+ ffmpegdec->context->get_buffer = gst_ffmpegdec_get_buffer;
-+ ffmpegdec->context->release_buffer = gst_ffmpegdec_release_buffer;
-+ ffmpegdec->context->draw_horiz_band = NULL;
-+
-+ /* default is to let format decide if it needs a parser */
-+ ffmpegdec->turnoff_parser = FALSE;
-+
-+ ffmpegdec->has_b_frames = FALSE;
-+
-+ GST_LOG_OBJECT (ffmpegdec, "size %dx%d", ffmpegdec->context->width,
-+ ffmpegdec->context->height);
-+
-+ /* get size and so */
-+ gst_ffmpeg_caps_with_codecid (oclass->in_plugin->id,
-+ oclass->in_plugin->type, caps, ffmpegdec->context);
-+
-+ GST_LOG_OBJECT (ffmpegdec, "size after %dx%d", ffmpegdec->context->width,
-+ ffmpegdec->context->height);
-+
-+ if (!ffmpegdec->context->time_base.den || !ffmpegdec->context->time_base.num) {
-+ GST_DEBUG_OBJECT (ffmpegdec, "forcing 25/1 framerate");
-+ ffmpegdec->context->time_base.num = 1;
-+ ffmpegdec->context->time_base.den = 25;
-+ }
-+
-+ /* get pixel aspect ratio if it's set */
-+ structure = gst_caps_get_structure (caps, 0);
-+
-+ par = gst_structure_get_value (structure, "pixel-aspect-ratio");
-+ if (par) {
-+ GST_DEBUG_OBJECT (ffmpegdec, "sink caps have pixel-aspect-ratio of %d:%d",
-+ gst_value_get_fraction_numerator (par),
-+ gst_value_get_fraction_denominator (par));
-+ /* should be NULL */
-+ if (ffmpegdec->par)
-+ g_free (ffmpegdec->par);
-+ ffmpegdec->par = g_new0 (GValue, 1);
-+ gst_value_init_and_copy (ffmpegdec->par, par);
-+ }
-+
-+ /* get the framerate from incoming caps. fps_n is set to -1 when
-+ * there is no valid framerate */
-+ fps = gst_structure_get_value (structure, "framerate");
-+ if (fps != NULL && GST_VALUE_HOLDS_FRACTION (fps)) {
-+ ffmpegdec->format.video.fps_n = gst_value_get_fraction_numerator (fps);
-+ ffmpegdec->format.video.fps_d = gst_value_get_fraction_denominator (fps);
-+ GST_DEBUG_OBJECT (ffmpegdec, "Using framerate %d/%d from incoming caps",
-+ ffmpegdec->format.video.fps_n, ffmpegdec->format.video.fps_d);
-+ } else {
-+ ffmpegdec->format.video.fps_n = -1;
-+ GST_DEBUG_OBJECT (ffmpegdec, "Using framerate from codec");
-+ }
-+
-+ /* figure out if we can use direct rendering */
-+ ffmpegdec->current_dr = FALSE;
-+ ffmpegdec->extra_ref = FALSE;
-+ if (ffmpegdec->direct_rendering) {
-+ GST_DEBUG_OBJECT (ffmpegdec, "trying to enable direct rendering");
-+ if (oclass->in_plugin->capabilities & CODEC_CAP_DR1) {
-+ if (oclass->in_plugin->id == CODEC_ID_H264) {
-+ GST_DEBUG_OBJECT (ffmpegdec, "disable direct rendering setup for H264");
-+ /* does not work, many stuff reads outside of the planes */
-+ ffmpegdec->current_dr = FALSE;
-+ ffmpegdec->extra_ref = TRUE;
-+ } else if ((oclass->in_plugin->id == CODEC_ID_SVQ1) ||
-+ (oclass->in_plugin->id == CODEC_ID_VP5) ||
-+ (oclass->in_plugin->id == CODEC_ID_VP6) ||
-+ (oclass->in_plugin->id == CODEC_ID_VP6F) ||
-+ (oclass->in_plugin->id == CODEC_ID_VP6A)) {
-+ GST_DEBUG_OBJECT (ffmpegdec,
-+ "disable direct rendering setup for broken stride support");
-+ /* does not work, uses a incompatible stride. See #610613 */
-+ ffmpegdec->current_dr = FALSE;
-+ ffmpegdec->extra_ref = TRUE;
-+ } else {
-+ GST_DEBUG_OBJECT (ffmpegdec, "enabled direct rendering");
-+ ffmpegdec->current_dr = TRUE;
-+ }
-+ } else {
-+ GST_DEBUG_OBJECT (ffmpegdec, "direct rendering not supported");
-+ }
-+ }
-+ if (ffmpegdec->current_dr) {
-+ /* do *not* draw edges when in direct rendering, for some reason it draws
-+ * outside of the memory. */
-+ ffmpegdec->context->flags |= CODEC_FLAG_EMU_EDGE;
-+ }
-+
-+ /* for AAC we only use av_parse if not on stream-format==raw or ==loas */
-+ if (oclass->in_plugin->id == CODEC_ID_AAC
-+ || oclass->in_plugin->id == CODEC_ID_AAC_LATM) {
-+ const gchar *format = gst_structure_get_string (structure, "stream-format");
-+
-+ if (format == NULL || strcmp (format, "raw") == 0) {
-+ ffmpegdec->turnoff_parser = TRUE;
-+ }
-+ }
-+
-+ /* for FLAC, don't parse if it's already parsed */
-+ if (oclass->in_plugin->id == CODEC_ID_FLAC) {
-+ if (gst_structure_has_field (structure, "streamheader"))
-+ ffmpegdec->turnoff_parser = TRUE;
-+ }
-+
-+ /* workaround encoder bugs */
-+ ffmpegdec->context->workaround_bugs |= FF_BUG_AUTODETECT;
-+ ffmpegdec->context->err_recognition = 1;
-+
-+ /* for slow cpus */
-+ ffmpegdec->context->lowres = ffmpegdec->lowres;
-+ ffmpegdec->context->skip_frame = ffmpegdec->skip_frame;
-+
-+ /* ffmpeg can draw motion vectors on top of the image (not every decoder
-+ * supports it) */
-+ ffmpegdec->context->debug_mv = ffmpegdec->debug_mv;
-+
-+ if (ffmpegdec->max_threads == 0)
-+ ffmpegdec->context->thread_count = gst_ffmpeg_auto_max_threads ();
-+ else
-+ ffmpegdec->context->thread_count = ffmpegdec->max_threads;
-+
-+ /* open codec - we don't select an output pix_fmt yet,
-+ * simply because we don't know! We only get it
-+ * during playback... */
-+ if (!gst_ffmpegdec_open (ffmpegdec))
-+ goto open_failed;
-+
-+ /* clipping region */
-+ gst_structure_get_int (structure, "width",
-+ &ffmpegdec->format.video.clip_width);
-+ gst_structure_get_int (structure, "height",
-+ &ffmpegdec->format.video.clip_height);
-+
-+ GST_DEBUG_OBJECT (pad, "clipping to %dx%d",
-+ ffmpegdec->format.video.clip_width, ffmpegdec->format.video.clip_height);
-+
-+ /* take into account the lowres property */
-+ if (ffmpegdec->format.video.clip_width != -1)
-+ ffmpegdec->format.video.clip_width >>= ffmpegdec->lowres;
-+ if (ffmpegdec->format.video.clip_height != -1)
-+ ffmpegdec->format.video.clip_height >>= ffmpegdec->lowres;
-+
-+ GST_DEBUG_OBJECT (pad, "final clipping to %dx%d",
-+ ffmpegdec->format.video.clip_width, ffmpegdec->format.video.clip_height);
-+
-+done:
-+ GST_OBJECT_UNLOCK (ffmpegdec);
-+
-+ gst_object_unref (ffmpegdec);
-+
-+ return ret;
-+
-+ /* ERRORS */
-+open_failed:
-+ {
-+ GST_DEBUG_OBJECT (ffmpegdec, "Failed to open");
-+ if (ffmpegdec->par) {
-+ g_free (ffmpegdec->par);
-+ ffmpegdec->par = NULL;
-+ }
-+ ret = FALSE;
-+ goto done;
-+ }
-+}
-+
-+static GstFlowReturn
-+alloc_output_buffer (GstFFMpegDec * ffmpegdec, GstBuffer ** outbuf,
-+ gint width, gint height)
-+{
-+ GstFlowReturn ret;
-+ gint fsize;
-+
-+ ret = GST_FLOW_ERROR;
-+ *outbuf = NULL;
-+
-+ GST_LOG_OBJECT (ffmpegdec, "alloc output buffer");
-+
-+ /* see if we need renegotiation */
-+ if (G_UNLIKELY (!gst_ffmpegdec_negotiate (ffmpegdec, FALSE)))
-+ goto negotiate_failed;
-+
-+ /* get the size of the gstreamer output buffer given a
-+ * width/height/format */
-+ fsize = gst_ffmpeg_avpicture_get_size (ffmpegdec->context->pix_fmt,
-+ width, height);
-+
-+ if (ffmpegdec->can_allocate_aligned) {
-+ GST_LOG_OBJECT (ffmpegdec, "calling pad_alloc");
-+ /* no pallete, we can use the buffer size to alloc */
-+ ret = gst_pad_alloc_buffer_and_set_caps (ffmpegdec->srcpad,
-+ GST_BUFFER_OFFSET_NONE, fsize,
-+ GST_PAD_CAPS (ffmpegdec->srcpad), outbuf);
-+ if (G_UNLIKELY (ret != GST_FLOW_OK))
-+ goto alloc_failed;
-+
-+ /* If buffer isn't 128-bit aligned, create a memaligned one ourselves */
-+ if (((uintptr_t) GST_BUFFER_DATA (*outbuf)) % 16) {
-+ GST_DEBUG_OBJECT (ffmpegdec,
-+ "Downstream can't allocate aligned buffers.");
-+ ffmpegdec->can_allocate_aligned = FALSE;
-+ gst_buffer_unref (*outbuf);
-+ *outbuf = new_aligned_buffer (fsize, GST_PAD_CAPS (ffmpegdec->srcpad));
-+ }
-+ } else {
-+ GST_LOG_OBJECT (ffmpegdec,
-+ "not calling pad_alloc, we have a pallete or downstream can't give 16 byte aligned buffers.");
-+ /* for paletted data we can't use pad_alloc_buffer(), because
-+ * fsize contains the size of the palette, so the overall size
-+ * is bigger than ffmpegcolorspace's unit size, which will
-+ * prompt GstBaseTransform to complain endlessly ... */
-+ *outbuf = new_aligned_buffer (fsize, GST_PAD_CAPS (ffmpegdec->srcpad));
-+ ret = GST_FLOW_OK;
-+ }
-+ /* set caps, we do this here because the buffer is still writable here and we
-+ * are sure to be negotiated */
-+ gst_buffer_set_caps (*outbuf, GST_PAD_CAPS (ffmpegdec->srcpad));
-+
-+ return ret;
-+
-+ /* special cases */
-+negotiate_failed:
-+ {
-+ GST_DEBUG_OBJECT (ffmpegdec, "negotiate failed");
-+ return GST_FLOW_NOT_NEGOTIATED;
-+ }
-+alloc_failed:
-+ {
-+ GST_DEBUG_OBJECT (ffmpegdec, "pad_alloc failed %d (%s)", ret,
-+ gst_flow_get_name (ret));
-+ return ret;
-+ }
-+}
-+
-+static int
-+gst_ffmpegdec_get_buffer (AVCodecContext * context, AVFrame * picture)
-+{
-+ GstBuffer *buf = NULL;
-+ GstFFMpegDec *ffmpegdec;
-+ gint width, height;
-+ gint coded_width, coded_height;
-+ gint res;
-+
-+ ffmpegdec = (GstFFMpegDec *) context->opaque;
-+
-+ GST_DEBUG_OBJECT (ffmpegdec, "getting buffer");
-+
-+ /* apply the last info we have seen to this picture, when we get the
-+ * picture back from ffmpeg we can use this to correctly timestamp the output
-+ * buffer */
-+ picture->reordered_opaque = context->reordered_opaque;
-+ /* make sure we don't free the buffer when it's not ours */
-+ picture->opaque = NULL;
-+
-+ /* take width and height before clipping */
-+ width = context->width;
-+ height = context->height;
-+ coded_width = context->coded_width;
-+ coded_height = context->coded_height;
-+
-+ GST_LOG_OBJECT (ffmpegdec, "dimension %dx%d, coded %dx%d", width, height,
-+ coded_width, coded_height);
-+ if (!ffmpegdec->current_dr) {
-+ GST_LOG_OBJECT (ffmpegdec, "direct rendering disabled, fallback alloc");
-+ res = avcodec_default_get_buffer (context, picture);
-+
-+ GST_LOG_OBJECT (ffmpegdec, "linsize %d %d %d", picture->linesize[0],
-+ picture->linesize[1], picture->linesize[2]);
-+ GST_LOG_OBJECT (ffmpegdec, "data %u %u %u", 0,
-+ (guint) (picture->data[1] - picture->data[0]),
-+ (guint) (picture->data[2] - picture->data[0]));
-+ return res;
-+ }
-+
-+ switch (context->codec_type) {
-+ case AVMEDIA_TYPE_VIDEO:
-+ /* some ffmpeg video plugins don't see the point in setting codec_type ... */
-+ case AVMEDIA_TYPE_UNKNOWN:
-+ {
-+ GstFlowReturn ret;
-+ gint clip_width, clip_height;
-+
-+ /* take final clipped output size */
-+ if ((clip_width = ffmpegdec->format.video.clip_width) == -1)
-+ clip_width = width;
-+ if ((clip_height = ffmpegdec->format.video.clip_height) == -1)
-+ clip_height = height;
-+
-+ GST_LOG_OBJECT (ffmpegdec, "raw outsize %d/%d", width, height);
-+
-+ /* this is the size ffmpeg needs for the buffer */
-+ avcodec_align_dimensions (context, &width, &height);
-+
-+ GST_LOG_OBJECT (ffmpegdec, "aligned outsize %d/%d, clip %d/%d",
-+ width, height, clip_width, clip_height);
-+
-+ if (width != clip_width || height != clip_height) {
-+ /* We can't alloc if we need to clip the output buffer later */
-+ GST_LOG_OBJECT (ffmpegdec, "we need clipping, fallback alloc");
-+ return avcodec_default_get_buffer (context, picture);
-+ }
-+
-+ /* alloc with aligned dimensions for ffmpeg */
-+ ret = alloc_output_buffer (ffmpegdec, &buf, width, height);
-+ if (G_UNLIKELY (ret != GST_FLOW_OK)) {
-+ /* alloc default buffer when we can't get one from downstream */
-+ GST_LOG_OBJECT (ffmpegdec, "alloc failed, fallback alloc");
-+ return avcodec_default_get_buffer (context, picture);
-+ }
-+
-+ /* copy the right pointers and strides in the picture object */
-+ gst_ffmpeg_avpicture_fill ((AVPicture *) picture,
-+ GST_BUFFER_DATA (buf), context->pix_fmt, width, height);
-+ break;
-+ }
-+ case AVMEDIA_TYPE_AUDIO:
-+ default:
-+ GST_ERROR_OBJECT (ffmpegdec,
-+ "_get_buffer() should never get called for non-video buffers !");
-+ g_assert_not_reached ();
-+ break;
-+ }
-+
-+ /* tell ffmpeg we own this buffer, tranfer the ref we have on the buffer to
-+ * the opaque data. */
-+ picture->type = FF_BUFFER_TYPE_USER;
-+ picture->opaque = buf;
-+
-+#ifdef EXTRA_REF
-+ if (picture->reference != 0 || ffmpegdec->extra_ref) {
-+ GST_DEBUG_OBJECT (ffmpegdec, "adding extra ref");
-+ gst_buffer_ref (buf);
-+ }
-+#endif
-+
-+ GST_LOG_OBJECT (ffmpegdec, "returned buffer %p", buf);
-+
-+ return 0;
-+}
-+
-+static void
-+gst_ffmpegdec_release_buffer (AVCodecContext * context, AVFrame * picture)
-+{
-+ gint i;
-+ GstBuffer *buf;
-+ GstFFMpegDec *ffmpegdec;
-+
-+ ffmpegdec = (GstFFMpegDec *) context->opaque;
-+
-+ /* check if it was our buffer */
-+ if (picture->opaque == NULL) {
-+ GST_DEBUG_OBJECT (ffmpegdec, "default release buffer");
-+ avcodec_default_release_buffer (context, picture);
-+ return;
-+ }
-+
-+ /* we remove the opaque data now */
-+ buf = GST_BUFFER_CAST (picture->opaque);
-+ GST_DEBUG_OBJECT (ffmpegdec, "release buffer %p", buf);
-+ picture->opaque = NULL;
-+
-+#ifdef EXTRA_REF
-+ if (picture->reference != 0 || ffmpegdec->extra_ref) {
-+ GST_DEBUG_OBJECT (ffmpegdec, "remove extra ref");
-+ gst_buffer_unref (buf);
-+ }
-+#else
-+ gst_buffer_unref (buf);
-+#endif
-+
-+ /* zero out the reference in ffmpeg */
-+ for (i = 0; i < 4; i++) {
-+ picture->data[i] = NULL;
-+ picture->linesize[i] = 0;
-+ }
-+}
-+
-+static void
-+gst_ffmpegdec_add_pixel_aspect_ratio (GstFFMpegDec * ffmpegdec,
-+ GstStructure * s)
-+{
-+ gboolean demuxer_par_set = FALSE;
-+ gboolean decoder_par_set = FALSE;
-+ gint demuxer_num = 1, demuxer_denom = 1;
-+ gint decoder_num = 1, decoder_denom = 1;
-+
-+ GST_OBJECT_LOCK (ffmpegdec);
-+
-+ if (ffmpegdec->par) {
-+ demuxer_num = gst_value_get_fraction_numerator (ffmpegdec->par);
-+ demuxer_denom = gst_value_get_fraction_denominator (ffmpegdec->par);
-+ demuxer_par_set = TRUE;
-+ GST_DEBUG_OBJECT (ffmpegdec, "Demuxer PAR: %d:%d", demuxer_num,
-+ demuxer_denom);
-+ }
-+
-+ if (ffmpegdec->context->sample_aspect_ratio.num &&
-+ ffmpegdec->context->sample_aspect_ratio.den) {
-+ decoder_num = ffmpegdec->context->sample_aspect_ratio.num;
-+ decoder_denom = ffmpegdec->context->sample_aspect_ratio.den;
-+ decoder_par_set = TRUE;
-+ GST_DEBUG_OBJECT (ffmpegdec, "Decoder PAR: %d:%d", decoder_num,
-+ decoder_denom);
-+ }
-+
-+ GST_OBJECT_UNLOCK (ffmpegdec);
-+
-+ if (!demuxer_par_set && !decoder_par_set)
-+ goto no_par;
-+
-+ if (demuxer_par_set && !decoder_par_set)
-+ goto use_demuxer_par;
-+
-+ if (decoder_par_set && !demuxer_par_set)
-+ goto use_decoder_par;
-+
-+ /* Both the demuxer and the decoder provide a PAR. If one of
-+ * the two PARs is 1:1 and the other one is not, use the one
-+ * that is not 1:1. */
-+ if (demuxer_num == demuxer_denom && decoder_num != decoder_denom)
-+ goto use_decoder_par;
-+
-+ if (decoder_num == decoder_denom && demuxer_num != demuxer_denom)
-+ goto use_demuxer_par;
-+
-+ /* Both PARs are non-1:1, so use the PAR provided by the demuxer */
-+ goto use_demuxer_par;
-+
-+use_decoder_par:
-+ {
-+ GST_DEBUG_OBJECT (ffmpegdec,
-+ "Setting decoder provided pixel-aspect-ratio of %u:%u", decoder_num,
-+ decoder_denom);
-+ gst_structure_set (s, "pixel-aspect-ratio", GST_TYPE_FRACTION, decoder_num,
-+ decoder_denom, NULL);
-+ return;
-+ }
-+
-+use_demuxer_par:
-+ {
-+ GST_DEBUG_OBJECT (ffmpegdec,
-+ "Setting demuxer provided pixel-aspect-ratio of %u:%u", demuxer_num,
-+ demuxer_denom);
-+ gst_structure_set (s, "pixel-aspect-ratio", GST_TYPE_FRACTION, demuxer_num,
-+ demuxer_denom, NULL);
-+ return;
-+ }
-+no_par:
-+ {
-+ GST_DEBUG_OBJECT (ffmpegdec,
-+ "Neither demuxer nor codec provide a pixel-aspect-ratio");
-+ return;
-+ }
-+}
-+
-+static gboolean
-+gst_ffmpegdec_negotiate (GstFFMpegDec * ffmpegdec, gboolean force)
-+{
-+ GstFFMpegDecClass *oclass;
-+ GstCaps *caps;
-+
-+ oclass = (GstFFMpegDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec));
-+
-+ switch (oclass->in_plugin->type) {
-+ case AVMEDIA_TYPE_VIDEO:
-+ if (!force && ffmpegdec->format.video.width == ffmpegdec->context->width
-+ && ffmpegdec->format.video.height == ffmpegdec->context->height
-+ && ffmpegdec->format.video.fps_n == ffmpegdec->format.video.old_fps_n
-+ && ffmpegdec->format.video.fps_d == ffmpegdec->format.video.old_fps_d
-+ && ffmpegdec->format.video.pix_fmt == ffmpegdec->context->pix_fmt
-+ && ffmpegdec->format.video.par_n ==
-+ ffmpegdec->context->sample_aspect_ratio.num
-+ && ffmpegdec->format.video.par_d ==
-+ ffmpegdec->context->sample_aspect_ratio.den)
-+ return TRUE;
-+ GST_DEBUG_OBJECT (ffmpegdec,
-+ "Renegotiating video from %dx%d@ %d:%d PAR %d/%d fps to %dx%d@ %d:%d PAR %d/%d fps",
-+ ffmpegdec->format.video.width, ffmpegdec->format.video.height,
-+ ffmpegdec->format.video.par_n, ffmpegdec->format.video.par_d,
-+ ffmpegdec->format.video.old_fps_n, ffmpegdec->format.video.old_fps_n,
-+ ffmpegdec->context->width, ffmpegdec->context->height,
-+ ffmpegdec->context->sample_aspect_ratio.num,
-+ ffmpegdec->context->sample_aspect_ratio.den,
-+ ffmpegdec->format.video.fps_n, ffmpegdec->format.video.fps_d);
-+ ffmpegdec->format.video.width = ffmpegdec->context->width;
-+ ffmpegdec->format.video.height = ffmpegdec->context->height;
-+ ffmpegdec->format.video.old_fps_n = ffmpegdec->format.video.fps_n;
-+ ffmpegdec->format.video.old_fps_d = ffmpegdec->format.video.fps_d;
-+ ffmpegdec->format.video.pix_fmt = ffmpegdec->context->pix_fmt;
-+ ffmpegdec->format.video.par_n =
-+ ffmpegdec->context->sample_aspect_ratio.num;
-+ ffmpegdec->format.video.par_d =
-+ ffmpegdec->context->sample_aspect_ratio.den;
-+ break;
-+ case AVMEDIA_TYPE_AUDIO:
-+ {
-+ gint depth = av_smp_format_depth (ffmpegdec->context->sample_fmt);
-+ if (!force && ffmpegdec->format.audio.samplerate ==
-+ ffmpegdec->context->sample_rate &&
-+ ffmpegdec->format.audio.channels == ffmpegdec->context->channels &&
-+ ffmpegdec->format.audio.depth == depth)
-+ return TRUE;
-+ GST_DEBUG_OBJECT (ffmpegdec,
-+ "Renegotiating audio from %dHz@%dchannels (%d) to %dHz@%dchannels (%d)",
-+ ffmpegdec->format.audio.samplerate, ffmpegdec->format.audio.channels,
-+ ffmpegdec->format.audio.depth,
-+ ffmpegdec->context->sample_rate, ffmpegdec->context->channels, depth);
-+ ffmpegdec->format.audio.samplerate = ffmpegdec->context->sample_rate;
-+ ffmpegdec->format.audio.channels = ffmpegdec->context->channels;
-+ ffmpegdec->format.audio.depth = depth;
-+ }
-+ break;
-+ default:
-+ break;
-+ }
-+
-+ caps = gst_ffmpeg_codectype_to_caps (oclass->in_plugin->type,
-+ ffmpegdec->context, oclass->in_plugin->id, FALSE);
-+
-+ if (caps == NULL)
-+ goto no_caps;
-+
-+ switch (oclass->in_plugin->type) {
-+ case AVMEDIA_TYPE_VIDEO:
-+ {
-+ gint width, height;
-+ gboolean interlaced;
-+
-+ width = ffmpegdec->format.video.clip_width;
-+ height = ffmpegdec->format.video.clip_height;
-+ interlaced = ffmpegdec->format.video.interlaced;
-+
-+ if (width != -1 && height != -1) {
-+ /* overwrite the output size with the dimension of the
-+ * clipping region but only if they are smaller. */
-+ if (width < ffmpegdec->context->width)
-+ gst_caps_set_simple (caps, "width", G_TYPE_INT, width, NULL);
-+ if (height < ffmpegdec->context->height)
-+ gst_caps_set_simple (caps, "height", G_TYPE_INT, height, NULL);
-+ }
-+ gst_caps_set_simple (caps, "interlaced", G_TYPE_BOOLEAN, interlaced,
-+ NULL);
-+
-+ /* If a demuxer provided a framerate then use it (#313970) */
-+ if (ffmpegdec->format.video.fps_n != -1) {
-+ gst_caps_set_simple (caps, "framerate",
-+ GST_TYPE_FRACTION, ffmpegdec->format.video.fps_n,
-+ ffmpegdec->format.video.fps_d, NULL);
-+ }
-+ gst_ffmpegdec_add_pixel_aspect_ratio (ffmpegdec,
-+ gst_caps_get_structure (caps, 0));
-+ break;
-+ }
-+ case AVMEDIA_TYPE_AUDIO:
-+ {
-+ break;
-+ }
-+ default:
-+ break;
-+ }
-+
-+ if (!gst_pad_set_caps (ffmpegdec->srcpad, caps))
-+ goto caps_failed;
-+
-+ gst_caps_unref (caps);
-+
-+ return TRUE;
-+
-+ /* ERRORS */
-+no_caps:
-+ {
-+#ifdef HAVE_FFMPEG_UNINSTALLED
-+ /* using internal ffmpeg snapshot */
-+ GST_ELEMENT_ERROR (ffmpegdec, CORE, NEGOTIATION,
-+ ("Could not find GStreamer caps mapping for FFmpeg codec '%s'.",
-+ oclass->in_plugin->name), (NULL));
-+#else
-+ /* using external ffmpeg */
-+ GST_ELEMENT_ERROR (ffmpegdec, CORE, NEGOTIATION,
-+ ("Could not find GStreamer caps mapping for FFmpeg codec '%s', and "
-+ "you are using an external libavcodec. This is most likely due to "
-+ "a packaging problem and/or libavcodec having been upgraded to a "
-+ "version that is not compatible with this version of "
-+ "gstreamer-ffmpeg. Make sure your gstreamer-ffmpeg and libavcodec "
-+ "packages come from the same source/repository.",
-+ oclass->in_plugin->name), (NULL));
-+#endif
-+ return FALSE;
-+ }
-+caps_failed:
-+ {
-+ GST_ELEMENT_ERROR (ffmpegdec, CORE, NEGOTIATION, (NULL),
-+ ("Could not set caps for ffmpeg decoder (%s), not fixed?",
-+ oclass->in_plugin->name));
-+ gst_caps_unref (caps);
-+
-+ return FALSE;
-+ }
-+}
-+
-+/* perform qos calculations before decoding the next frame.
-+ *
-+ * Sets the skip_frame flag and if things are really bad, skips to the next
-+ * keyframe.
-+ *
-+ * Returns TRUE if the frame should be decoded, FALSE if the frame can be dropped
-+ * entirely.
-+ */
-+static gboolean
-+gst_ffmpegdec_do_qos (GstFFMpegDec * ffmpegdec, GstClockTime timestamp,
-+ gboolean * mode_switch)
-+{
-+ GstClockTimeDiff diff;
-+ gdouble proportion;
-+ GstClockTime qostime, earliest_time;
-+ gboolean res = TRUE;
-+
-+ *mode_switch = FALSE;
-+
-+ /* no timestamp, can't do QoS */
-+ if (G_UNLIKELY (!GST_CLOCK_TIME_IS_VALID (timestamp)))
-+ goto no_qos;
-+
-+ /* get latest QoS observation values */
-+ gst_ffmpegdec_read_qos (ffmpegdec, &proportion, &earliest_time);
-+
-+ /* skip qos if we have no observation (yet) */
-+ if (G_UNLIKELY (!GST_CLOCK_TIME_IS_VALID (earliest_time))) {
-+ /* no skip_frame initialy */
-+ ffmpegdec->context->skip_frame = AVDISCARD_DEFAULT;
-+ goto no_qos;
-+ }
-+
-+ /* qos is done on running time of the timestamp */
-+ qostime = gst_segment_to_running_time (&ffmpegdec->segment, GST_FORMAT_TIME,
-+ timestamp);
-+
-+ /* timestamp can be out of segment, then we don't do QoS */
-+ if (G_UNLIKELY (!GST_CLOCK_TIME_IS_VALID (qostime)))
-+ goto no_qos;
-+
-+ /* see how our next timestamp relates to the latest qos timestamp. negative
-+ * values mean we are early, positive values mean we are too late. */
-+ diff = GST_CLOCK_DIFF (qostime, earliest_time);
-+
-+ GST_DEBUG_OBJECT (ffmpegdec, "QOS: qostime %" GST_TIME_FORMAT
-+ ", earliest %" GST_TIME_FORMAT, GST_TIME_ARGS (qostime),
-+ GST_TIME_ARGS (earliest_time));
-+
-+ /* if we using less than 40% of the available time, we can try to
-+ * speed up again when we were slow. */
-+ if (proportion < 0.4 && diff < 0) {
-+ goto normal_mode;
-+ } else {
-+ if (diff >= 0) {
-+ /* we're too slow, try to speed up */
-+ /* switch to skip_frame mode */
-+ goto skip_frame;
-+ }
-+ }
-+
-+no_qos:
-+ ffmpegdec->processed++;
-+ return TRUE;
-+
-+normal_mode:
-+ {
-+ if (ffmpegdec->context->skip_frame != AVDISCARD_DEFAULT) {
-+ ffmpegdec->context->skip_frame = AVDISCARD_DEFAULT;
-+ *mode_switch = TRUE;
-+ GST_DEBUG_OBJECT (ffmpegdec, "QOS: normal mode %g < 0.4", proportion);
-+ }
-+ ffmpegdec->processed++;
-+ return TRUE;
-+ }
-+skip_frame:
-+ {
-+ if (ffmpegdec->context->skip_frame != AVDISCARD_NONREF) {
-+ ffmpegdec->context->skip_frame = AVDISCARD_NONREF;
-+ *mode_switch = TRUE;
-+ GST_DEBUG_OBJECT (ffmpegdec,
-+ "QOS: hurry up, diff %" G_GINT64_FORMAT " >= 0", diff);
-+ }
-+ goto drop_qos;
-+ }
-+drop_qos:
-+ {
-+ GstClockTime stream_time, jitter;
-+ GstMessage *qos_msg;
-+
-+ ffmpegdec->dropped++;
-+ stream_time =
-+ gst_segment_to_stream_time (&ffmpegdec->segment, GST_FORMAT_TIME,
-+ timestamp);
-+ jitter = GST_CLOCK_DIFF (qostime, earliest_time);
-+ qos_msg =
-+ gst_message_new_qos (GST_OBJECT_CAST (ffmpegdec), FALSE, qostime,
-+ stream_time, timestamp, GST_CLOCK_TIME_NONE);
-+ gst_message_set_qos_values (qos_msg, jitter, proportion, 1000000);
-+ gst_message_set_qos_stats (qos_msg, GST_FORMAT_BUFFERS,
-+ ffmpegdec->processed, ffmpegdec->dropped);
-+ gst_element_post_message (GST_ELEMENT_CAST (ffmpegdec), qos_msg);
-+
-+ return res;
-+ }
-+}
-+
-+/* returns TRUE if buffer is within segment, else FALSE.
-+ * if Buffer is on segment border, it's timestamp and duration will be clipped */
-+static gboolean
-+clip_video_buffer (GstFFMpegDec * dec, GstBuffer * buf, GstClockTime in_ts,
-+ GstClockTime in_dur)
-+{
-+ gboolean res = TRUE;
-+ gint64 cstart, cstop;
-+ GstClockTime stop;
-+
-+ GST_LOG_OBJECT (dec,
-+ "timestamp:%" GST_TIME_FORMAT " , duration:%" GST_TIME_FORMAT,
-+ GST_TIME_ARGS (in_ts), GST_TIME_ARGS (in_dur));
-+
-+ /* can't clip without TIME segment */
-+ if (G_UNLIKELY (dec->segment.format != GST_FORMAT_TIME))
-+ goto beach;
-+
-+ /* we need a start time */
-+ if (G_UNLIKELY (!GST_CLOCK_TIME_IS_VALID (in_ts)))
-+ goto beach;
-+
-+ /* generate valid stop, if duration unknown, we have unknown stop */
-+ stop =
-+ GST_CLOCK_TIME_IS_VALID (in_dur) ? (in_ts + in_dur) : GST_CLOCK_TIME_NONE;
-+
-+ /* now clip */
-+ res =
-+ gst_segment_clip (&dec->segment, GST_FORMAT_TIME, in_ts, stop, &cstart,
-+ &cstop);
-+ if (G_UNLIKELY (!res))
-+ goto beach;
-+
-+ /* we're pretty sure the duration of this buffer is not till the end of this
-+ * segment (which _clip will assume when the stop is -1) */
-+ if (stop == GST_CLOCK_TIME_NONE)
-+ cstop = GST_CLOCK_TIME_NONE;
-+
-+ /* update timestamp and possibly duration if the clipped stop time is
-+ * valid */
-+ GST_BUFFER_TIMESTAMP (buf) = cstart;
-+ if (GST_CLOCK_TIME_IS_VALID (cstop))
-+ GST_BUFFER_DURATION (buf) = cstop - cstart;
-+
-+ GST_LOG_OBJECT (dec,
-+ "clipped timestamp:%" GST_TIME_FORMAT " , duration:%" GST_TIME_FORMAT,
-+ GST_TIME_ARGS (cstart), GST_TIME_ARGS (GST_BUFFER_DURATION (buf)));
-+
-+beach:
-+ GST_LOG_OBJECT (dec, "%sdropping", (res ? "not " : ""));
-+ return res;
-+}
-+
-+
-+/* get an outbuf buffer with the current picture */
-+static GstFlowReturn
-+get_output_buffer (GstFFMpegDec * ffmpegdec, GstBuffer ** outbuf)
-+{
-+ GstFlowReturn ret;
-+
-+ ret = GST_FLOW_OK;
-+ *outbuf = NULL;
-+
-+ if (ffmpegdec->picture->opaque != NULL) {
-+ /* we allocated a picture already for ffmpeg to decode into, let's pick it
-+ * up and use it now. */
-+ *outbuf = (GstBuffer *) ffmpegdec->picture->opaque;
-+ GST_LOG_OBJECT (ffmpegdec, "using opaque buffer %p", *outbuf);
-+#ifndef EXTRA_REF
-+ gst_buffer_ref (*outbuf);
-+#endif
-+ } else {
-+ AVPicture pic, *outpic;
-+ gint width, height;
-+
-+ GST_LOG_OBJECT (ffmpegdec, "get output buffer");
-+
-+ /* figure out size of output buffer, this is the clipped output size because
-+ * we will copy the picture into it but only when the clipping region is
-+ * smaller than the actual picture size. */
-+ if ((width = ffmpegdec->format.video.clip_width) == -1)
-+ width = ffmpegdec->context->width;
-+ else if (width > ffmpegdec->context->width)
-+ width = ffmpegdec->context->width;
-+
-+ if ((height = ffmpegdec->format.video.clip_height) == -1)
-+ height = ffmpegdec->context->height;
-+ else if (height > ffmpegdec->context->height)
-+ height = ffmpegdec->context->height;
-+
-+ GST_LOG_OBJECT (ffmpegdec, "clip width %d/height %d", width, height);
-+
-+ ret = alloc_output_buffer (ffmpegdec, outbuf, width, height);
-+ if (G_UNLIKELY (ret != GST_FLOW_OK))
-+ goto alloc_failed;
-+
-+ /* original ffmpeg code does not handle odd sizes correctly.
-+ * This patched up version does */
-+ gst_ffmpeg_avpicture_fill (&pic, GST_BUFFER_DATA (*outbuf),
-+ ffmpegdec->context->pix_fmt, width, height);
-+
-+ outpic = (AVPicture *) ffmpegdec->picture;
-+
-+ GST_LOG_OBJECT (ffmpegdec, "linsize %d %d %d", outpic->linesize[0],
-+ outpic->linesize[1], outpic->linesize[2]);
-+ GST_LOG_OBJECT (ffmpegdec, "data %u %u %u", 0,
-+ (guint) (outpic->data[1] - outpic->data[0]),
-+ (guint) (outpic->data[2] - outpic->data[0]));
-+
-+ av_picture_copy (&pic, outpic, ffmpegdec->context->pix_fmt, width, height);
-+ }
-+ ffmpegdec->picture->reordered_opaque = -1;
-+
-+ return ret;
-+
-+ /* special cases */
-+alloc_failed:
-+ {
-+ GST_DEBUG_OBJECT (ffmpegdec, "pad_alloc failed");
-+ return ret;
-+ }
-+}
-+
-+static void
-+clear_queued (GstFFMpegDec * ffmpegdec)
-+{
-+ g_list_foreach (ffmpegdec->queued, (GFunc) gst_mini_object_unref, NULL);
-+ g_list_free (ffmpegdec->queued);
-+ ffmpegdec->queued = NULL;
-+}
-+
-+static GstFlowReturn
-+flush_queued (GstFFMpegDec * ffmpegdec)
-+{
-+ GstFlowReturn res = GST_FLOW_OK;
-+
-+ while (ffmpegdec->queued) {
-+ GstBuffer *buf = GST_BUFFER_CAST (ffmpegdec->queued->data);
-+
-+ GST_LOG_OBJECT (ffmpegdec, "pushing buffer %p, offset %"
-+ G_GUINT64_FORMAT ", timestamp %"
-+ GST_TIME_FORMAT ", duration %" GST_TIME_FORMAT, buf,
-+ GST_BUFFER_OFFSET (buf),
-+ GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buf)),
-+ GST_TIME_ARGS (GST_BUFFER_DURATION (buf)));
-+
-+ /* iterate ouput queue an push downstream */
-+ res = gst_pad_push (ffmpegdec->srcpad, buf);
-+
-+ ffmpegdec->queued =
-+ g_list_delete_link (ffmpegdec->queued, ffmpegdec->queued);
-+ }
-+ return res;
-+}
-+
-+static void
-+gst_avpacket_init (AVPacket * packet, guint8 * data, guint size)
-+{
-+ memset (packet, 0, sizeof (AVPacket));
-+ packet->data = data;
-+ packet->size = size;
-+}
-+
-+/* gst_ffmpegdec_[video|audio]_frame:
-+ * ffmpegdec:
-+ * data: pointer to the data to decode
-+ * size: size of data in bytes
-+ * in_timestamp: incoming timestamp.
-+ * in_duration: incoming duration.
-+ * in_offset: incoming offset (frame number).
-+ * outbuf: outgoing buffer. Different from NULL ONLY if it contains decoded data.
-+ * ret: Return flow.
-+ *
-+ * Returns: number of bytes used in decoding. The check for successful decode is
-+ * outbuf being non-NULL.
-+ */
-+static gint
-+gst_ffmpegdec_video_frame (GstFFMpegDec * ffmpegdec,
-+ guint8 * data, guint size,
-+ const GstTSInfo * dec_info, GstBuffer ** outbuf, GstFlowReturn * ret)
-+{
-+ gint len = -1;
-+ gint have_data;
-+ gboolean mode_switch;
-+ gboolean decode;
-+ gint skip_frame = AVDISCARD_DEFAULT;
-+ GstClockTime out_timestamp, out_duration, out_pts;
-+ gint64 out_offset;
-+ const GstTSInfo *out_info;
-+ AVPacket packet;
-+
-+ *ret = GST_FLOW_OK;
-+ *outbuf = NULL;
-+
-+ ffmpegdec->context->opaque = ffmpegdec;
-+
-+ /* in case we skip frames */
-+ ffmpegdec->picture->pict_type = -1;
-+
-+ /* run QoS code, we don't stop decoding the frame when we are late because
-+ * else we might skip a reference frame */
-+ decode = gst_ffmpegdec_do_qos (ffmpegdec, dec_info->timestamp, &mode_switch);
-+
-+ if (ffmpegdec->is_realvideo && data != NULL) {
-+ gint slice_count;
-+ gint i;
-+
-+ /* setup the slice table for realvideo */
-+ if (ffmpegdec->context->slice_offset == NULL)
-+ ffmpegdec->context->slice_offset = g_malloc (sizeof (guint32) * 1000);
-+
-+ slice_count = (*data++) + 1;
-+ ffmpegdec->context->slice_count = slice_count;
-+
-+ for (i = 0; i < slice_count; i++) {
-+ data += 4;
-+ ffmpegdec->context->slice_offset[i] = GST_READ_UINT32_LE (data);
-+ data += 4;
-+ }
-+ }
-+
-+ if (!decode) {
-+ /* no decoding needed, save previous skip_frame value and brutely skip
-+ * decoding everything */
-+ skip_frame = ffmpegdec->context->skip_frame;
-+ ffmpegdec->context->skip_frame = AVDISCARD_NONREF;
-+ }
-+
-+ /* save reference to the timing info */
-+ ffmpegdec->context->reordered_opaque = (gint64) dec_info->idx;
-+ ffmpegdec->picture->reordered_opaque = (gint64) dec_info->idx;
-+
-+ GST_DEBUG_OBJECT (ffmpegdec, "stored opaque values idx %d", dec_info->idx);
-+
-+ /* now decode the frame */
-+ gst_avpacket_init (&packet, data, size);
-+ len = avcodec_decode_video2 (ffmpegdec->context,
-+ ffmpegdec->picture, &have_data, &packet);
-+
-+ /* restore previous state */
-+ if (!decode)
-+ ffmpegdec->context->skip_frame = skip_frame;
-+
-+ GST_DEBUG_OBJECT (ffmpegdec, "after decode: len %d, have_data %d",
-+ len, have_data);
-+
-+ /* when we are in skip_frame mode, don't complain when ffmpeg returned
-+ * no data because we told it to skip stuff. */
-+ if (len < 0 && (mode_switch || ffmpegdec->context->skip_frame))
-+ len = 0;
-+
-+ if (len > 0 && have_data <= 0 && (mode_switch
-+ || ffmpegdec->context->skip_frame)) {
-+ /* we consumed some bytes but nothing decoded and we are skipping frames,
-+ * disable the interpollation of DTS timestamps */
-+ ffmpegdec->last_out = -1;
-+ }
-+
-+ /* no data, we're done */
-+ if (len < 0 || have_data <= 0)
-+ goto beach;
-+
-+ /* get the output picture timing info again */
-+ out_info = gst_ts_info_get (ffmpegdec, ffmpegdec->picture->reordered_opaque);
-+ out_pts = out_info->timestamp;
-+ out_duration = out_info->duration;
-+ out_offset = out_info->offset;
-+
-+ GST_DEBUG_OBJECT (ffmpegdec,
-+ "pts %" G_GUINT64_FORMAT " duration %" G_GUINT64_FORMAT " offset %"
-+ G_GINT64_FORMAT, out_pts, out_duration, out_offset);
-+ GST_DEBUG_OBJECT (ffmpegdec, "picture: pts %" G_GUINT64_FORMAT,
-+ (guint64) ffmpegdec->picture->pts);
-+ GST_DEBUG_OBJECT (ffmpegdec, "picture: num %d",
-+ ffmpegdec->picture->coded_picture_number);
-+ GST_DEBUG_OBJECT (ffmpegdec, "picture: ref %d",
-+ ffmpegdec->picture->reference);
-+ GST_DEBUG_OBJECT (ffmpegdec, "picture: display %d",
-+ ffmpegdec->picture->display_picture_number);
-+ GST_DEBUG_OBJECT (ffmpegdec, "picture: opaque %p",
-+ ffmpegdec->picture->opaque);
-+ GST_DEBUG_OBJECT (ffmpegdec, "picture: reordered opaque %" G_GUINT64_FORMAT,
-+ (guint64) ffmpegdec->picture->reordered_opaque);
-+ GST_DEBUG_OBJECT (ffmpegdec, "repeat_pict:%d",
-+ ffmpegdec->picture->repeat_pict);
-+ GST_DEBUG_OBJECT (ffmpegdec, "interlaced_frame:%d",
-+ ffmpegdec->picture->interlaced_frame);
-+
-+ if (G_UNLIKELY (ffmpegdec->picture->interlaced_frame !=
-+ ffmpegdec->format.video.interlaced)) {
-+ GST_WARNING ("Change in interlacing ! picture:%d, recorded:%d",
-+ ffmpegdec->picture->interlaced_frame,
-+ ffmpegdec->format.video.interlaced);
-+ ffmpegdec->format.video.interlaced = ffmpegdec->picture->interlaced_frame;
-+ gst_ffmpegdec_negotiate (ffmpegdec, TRUE);
-+ }
-+
-+ /* Whether a frame is interlaced or not is unknown at the time of
-+ buffer allocation, so caps on the buffer in opaque will have
-+ the previous frame's interlaced flag set. So if interlacedness
-+ has changed since allocation, we update the buffer (if any)
-+ caps now with the correct interlaced flag. */
-+ if (ffmpegdec->picture->opaque != NULL) {
-+ GstBuffer *buffer = ffmpegdec->picture->opaque;
-+ if (GST_BUFFER_CAPS (buffer) && GST_PAD_CAPS (ffmpegdec->srcpad)) {
-+ GstStructure *s = gst_caps_get_structure (GST_BUFFER_CAPS (buffer), 0);
-+ gboolean interlaced;
-+ gboolean found = gst_structure_get_boolean (s, "interlaced", &interlaced);
-+ if (!found || (!!interlaced != !!ffmpegdec->format.video.interlaced)) {
-+ GST_DEBUG_OBJECT (ffmpegdec,
-+ "Buffer interlacing does not match pad, updating");
-+ buffer = gst_buffer_make_metadata_writable (buffer);
-+ gst_buffer_set_caps (buffer, GST_PAD_CAPS (ffmpegdec->srcpad));
-+ ffmpegdec->picture->opaque = buffer;
-+ }
-+ }
-+ }
-+
-+ /* check that the timestamps go upwards */
-+ if (ffmpegdec->last_out != -1 && ffmpegdec->last_out > out_pts) {
-+ /* timestamps go backwards, this means frames were reordered and we must
-+ * be dealing with DTS as the buffer timestamps */
-+ if (!ffmpegdec->reordered_out) {
-+ GST_DEBUG_OBJECT (ffmpegdec, "detected reordered out timestamps");
-+ ffmpegdec->reordered_out = TRUE;
-+ }
-+ if (ffmpegdec->reordered_in) {
-+ /* we reset the input reordering here because we want to recover from an
-+ * occasionally wrong reordered input timestamp */
-+ GST_DEBUG_OBJECT (ffmpegdec, "assuming DTS input timestamps");
-+ ffmpegdec->reordered_in = FALSE;
-+ }
-+ }
-+
-+ if (out_pts == 0 && out_pts == ffmpegdec->last_out) {
-+ GST_LOG_OBJECT (ffmpegdec, "ffmpeg returns 0 timestamps, ignoring");
-+ /* some codecs only output 0 timestamps, when that happens, make us select an
-+ * output timestamp based on the input timestamp. We do this by making the
-+ * ffmpeg timestamp and the interpollated next timestamp invalid. */
-+ out_pts = -1;
-+ ffmpegdec->next_out = -1;
-+ } else
-+ ffmpegdec->last_out = out_pts;
-+
-+ /* we assume DTS as input timestamps unless we see reordered input
-+ * timestamps */
-+ if (!ffmpegdec->reordered_in && ffmpegdec->reordered_out) {
-+ /* PTS and DTS are the same for keyframes */
-+ if (ffmpegdec->next_out != -1) {
-+ /* interpolate all timestamps except for keyframes, FIXME, this is
-+ * wrong when QoS is active. */
-+ GST_DEBUG_OBJECT (ffmpegdec, "interpolate timestamps");
-+ out_pts = -1;
-+ out_offset = -1;
-+ }
-+ }
-+
-+ /* get a handle to the output buffer */
-+ *ret = get_output_buffer (ffmpegdec, outbuf);
-+ if (G_UNLIKELY (*ret != GST_FLOW_OK))
-+ goto no_output;
-+
-+ /*
-+ * Timestamps:
-+ *
-+ * 1) Copy picture timestamp if valid
-+ * 2) else interpolate from previous output timestamp
-+ * 3) else copy input timestamp
-+ */
-+ out_timestamp = -1;
-+ if (out_pts != -1) {
-+ /* Get (interpolated) timestamp from FFMPEG */
-+ out_timestamp = (GstClockTime) out_pts;
-+ GST_LOG_OBJECT (ffmpegdec, "using timestamp %" GST_TIME_FORMAT
-+ " returned by ffmpeg", GST_TIME_ARGS (out_timestamp));
-+ }
-+ if (!GST_CLOCK_TIME_IS_VALID (out_timestamp) && ffmpegdec->next_out != -1) {
-+ out_timestamp = ffmpegdec->next_out;
-+ GST_LOG_OBJECT (ffmpegdec, "using next timestamp %" GST_TIME_FORMAT,
-+ GST_TIME_ARGS (out_timestamp));
-+ }
-+ if (!GST_CLOCK_TIME_IS_VALID (out_timestamp)) {
-+ out_timestamp = dec_info->timestamp;
-+ GST_LOG_OBJECT (ffmpegdec, "using in timestamp %" GST_TIME_FORMAT,
-+ GST_TIME_ARGS (out_timestamp));
-+ }
-+ GST_BUFFER_TIMESTAMP (*outbuf) = out_timestamp;
-+
-+ /*
-+ * Offset:
-+ * 0) Use stored input offset (from opaque)
-+ * 1) Use value converted from timestamp if valid
-+ * 2) Use input offset if valid
-+ */
-+ if (out_offset != GST_BUFFER_OFFSET_NONE) {
-+ /* out_offset already contains the offset from ts_info */
-+ GST_LOG_OBJECT (ffmpegdec, "Using offset returned by ffmpeg");
-+ } else if (out_timestamp != GST_CLOCK_TIME_NONE) {
-+ GstFormat out_fmt = GST_FORMAT_DEFAULT;
-+ GST_LOG_OBJECT (ffmpegdec, "Using offset converted from timestamp");
-+ /* FIXME, we should really remove this as it's not nice at all to do
-+ * upstream queries for each frame to get the frame offset. We also can't
-+ * really remove this because it is the only way of setting frame offsets
-+ * on outgoing buffers. We should have metadata so that the upstream peer
-+ * can set a frame number on the encoded data. */
-+ gst_pad_query_peer_convert (ffmpegdec->sinkpad,
-+ GST_FORMAT_TIME, out_timestamp, &out_fmt, &out_offset);
-+ } else if (dec_info->offset != GST_BUFFER_OFFSET_NONE) {
-+ /* FIXME, the input offset is input media specific and might not
-+ * be the same for the output media. (byte offset as input, frame number
-+ * as output, for example) */
-+ GST_LOG_OBJECT (ffmpegdec, "using in_offset %" G_GINT64_FORMAT,
-+ dec_info->offset);
-+ out_offset = dec_info->offset;
-+ } else {
-+ GST_LOG_OBJECT (ffmpegdec, "no valid offset found");
-+ out_offset = GST_BUFFER_OFFSET_NONE;
-+ }
-+ GST_BUFFER_OFFSET (*outbuf) = out_offset;
-+
-+ /*
-+ * Duration:
-+ *
-+ * 1) Use reordered input duration if valid
-+ * 2) Else use input duration
-+ * 3) else use input framerate
-+ * 4) else use ffmpeg framerate
-+ */
-+ if (GST_CLOCK_TIME_IS_VALID (out_duration)) {
-+ /* We have a valid (reordered) duration */
-+ GST_LOG_OBJECT (ffmpegdec, "Using duration returned by ffmpeg");
-+ } else if (GST_CLOCK_TIME_IS_VALID (dec_info->duration)) {
-+ GST_LOG_OBJECT (ffmpegdec, "using in_duration");
-+ out_duration = dec_info->duration;
-+ } else if (GST_CLOCK_TIME_IS_VALID (ffmpegdec->last_diff)) {
-+ GST_LOG_OBJECT (ffmpegdec, "using last-diff");
-+ out_duration = ffmpegdec->last_diff;
-+ } else {
-+ /* if we have an input framerate, use that */
-+ if (ffmpegdec->format.video.fps_n != -1 &&
-+ (ffmpegdec->format.video.fps_n != 1000 &&
-+ ffmpegdec->format.video.fps_d != 1)) {
-+ GST_LOG_OBJECT (ffmpegdec, "using input framerate for duration");
-+ out_duration = gst_util_uint64_scale_int (GST_SECOND,
-+ ffmpegdec->format.video.fps_d, ffmpegdec->format.video.fps_n);
-+ } else {
-+ /* don't try to use the decoder's framerate when it seems a bit abnormal,
-+ * which we assume when den >= 1000... */
-+ if (ffmpegdec->context->time_base.num != 0 &&
-+ (ffmpegdec->context->time_base.den > 0 &&
-+ ffmpegdec->context->time_base.den < 1000)) {
-+ GST_LOG_OBJECT (ffmpegdec, "using decoder's framerate for duration");
-+ out_duration = gst_util_uint64_scale_int (GST_SECOND,
-+ ffmpegdec->context->time_base.num *
-+ ffmpegdec->context->ticks_per_frame,
-+ ffmpegdec->context->time_base.den);
-+ } else {
-+ GST_LOG_OBJECT (ffmpegdec, "no valid duration found");
-+ }
-+ }
-+ }
-+
-+ /* Take repeat_pict into account */
-+ if (GST_CLOCK_TIME_IS_VALID (out_duration)) {
-+ out_duration += out_duration * ffmpegdec->picture->repeat_pict / 2;
-+ }
-+ GST_BUFFER_DURATION (*outbuf) = out_duration;
-+
-+ if (out_timestamp != -1 && out_duration != -1 && out_duration != 0)
-+ ffmpegdec->next_out = out_timestamp + out_duration;
-+ else
-+ ffmpegdec->next_out = -1;
-+
-+ /* now see if we need to clip the buffer against the segment boundaries. */
-+ if (G_UNLIKELY (!clip_video_buffer (ffmpegdec, *outbuf, out_timestamp,
-+ out_duration)))
-+ goto clipped;
-+
-+ if (ffmpegdec->picture->top_field_first)
-+ GST_BUFFER_FLAG_SET (*outbuf, GST_VIDEO_BUFFER_TFF);
-+
-+
-+beach:
-+ GST_DEBUG_OBJECT (ffmpegdec, "return flow %d, out %p, len %d",
-+ *ret, *outbuf, len);
-+ return len;
-+
-+ /* special cases */
-+no_output:
-+ {
-+ GST_DEBUG_OBJECT (ffmpegdec, "no output buffer");
-+ len = -1;
-+ goto beach;
-+ }
-+clipped:
-+ {
-+ GST_DEBUG_OBJECT (ffmpegdec, "buffer clipped");
-+ gst_buffer_unref (*outbuf);
-+ *outbuf = NULL;
-+ goto beach;
-+ }
-+}
-+
-+/* returns TRUE if buffer is within segment, else FALSE.
-+ * if Buffer is on segment border, it's timestamp and duration will be clipped */
-+static gboolean
-+clip_audio_buffer (GstFFMpegDec * dec, GstBuffer * buf, GstClockTime in_ts,
-+ GstClockTime in_dur)
-+{
-+ GstClockTime stop;
-+ gint64 diff, ctime, cstop;
-+ gboolean res = TRUE;
-+
-+ GST_LOG_OBJECT (dec,
-+ "timestamp:%" GST_TIME_FORMAT ", duration:%" GST_TIME_FORMAT
-+ ", size %u", GST_TIME_ARGS (in_ts), GST_TIME_ARGS (in_dur),
-+ GST_BUFFER_SIZE (buf));
-+
-+ /* can't clip without TIME segment */
-+ if (G_UNLIKELY (dec->segment.format != GST_FORMAT_TIME))
-+ goto beach;
-+
-+ /* we need a start time */
-+ if (G_UNLIKELY (!GST_CLOCK_TIME_IS_VALID (in_ts)))
-+ goto beach;
-+
-+ /* trust duration */
-+ stop = in_ts + in_dur;
-+
-+ res = gst_segment_clip (&dec->segment, GST_FORMAT_TIME, in_ts, stop, &ctime,
-+ &cstop);
-+ if (G_UNLIKELY (!res))
-+ goto out_of_segment;
-+
-+ /* see if some clipping happened */
-+ if (G_UNLIKELY ((diff = ctime - in_ts) > 0)) {
-+ /* bring clipped time to bytes */
-+ diff =
-+ gst_util_uint64_scale_int (diff, dec->format.audio.samplerate,
-+ GST_SECOND) * (dec->format.audio.depth * dec->format.audio.channels);
-+
-+ GST_DEBUG_OBJECT (dec, "clipping start to %" GST_TIME_FORMAT " %"
-+ G_GINT64_FORMAT " bytes", GST_TIME_ARGS (ctime), diff);
-+
-+ GST_BUFFER_SIZE (buf) -= diff;
-+ GST_BUFFER_DATA (buf) += diff;
-+ }
-+ if (G_UNLIKELY ((diff = stop - cstop) > 0)) {
-+ /* bring clipped time to bytes */
-+ diff =
-+ gst_util_uint64_scale_int (diff, dec->format.audio.samplerate,
-+ GST_SECOND) * (dec->format.audio.depth * dec->format.audio.channels);
-+
-+ GST_DEBUG_OBJECT (dec, "clipping stop to %" GST_TIME_FORMAT " %"
-+ G_GINT64_FORMAT " bytes", GST_TIME_ARGS (cstop), diff);
-+
-+ GST_BUFFER_SIZE (buf) -= diff;
-+ }
-+ GST_BUFFER_TIMESTAMP (buf) = ctime;
-+ GST_BUFFER_DURATION (buf) = cstop - ctime;
-+
-+beach:
-+ GST_LOG_OBJECT (dec, "%sdropping", (res ? "not " : ""));
-+ return res;
-+
-+ /* ERRORS */
-+out_of_segment:
-+ {
-+ GST_LOG_OBJECT (dec, "out of segment");
-+ goto beach;
-+ }
-+}
-+
-+static gint
-+gst_ffmpegdec_audio_frame (GstFFMpegDec * ffmpegdec,
-+ AVCodec * in_plugin, guint8 * data, guint size,
-+ const GstTSInfo * dec_info, GstBuffer ** outbuf, GstFlowReturn * ret)
-+{
-+ gint len = -1;
-+ gint have_data = AVCODEC_MAX_AUDIO_FRAME_SIZE;
-+ GstClockTime out_timestamp, out_duration;
-+ gint64 out_offset;
-+ AVPacket packet;
-+
-+ GST_DEBUG_OBJECT (ffmpegdec,
-+ "size:%d, offset:%" G_GINT64_FORMAT ", ts:%" GST_TIME_FORMAT ", dur:%"
-+ GST_TIME_FORMAT ", ffmpegdec->next_out:%" GST_TIME_FORMAT, size,
-+ dec_info->offset, GST_TIME_ARGS (dec_info->timestamp),
-+ GST_TIME_ARGS (dec_info->duration), GST_TIME_ARGS (ffmpegdec->next_out));
-+
-+ *outbuf =
-+ new_aligned_buffer (AVCODEC_MAX_AUDIO_FRAME_SIZE,
-+ GST_PAD_CAPS (ffmpegdec->srcpad));
-+
-+ gst_avpacket_init (&packet, data, size);
-+ len = avcodec_decode_audio3 (ffmpegdec->context,
-+ (int16_t *) GST_BUFFER_DATA (*outbuf), &have_data, &packet);
-+ GST_DEBUG_OBJECT (ffmpegdec,
-+ "Decode audio: len=%d, have_data=%d", len, have_data);
-+
-+ if (len >= 0 && have_data > 0) {
-+ GST_DEBUG_OBJECT (ffmpegdec, "Creating output buffer");
-+ if (!gst_ffmpegdec_negotiate (ffmpegdec, FALSE)) {
-+ gst_buffer_unref (*outbuf);
-+ *outbuf = NULL;
-+ len = -1;
-+ goto beach;
-+ }
-+
-+ /* Buffer size */
-+ GST_BUFFER_SIZE (*outbuf) = have_data;
-+
-+ /*
-+ * Timestamps:
-+ *
-+ * 1) Copy input timestamp if valid
-+ * 2) else interpolate from previous input timestamp
-+ */
-+ /* always take timestamps from the input buffer if any */
-+ if (GST_CLOCK_TIME_IS_VALID (dec_info->timestamp)) {
-+ out_timestamp = dec_info->timestamp;
-+ } else {
-+ out_timestamp = ffmpegdec->next_out;
-+ }
-+
-+ /*
-+ * Duration:
-+ *
-+ * 1) calculate based on number of samples
-+ */
-+ out_duration = gst_util_uint64_scale (have_data, GST_SECOND,
-+ ffmpegdec->format.audio.depth * ffmpegdec->format.audio.channels *
-+ ffmpegdec->format.audio.samplerate);
-+
-+ /* offset:
-+ *
-+ * Just copy
-+ */
-+ out_offset = dec_info->offset;
-+
-+ GST_DEBUG_OBJECT (ffmpegdec,
-+ "Buffer created. Size:%d , timestamp:%" GST_TIME_FORMAT " , duration:%"
-+ GST_TIME_FORMAT, have_data,
-+ GST_TIME_ARGS (out_timestamp), GST_TIME_ARGS (out_duration));
-+
-+ GST_BUFFER_TIMESTAMP (*outbuf) = out_timestamp;
-+ GST_BUFFER_DURATION (*outbuf) = out_duration;
-+ GST_BUFFER_OFFSET (*outbuf) = out_offset;
-+ gst_buffer_set_caps (*outbuf, GST_PAD_CAPS (ffmpegdec->srcpad));
-+
-+ /* the next timestamp we'll use when interpolating */
-+ if (GST_CLOCK_TIME_IS_VALID (out_timestamp))
-+ ffmpegdec->next_out = out_timestamp + out_duration;
-+
-+ /* now see if we need to clip the buffer against the segment boundaries. */
-+ if (G_UNLIKELY (!clip_audio_buffer (ffmpegdec, *outbuf, out_timestamp,
-+ out_duration)))
-+ goto clipped;
-+
-+ } else {
-+ gst_buffer_unref (*outbuf);
-+ *outbuf = NULL;
-+ }
-+
-+ /* If we don't error out after the first failed read with the AAC decoder,
-+ * we must *not* carry on pushing data, else we'll cause segfaults... */
-+ if (len == -1 && (in_plugin->id == CODEC_ID_AAC
-+ || in_plugin->id == CODEC_ID_AAC_LATM)) {
-+ GST_ELEMENT_ERROR (ffmpegdec, STREAM, DECODE, (NULL),
-+ ("Decoding of AAC stream by FFMPEG failed."));
-+ *ret = GST_FLOW_ERROR;
-+ }
-+
-+beach:
-+ GST_DEBUG_OBJECT (ffmpegdec, "return flow %d, out %p, len %d",
-+ *ret, *outbuf, len);
-+ return len;
-+
-+ /* ERRORS */
-+clipped:
-+ {
-+ GST_DEBUG_OBJECT (ffmpegdec, "buffer clipped");
-+ gst_buffer_unref (*outbuf);
-+ *outbuf = NULL;
-+ goto beach;
-+ }
-+}
-+
-+/* gst_ffmpegdec_frame:
-+ * ffmpegdec:
-+ * data: pointer to the data to decode
-+ * size: size of data in bytes
-+ * got_data: 0 if no data was decoded, != 0 otherwise.
-+ * in_time: timestamp of data
-+ * in_duration: duration of data
-+ * ret: GstFlowReturn to return in the chain function
-+ *
-+ * Decode the given frame and pushes it downstream.
-+ *
-+ * Returns: Number of bytes used in decoding, -1 on error/failure.
-+ */
-+
-+static gint
-+gst_ffmpegdec_frame (GstFFMpegDec * ffmpegdec,
-+ guint8 * data, guint size, gint * got_data, const GstTSInfo * dec_info,
-+ GstFlowReturn * ret)
-+{
-+ GstFFMpegDecClass *oclass;
-+ GstBuffer *outbuf = NULL;
-+ gint have_data = 0, len = 0;
-+
-+ if (G_UNLIKELY (ffmpegdec->context->codec == NULL))
-+ goto no_codec;
-+
-+ GST_LOG_OBJECT (ffmpegdec, "data:%p, size:%d, id:%d", data, size,
-+ dec_info->idx);
-+
-+ *ret = GST_FLOW_OK;
-+ ffmpegdec->context->frame_number++;
-+
-+ oclass = (GstFFMpegDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec));
-+
-+ switch (oclass->in_plugin->type) {
-+ case AVMEDIA_TYPE_VIDEO:
-+ len =
-+ gst_ffmpegdec_video_frame (ffmpegdec, data, size, dec_info, &outbuf,
-+ ret);
-+ break;
-+ case AVMEDIA_TYPE_AUDIO:
-+ len =
-+ gst_ffmpegdec_audio_frame (ffmpegdec, oclass->in_plugin, data, size,
-+ dec_info, &outbuf, ret);
-+
-+ /* if we did not get an output buffer and we have a pending discont, don't
-+ * clear the input timestamps, we will put them on the next buffer because
-+ * else we might create the first buffer with a very big timestamp gap. */
-+ if (outbuf == NULL && ffmpegdec->discont) {
-+ GST_DEBUG_OBJECT (ffmpegdec, "no buffer but keeping timestamp");
-+ ffmpegdec->clear_ts = FALSE;
-+ }
-+ break;
-+ default:
-+ GST_ERROR_OBJECT (ffmpegdec, "Asked to decode non-audio/video frame !");
-+ g_assert_not_reached ();
-+ break;
-+ }
-+
-+ if (outbuf)
-+ have_data = 1;
-+
-+ if (len < 0 || have_data < 0) {
-+ GST_WARNING_OBJECT (ffmpegdec,
-+ "ffdec_%s: decoding error (len: %d, have_data: %d)",
-+ oclass->in_plugin->name, len, have_data);
-+ *got_data = 0;
-+ goto beach;
-+ } else if (len == 0 && have_data == 0) {
-+ *got_data = 0;
-+ goto beach;
-+ } else {
-+ /* this is where I lost my last clue on ffmpeg... */
-+ *got_data = 1;
-+ }
-+
-+ if (outbuf) {
-+ GST_LOG_OBJECT (ffmpegdec,
-+ "Decoded data, now pushing buffer %p with offset %" G_GINT64_FORMAT
-+ ", timestamp %" GST_TIME_FORMAT " and duration %" GST_TIME_FORMAT,
-+ outbuf, GST_BUFFER_OFFSET (outbuf),
-+ GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (outbuf)),
-+ GST_TIME_ARGS (GST_BUFFER_DURATION (outbuf)));
-+
-+ /* mark pending discont */
-+ if (ffmpegdec->discont) {
-+ GST_BUFFER_FLAG_SET (outbuf, GST_BUFFER_FLAG_DISCONT);
-+ ffmpegdec->discont = FALSE;
-+ }
-+
-+ if (ffmpegdec->segment.rate > 0.0) {
-+ /* and off we go */
-+ *ret = gst_pad_push (ffmpegdec->srcpad, outbuf);
-+ } else {
-+ /* reverse playback, queue frame till later when we get a discont. */
-+ GST_DEBUG_OBJECT (ffmpegdec, "queued frame");
-+ ffmpegdec->queued = g_list_prepend (ffmpegdec->queued, outbuf);
-+ *ret = GST_FLOW_OK;
-+ }
-+ } else {
-+ GST_DEBUG_OBJECT (ffmpegdec, "We didn't get a decoded buffer");
-+ }
-+
-+beach:
-+ return len;
-+
-+ /* ERRORS */
-+no_codec:
-+ {
-+ GST_ERROR_OBJECT (ffmpegdec, "no codec context");
-+ return -1;
-+ }
-+}
-+
-+static void
-+gst_ffmpegdec_drain (GstFFMpegDec * ffmpegdec)
-+{
-+ GstFFMpegDecClass *oclass;
-+
-+ oclass = (GstFFMpegDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec));
-+
-+ if (oclass->in_plugin->capabilities & CODEC_CAP_DELAY) {
-+ gint have_data, len, try = 0;
-+
-+ GST_LOG_OBJECT (ffmpegdec,
-+ "codec has delay capabilities, calling until ffmpeg has drained everything");
-+
-+ do {
-+ GstFlowReturn ret;
-+
-+ len =
-+ gst_ffmpegdec_frame (ffmpegdec, NULL, 0, &have_data, &ts_info_none,
-+ &ret);
-+ if (len < 0 || have_data == 0)
-+ break;
-+ } while (try++ < 10);
-+ }
-+ if (ffmpegdec->segment.rate < 0.0) {
-+ /* if we have some queued frames for reverse playback, flush them now */
-+ flush_queued (ffmpegdec);
-+ }
-+}
-+
-+static void
-+gst_ffmpegdec_flush_pcache (GstFFMpegDec * ffmpegdec)
-+{
-+ if (ffmpegdec->pctx) {
-+ gint size, bsize;
-+ guint8 *data;
-+ guint8 bdata[FF_INPUT_BUFFER_PADDING_SIZE];
-+
-+ bsize = FF_INPUT_BUFFER_PADDING_SIZE;
-+ memset (bdata, 0, bsize);
-+
-+ /* parse some dummy data to work around some ffmpeg weirdness where it keeps
-+ * the previous pts around */
-+ av_parser_parse2 (ffmpegdec->pctx, ffmpegdec->context,
-+ &data, &size, bdata, bsize, -1, -1, -1);
-+ ffmpegdec->pctx->pts = -1;
-+ ffmpegdec->pctx->dts = -1;
-+ }
-+
-+ if (ffmpegdec->pcache) {
-+ gst_buffer_unref (ffmpegdec->pcache);
-+ ffmpegdec->pcache = NULL;
-+ }
-+}
-+
-+static gboolean
-+gst_ffmpegdec_sink_event (GstPad * pad, GstEvent * event)
-+{
-+ GstFFMpegDec *ffmpegdec;
-+ gboolean ret = FALSE;
-+
-+ ffmpegdec = (GstFFMpegDec *) gst_pad_get_parent (pad);
-+
-+ GST_DEBUG_OBJECT (ffmpegdec, "Handling %s event",
-+ GST_EVENT_TYPE_NAME (event));
-+
-+ switch (GST_EVENT_TYPE (event)) {
-+ case GST_EVENT_EOS:
-+ {
-+ gst_ffmpegdec_drain (ffmpegdec);
-+ break;
-+ }
-+ case GST_EVENT_FLUSH_STOP:
-+ {
-+ if (ffmpegdec->opened) {
-+ avcodec_flush_buffers (ffmpegdec->context);
-+ }
-+ gst_ffmpegdec_reset_ts (ffmpegdec);
-+ gst_ffmpegdec_reset_qos (ffmpegdec);
-+ gst_ffmpegdec_flush_pcache (ffmpegdec);
-+ gst_segment_init (&ffmpegdec->segment, GST_FORMAT_TIME);
-+ clear_queued (ffmpegdec);
-+ break;
-+ }
-+ case GST_EVENT_NEWSEGMENT:
-+ {
-+ gboolean update;
-+ GstFormat fmt;
-+ gint64 start, stop, time;
-+ gdouble rate, arate;
-+
-+ gst_event_parse_new_segment_full (event, &update, &rate, &arate, &fmt,
-+ &start, &stop, &time);
-+
-+ switch (fmt) {
-+ case GST_FORMAT_TIME:
-+ /* fine, our native segment format */
-+ break;
-+ case GST_FORMAT_BYTES:
-+ {
-+ gint bit_rate;
-+
-+ bit_rate = ffmpegdec->context->bit_rate;
-+
-+ /* convert to time or fail */
-+ if (!bit_rate)
-+ goto no_bitrate;
-+
-+ GST_DEBUG_OBJECT (ffmpegdec, "bitrate: %d", bit_rate);
-+
-+ /* convert values to TIME */
-+ if (start != -1)
-+ start = gst_util_uint64_scale_int (start, GST_SECOND, bit_rate);
-+ if (stop != -1)
-+ stop = gst_util_uint64_scale_int (stop, GST_SECOND, bit_rate);
-+ if (time != -1)
-+ time = gst_util_uint64_scale_int (time, GST_SECOND, bit_rate);
-+
-+ /* unref old event */
-+ gst_event_unref (event);
-+
-+ /* create new converted time segment */
-+ fmt = GST_FORMAT_TIME;
-+ /* FIXME, bitrate is not good enough too find a good stop, let's
-+ * hope start and time were 0... meh. */
-+ stop = -1;
-+ event = gst_event_new_new_segment (update, rate, fmt,
-+ start, stop, time);
-+ break;
-+ }
-+ default:
-+ /* invalid format */
-+ goto invalid_format;
-+ }
-+
-+ /* drain pending frames before trying to use the new segment, queued
-+ * buffers belonged to the previous segment. */
-+ if (ffmpegdec->context->codec)
-+ gst_ffmpegdec_drain (ffmpegdec);
-+
-+ GST_DEBUG_OBJECT (ffmpegdec,
-+ "NEWSEGMENT in time start %" GST_TIME_FORMAT " -- stop %"
-+ GST_TIME_FORMAT, GST_TIME_ARGS (start), GST_TIME_ARGS (stop));
-+
-+ /* and store the values */
-+ gst_segment_set_newsegment_full (&ffmpegdec->segment, update,
-+ rate, arate, fmt, start, stop, time);
-+ break;
-+ }
-+ default:
-+ break;
-+ }
-+
-+ /* and push segment downstream */
-+ ret = gst_pad_push_event (ffmpegdec->srcpad, event);
-+
-+done:
-+ gst_object_unref (ffmpegdec);
-+
-+ return ret;
-+
-+ /* ERRORS */
-+no_bitrate:
-+ {
-+ GST_WARNING_OBJECT (ffmpegdec, "no bitrate to convert BYTES to TIME");
-+ gst_event_unref (event);
-+ goto done;
-+ }
-+invalid_format:
-+ {
-+ GST_WARNING_OBJECT (ffmpegdec, "unknown format received in NEWSEGMENT");
-+ gst_event_unref (event);
-+ goto done;
-+ }
-+}
-+
-+static GstFlowReturn
-+gst_ffmpegdec_chain (GstPad * pad, GstBuffer * inbuf)
-+{
-+ GstFFMpegDec *ffmpegdec;
-+ GstFFMpegDecClass *oclass;
-+ guint8 *data, *bdata;
-+ gint size, bsize, len, have_data;
-+ GstFlowReturn ret = GST_FLOW_OK;
-+ GstClockTime in_timestamp;
-+ GstClockTime in_duration;
-+ gboolean discont;
-+ gint64 in_offset;
-+ const GstTSInfo *in_info;
-+ const GstTSInfo *dec_info;
-+
-+ ffmpegdec = (GstFFMpegDec *) (GST_PAD_PARENT (pad));
-+
-+ if (G_UNLIKELY (!ffmpegdec->opened))
-+ goto not_negotiated;
-+
-+ discont = GST_BUFFER_IS_DISCONT (inbuf);
-+
-+ /* The discont flags marks a buffer that is not continuous with the previous
-+ * buffer. This means we need to clear whatever data we currently have. We
-+ * currently also wait for a new keyframe, which might be suboptimal in the
-+ * case of a network error, better show the errors than to drop all data.. */
-+ if (G_UNLIKELY (discont)) {
-+ GST_DEBUG_OBJECT (ffmpegdec, "received DISCONT");
-+ /* drain what we have queued */
-+ gst_ffmpegdec_drain (ffmpegdec);
-+ gst_ffmpegdec_flush_pcache (ffmpegdec);
-+ avcodec_flush_buffers (ffmpegdec->context);
-+ ffmpegdec->discont = TRUE;
-+ gst_ffmpegdec_reset_ts (ffmpegdec);
-+ }
-+ /* by default we clear the input timestamp after decoding each frame so that
-+ * interpollation can work. */
-+ ffmpegdec->clear_ts = TRUE;
-+
-+ oclass = (GstFFMpegDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec));
-+
-+ /* parse cache joining. If there is cached data */
-+ if (ffmpegdec->pcache) {
-+ /* join with previous data */
-+ GST_LOG_OBJECT (ffmpegdec, "join parse cache");
-+ inbuf = gst_buffer_join (ffmpegdec->pcache, inbuf);
-+ /* no more cached data, we assume we can consume the complete cache */
-+ ffmpegdec->pcache = NULL;
-+ }
-+
-+ in_timestamp = GST_BUFFER_TIMESTAMP (inbuf);
-+ in_duration = GST_BUFFER_DURATION (inbuf);
-+ in_offset = GST_BUFFER_OFFSET (inbuf);
-+
-+ /* get handle to timestamp info, we can pass this around to ffmpeg */
-+ in_info = gst_ts_info_store (ffmpegdec, in_timestamp, in_duration, in_offset);
-+
-+ if (in_timestamp != -1) {
-+ /* check for increasing timestamps if they are jumping backwards, we
-+ * probably are dealing with PTS as timestamps */
-+ if (!ffmpegdec->reordered_in && ffmpegdec->last_in != -1) {
-+ if (in_timestamp < ffmpegdec->last_in) {
-+ GST_LOG_OBJECT (ffmpegdec, "detected reordered input timestamps");
-+ ffmpegdec->reordered_in = TRUE;
-+ ffmpegdec->last_diff = GST_CLOCK_TIME_NONE;
-+ } else if (in_timestamp > ffmpegdec->last_in) {
-+ GstClockTime diff;
-+ /* keep track of timestamp diff to estimate duration */
-+ diff = in_timestamp - ffmpegdec->last_in;
-+ /* need to scale with amount of frames in the interval */
-+ if (ffmpegdec->last_frames)
-+ diff /= ffmpegdec->last_frames;
-+
-+ GST_LOG_OBJECT (ffmpegdec, "estimated duration %" GST_TIME_FORMAT " %u",
-+ GST_TIME_ARGS (diff), ffmpegdec->last_frames);
-+
-+ ffmpegdec->last_diff = diff;
-+ }
-+ }
-+ ffmpegdec->last_in = in_timestamp;
-+ ffmpegdec->last_frames = 0;
-+ }
-+
-+ GST_LOG_OBJECT (ffmpegdec,
-+ "Received new data of size %u, offset:%" G_GUINT64_FORMAT ", ts:%"
-+ GST_TIME_FORMAT ", dur:%" GST_TIME_FORMAT ", info %d",
-+ GST_BUFFER_SIZE (inbuf), GST_BUFFER_OFFSET (inbuf),
-+ GST_TIME_ARGS (in_timestamp), GST_TIME_ARGS (in_duration), in_info->idx);
-+
-+ /* workarounds, functions write to buffers:
-+ * libavcodec/svq1.c:svq1_decode_frame writes to the given buffer.
-+ * libavcodec/svq3.c:svq3_decode_slice_header too.
-+ * ffmpeg devs know about it and will fix it (they said). */
-+ if (oclass->in_plugin->id == CODEC_ID_SVQ1 ||
-+ oclass->in_plugin->id == CODEC_ID_SVQ3) {
-+ inbuf = gst_buffer_make_writable (inbuf);
-+ }
-+
-+ bdata = GST_BUFFER_DATA (inbuf);
-+ bsize = GST_BUFFER_SIZE (inbuf);
-+
-+ if (ffmpegdec->do_padding) {
-+ /* add padding */
-+ if (ffmpegdec->padded_size < bsize + FF_INPUT_BUFFER_PADDING_SIZE) {
-+ ffmpegdec->padded_size = bsize + FF_INPUT_BUFFER_PADDING_SIZE;
-+ ffmpegdec->padded = g_realloc (ffmpegdec->padded, ffmpegdec->padded_size);
-+ GST_LOG_OBJECT (ffmpegdec, "resized padding buffer to %d",
-+ ffmpegdec->padded_size);
-+ }
-+ memcpy (ffmpegdec->padded, bdata, bsize);
-+ memset (ffmpegdec->padded + bsize, 0, FF_INPUT_BUFFER_PADDING_SIZE);
-+
-+ bdata = ffmpegdec->padded;
-+ }
-+
-+ do {
-+ guint8 tmp_padding[FF_INPUT_BUFFER_PADDING_SIZE];
-+
-+ /* parse, if at all possible */
-+ if (ffmpegdec->pctx) {
-+ gint res;
-+
-+ GST_LOG_OBJECT (ffmpegdec,
-+ "Calling av_parser_parse2 with offset %" G_GINT64_FORMAT ", ts:%"
-+ GST_TIME_FORMAT " size %d", in_offset, GST_TIME_ARGS (in_timestamp),
-+ bsize);
-+
-+ /* feed the parser. We pass the timestamp info so that we can recover all
-+ * info again later */
-+ res = av_parser_parse2 (ffmpegdec->pctx, ffmpegdec->context,
-+ &data, &size, bdata, bsize, in_info->idx, in_info->idx, in_offset);
-+
-+ GST_LOG_OBJECT (ffmpegdec,
-+ "parser returned res %d and size %d, id %" G_GINT64_FORMAT, res, size,
-+ ffmpegdec->pctx->pts);
-+
-+ /* store pts for decoding */
-+ if (ffmpegdec->pctx->pts != AV_NOPTS_VALUE && ffmpegdec->pctx->pts != -1)
-+ dec_info = gst_ts_info_get (ffmpegdec, ffmpegdec->pctx->pts);
-+ else {
-+ /* ffmpeg sometimes loses track after a flush, help it by feeding a
-+ * valid start time */
-+ ffmpegdec->pctx->pts = in_info->idx;
-+ ffmpegdec->pctx->dts = in_info->idx;
-+ dec_info = in_info;
-+ }
-+
-+ GST_LOG_OBJECT (ffmpegdec, "consuming %d bytes. id %d", size,
-+ dec_info->idx);
-+
-+ if (res) {
-+ /* there is output, set pointers for next round. */
-+ bsize -= res;
-+ bdata += res;
-+ } else {
-+ /* Parser did not consume any data, make sure we don't clear the
-+ * timestamp for the next round */
-+ ffmpegdec->clear_ts = FALSE;
-+ }
-+
-+ /* if there is no output, we must break and wait for more data. also the
-+ * timestamp in the context is not updated. */
-+ if (size == 0) {
-+ if (bsize > 0)
-+ continue;
-+ else
-+ break;
-+ }
-+ } else {
-+ data = bdata;
-+ size = bsize;
-+
-+ dec_info = in_info;
-+ }
-+
-+ if (ffmpegdec->do_padding) {
-+ /* add temporary padding */
-+ memcpy (tmp_padding, data + size, FF_INPUT_BUFFER_PADDING_SIZE);
-+ memset (data + size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
-+ }
-+
-+ /* decode a frame of audio/video now */
-+ len =
-+ gst_ffmpegdec_frame (ffmpegdec, data, size, &have_data, dec_info, &ret);
-+
-+ if (ffmpegdec->do_padding) {
-+ memcpy (data + size, tmp_padding, FF_INPUT_BUFFER_PADDING_SIZE);
-+ }
-+
-+ if (ret != GST_FLOW_OK) {
-+ GST_LOG_OBJECT (ffmpegdec, "breaking because of flow ret %s",
-+ gst_flow_get_name (ret));
-+ /* bad flow retun, make sure we discard all data and exit */
-+ bsize = 0;
-+ break;
-+ }
-+ if (!ffmpegdec->pctx) {
-+ if (len == 0 && !have_data) {
-+ /* nothing was decoded, this could be because no data was available or
-+ * because we were skipping frames.
-+ * If we have no context we must exit and wait for more data, we keep the
-+ * data we tried. */
-+ GST_LOG_OBJECT (ffmpegdec, "Decoding didn't return any data, breaking");
-+ break;
-+ } else if (len < 0) {
-+ /* a decoding error happened, we must break and try again with next data. */
-+ GST_LOG_OBJECT (ffmpegdec, "Decoding error, breaking");
-+ bsize = 0;
-+ break;
-+ }
-+ /* prepare for the next round, for codecs with a context we did this
-+ * already when using the parser. */
-+ bsize -= len;
-+ bdata += len;
-+ } else {
-+ if (len == 0) {
-+ /* nothing was decoded, this could be because no data was available or
-+ * because we were skipping frames. Since we have a parser we can
-+ * continue with the next frame */
-+ GST_LOG_OBJECT (ffmpegdec,
-+ "Decoding didn't return any data, trying next");
-+ } else if (len < 0) {
-+ /* we have a context that will bring us to the next frame */
-+ GST_LOG_OBJECT (ffmpegdec, "Decoding error, trying next");
-+ }
-+ }
-+
-+ /* make sure we don't use the same old timestamp for the next frame and let
-+ * the interpollation take care of it. */
-+ if (ffmpegdec->clear_ts) {
-+ in_timestamp = GST_CLOCK_TIME_NONE;
-+ in_duration = GST_CLOCK_TIME_NONE;
-+ in_offset = GST_BUFFER_OFFSET_NONE;
-+ in_info = GST_TS_INFO_NONE;
-+ } else {
-+ ffmpegdec->clear_ts = TRUE;
-+ }
-+ ffmpegdec->last_frames++;
-+
-+ GST_LOG_OBJECT (ffmpegdec, "Before (while bsize>0). bsize:%d , bdata:%p",
-+ bsize, bdata);
-+ } while (bsize > 0);
-+
-+ /* keep left-over */
-+ if (ffmpegdec->pctx && bsize > 0) {
-+ in_timestamp = GST_BUFFER_TIMESTAMP (inbuf);
-+ in_offset = GST_BUFFER_OFFSET (inbuf);
-+
-+ GST_LOG_OBJECT (ffmpegdec,
-+ "Keeping %d bytes of data with offset %" G_GINT64_FORMAT ", timestamp %"
-+ GST_TIME_FORMAT, bsize, in_offset, GST_TIME_ARGS (in_timestamp));
-+
-+ ffmpegdec->pcache = gst_buffer_create_sub (inbuf,
-+ GST_BUFFER_SIZE (inbuf) - bsize, bsize);
-+ /* we keep timestamp, even though all we really know is that the correct
-+ * timestamp is not below the one from inbuf */
-+ GST_BUFFER_TIMESTAMP (ffmpegdec->pcache) = in_timestamp;
-+ GST_BUFFER_OFFSET (ffmpegdec->pcache) = in_offset;
-+ } else if (bsize > 0) {
-+ GST_DEBUG_OBJECT (ffmpegdec, "Dropping %d bytes of data", bsize);
-+ }
-+ gst_buffer_unref (inbuf);
-+
-+ return ret;
-+
-+ /* ERRORS */
-+not_negotiated:
-+ {
-+ oclass = (GstFFMpegDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec));
-+ GST_ELEMENT_ERROR (ffmpegdec, CORE, NEGOTIATION, (NULL),
-+ ("ffdec_%s: input format was not set before data start",
-+ oclass->in_plugin->name));
-+ gst_buffer_unref (inbuf);
-+ return GST_FLOW_NOT_NEGOTIATED;
-+ }
-+}
-+
-+static GstStateChangeReturn
-+gst_ffmpegdec_change_state (GstElement * element, GstStateChange transition)
-+{
-+ GstFFMpegDec *ffmpegdec = (GstFFMpegDec *) element;
-+ GstStateChangeReturn ret;
-+
-+ ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
-+
-+ switch (transition) {
-+ case GST_STATE_CHANGE_PAUSED_TO_READY:
-+ GST_OBJECT_LOCK (ffmpegdec);
-+ gst_ffmpegdec_close (ffmpegdec);
-+ GST_OBJECT_UNLOCK (ffmpegdec);
-+ clear_queued (ffmpegdec);
-+ g_free (ffmpegdec->padded);
-+ ffmpegdec->padded = NULL;
-+ ffmpegdec->padded_size = 0;
-+ ffmpegdec->can_allocate_aligned = TRUE;
-+ break;
-+ default:
-+ break;
-+ }
-+
-+ return ret;
-+}
-+
-+static void
-+gst_ffmpegdec_set_property (GObject * object,
-+ guint prop_id, const GValue * value, GParamSpec * pspec)
-+{
-+ GstFFMpegDec *ffmpegdec = (GstFFMpegDec *) object;
-+
-+ switch (prop_id) {
-+ case PROP_LOWRES:
-+ ffmpegdec->lowres = ffmpegdec->context->lowres = g_value_get_enum (value);
-+ break;
-+ case PROP_SKIPFRAME:
-+ ffmpegdec->skip_frame = ffmpegdec->context->skip_frame =
-+ g_value_get_enum (value);
-+ break;
-+ case PROP_DIRECT_RENDERING:
-+ ffmpegdec->direct_rendering = g_value_get_boolean (value);
-+ break;
-+ case PROP_DO_PADDING:
-+ ffmpegdec->do_padding = g_value_get_boolean (value);
-+ break;
-+ case PROP_DEBUG_MV:
-+ ffmpegdec->debug_mv = ffmpegdec->context->debug_mv =
-+ g_value_get_boolean (value);
-+ break;
-+ case PROP_CROP:
-+ ffmpegdec->crop = g_value_get_boolean (value);
-+ break;
-+ case PROP_MAX_THREADS:
-+ ffmpegdec->max_threads = g_value_get_int (value);
-+ break;
-+ default:
-+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-+ break;
-+ }
-+}
-+
-+static void
-+gst_ffmpegdec_get_property (GObject * object,
-+ guint prop_id, GValue * value, GParamSpec * pspec)
-+{
-+ GstFFMpegDec *ffmpegdec = (GstFFMpegDec *) object;
-+
-+ switch (prop_id) {
-+ case PROP_LOWRES:
-+ g_value_set_enum (value, ffmpegdec->context->lowres);
-+ break;
-+ case PROP_SKIPFRAME:
-+ g_value_set_enum (value, ffmpegdec->context->skip_frame);
-+ break;
-+ case PROP_DIRECT_RENDERING:
-+ g_value_set_boolean (value, ffmpegdec->direct_rendering);
-+ break;
-+ case PROP_DO_PADDING:
-+ g_value_set_boolean (value, ffmpegdec->do_padding);
-+ break;
-+ case PROP_DEBUG_MV:
-+ g_value_set_boolean (value, ffmpegdec->context->debug_mv);
-+ break;
-+ case PROP_CROP:
-+ g_value_set_boolean (value, ffmpegdec->crop);
-+ break;
-+ case PROP_MAX_THREADS:
-+ g_value_set_int (value, ffmpegdec->max_threads);
-+ break;
-+ default:
-+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-+ break;
-+ }
-+}
-+
-+gboolean
-+gst_ffmpegdec_register (GstPlugin * plugin)
-+{
-+ GTypeInfo typeinfo = {
-+ sizeof (GstFFMpegDecClass),
-+ (GBaseInitFunc) gst_ffmpegdec_base_init,
-+ NULL,
-+ (GClassInitFunc) gst_ffmpegdec_class_init,
-+ NULL,
-+ NULL,
-+ sizeof (GstFFMpegDec),
-+ 0,
-+ (GInstanceInitFunc) gst_ffmpegdec_init,
-+ };
-+ GType type;
-+ AVCodec *in_plugin;
-+ gint rank;
-+
-+ in_plugin = av_codec_next (NULL);
-+
-+ GST_LOG ("Registering decoders");
-+
-+ while (in_plugin) {
-+ gchar *type_name;
-+ gchar *plugin_name;
-+
-+ /* only decoders */
-+ if (!in_plugin->decode) {
-+ goto next;
-+ }
-+
-+ /* no quasi-codecs, please */
-+ if (in_plugin->id == CODEC_ID_RAWVIDEO ||
-+ in_plugin->id == CODEC_ID_V210 ||
-+ in_plugin->id == CODEC_ID_V210X ||
-+ in_plugin->id == CODEC_ID_R210 ||
-+ (in_plugin->id >= CODEC_ID_PCM_S16LE &&
-+ in_plugin->id <= CODEC_ID_PCM_BLURAY)) {
-+ goto next;
-+ }
-+
-+ /* No decoders depending on external libraries (we don't build them, but
-+ * people who build against an external ffmpeg might have them.
-+ * We have native gstreamer plugins for all of those libraries anyway. */
-+ if (!strncmp (in_plugin->name, "lib", 3)) {
-+ GST_DEBUG
-+ ("Not using external library decoder %s. Use the gstreamer-native ones instead.",
-+ in_plugin->name);
-+ goto next;
-+ }
-+
-+ /* No vdpau plugins until we can figure out how to properly use them
-+ * outside of ffmpeg. */
-+ if (g_str_has_suffix (in_plugin->name, "_vdpau")) {
-+ GST_DEBUG
-+ ("Ignoring VDPAU decoder %s. We can't handle this outside of ffmpeg",
-+ in_plugin->name);
-+ goto next;
-+ }
-+
-+ if (g_str_has_suffix (in_plugin->name, "_xvmc")) {
-+ GST_DEBUG
-+ ("Ignoring XVMC decoder %s. We can't handle this outside of ffmpeg",
-+ in_plugin->name);
-+ goto next;
-+ }
-+
-+ GST_DEBUG ("Trying plugin %s [%s]", in_plugin->name, in_plugin->long_name);
-+
-+ /* no codecs for which we're GUARANTEED to have better alternatives */
-+ /* MPEG1VIDEO : the mpeg2video decoder is preferred */
-+ /* MP1 : Use MP3 for decoding */
-+ /* MP2 : Use MP3 for decoding */
-+ /* Theora: Use libtheora based theoradec */
-+ if (!strcmp (in_plugin->name, "gif") ||
-+ !strcmp (in_plugin->name, "vorbis") ||
-+ !strcmp (in_plugin->name, "theora") ||
-+ !strcmp (in_plugin->name, "mpeg1video") ||
-+ !strcmp (in_plugin->name, "wavpack") ||
-+ !strcmp (in_plugin->name, "mp1") ||
-+ !strcmp (in_plugin->name, "mp2") ||
-+ !strcmp (in_plugin->name, "libfaad") ||
-+ !strcmp (in_plugin->name, "mpeg4aac") ||
-+ !strcmp (in_plugin->name, "ass") ||
-+ !strcmp (in_plugin->name, "srt") ||
-+ !strcmp (in_plugin->name, "pgssub") ||
-+ !strcmp (in_plugin->name, "dvdsub") ||
-+ !strcmp (in_plugin->name, "dvbsub")) {
-+ GST_LOG ("Ignoring decoder %s", in_plugin->name);
-+ goto next;
-+ }
-+
-+ /* construct the type */
-+ plugin_name = g_strdup ((gchar *) in_plugin->name);
-+ g_strdelimit (plugin_name, NULL, '_');
-+ type_name = g_strdup_printf ("ffdec_%s", plugin_name);
-+ g_free (plugin_name);
-+
-+ type = g_type_from_name (type_name);
-+
-+ if (!type) {
-+ /* create the gtype now */
-+ type = g_type_register_static (GST_TYPE_ELEMENT, type_name, &typeinfo, 0);
-+ g_type_set_qdata (type, GST_FFDEC_PARAMS_QDATA, (gpointer) in_plugin);
-+ }
-+
-+ /* (Ronald) MPEG-4 gets a higher priority because it has been well-
-+ * tested and by far outperforms divxdec/xviddec - so we prefer it.
-+ * msmpeg4v3 same, as it outperforms divxdec for divx3 playback.
-+ * VC1/WMV3 are not working and thus unpreferred for now. */
-+ switch (in_plugin->id) {
-+ case CODEC_ID_MPEG4:
-+ case CODEC_ID_MSMPEG4V3:
-+ case CODEC_ID_H264:
-+ case CODEC_ID_RA_144:
-+ case CODEC_ID_RA_288:
-+ case CODEC_ID_RV10:
-+ case CODEC_ID_RV20:
-+ case CODEC_ID_RV30:
-+ case CODEC_ID_RV40:
-+ case CODEC_ID_COOK:
-+ rank = GST_RANK_SECONDARY;
-+ break;
-+ /* DVVIDEO: we have a good dv decoder, fast on both ppc as well as x86.
-+ * They say libdv's quality is better though. leave as secondary.
-+ * note: if you change this, see the code in gstdv.c in good/ext/dv.
-+ *
-+ * SIPR: decoder should have a higher rank than realaudiodec.
-+ */
-+ case CODEC_ID_DVVIDEO:
-+ case CODEC_ID_SIPR:
-+ rank = GST_RANK_SECONDARY;
-+ break;
-+ case CODEC_ID_MP3:
-+ rank = GST_RANK_NONE;
-+ break;
-+ /* TEMPORARILY DISABLING AC3/EAC3/DTS for 0.10.12 release
-+ * due to downmixing failure.
-+ * See Bug #608892 for more details */
-+ case CODEC_ID_EAC3:
-+ case CODEC_ID_AC3:
-+ case CODEC_ID_DTS:
-+ rank = GST_RANK_NONE;
-+ break;
-+ default:
-+ rank = GST_RANK_MARGINAL;
-+ break;
-+ }
-+ if (!gst_element_register (plugin, type_name, rank, type)) {
-+ g_warning ("Failed to register %s", type_name);
-+ g_free (type_name);
-+ return FALSE;
-+ }
-+
-+ g_free (type_name);
-+
-+ next:
-+ in_plugin = av_codec_next (in_plugin);
-+ }
-+
-+ GST_LOG ("Finished Registering decoders");
-+
-+ return TRUE;
-+}
-diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegdec.c.rej gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegdec.c.rej
---- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegdec.c.rej 1970-01-01 01:00:00.000000000 +0100
-+++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegdec.c.rej 2014-08-08 15:26:38.471858652 +0200
-@@ -0,0 +1,11 @@
-+--- ext/ffmpeg/gstffmpegdec.c
-++++ ext/ffmpeg/gstffmpegdec.c
-+@@ -1565,7 +1564,7 @@
-+ gst_message_new_latency (GST_OBJECT_CAST (ffmpegdec)));
-+ }
-+
-+- is_itype = (ffmpegdec->picture->pict_type == FF_I_TYPE);
-++ is_itype = (ffmpegdec->picture->pict_type == AV_PICTURE_TYPE_I);
-+ is_reference = (ffmpegdec->picture->reference == 1);
-+
-+ iskeyframe = (is_itype || is_reference || ffmpegdec->picture->key_frame)
-diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegdemux.c gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegdemux.c
---- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegdemux.c 2011-07-13 11:07:28.000000000 +0200
-+++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegdemux.c 2014-08-08 15:26:07.874857555 +0200
-@@ -343,8 +343,11 @@
- demux->audiopads = 0;
-
- /* close demuxer context from ffmpeg */
-- av_close_input_file (demux->context);
-- demux->context = NULL;
-+ if (demux->seekable)
-+ gst_ffmpegdata_close (demux->context->pb);
-+ else
-+ gst_ffmpeg_pipe_close (demux->context->pb);
-+ avformat_close_input (&demux->context);
-
- GST_OBJECT_LOCK (demux);
- demux->opened = FALSE;
-@@ -1146,9 +1149,9 @@
- static gboolean
- gst_ffmpegdemux_open (GstFFMpegDemux * demux)
- {
-+ AVIOContext *iocontext = NULL;
- GstFFMpegDemuxClass *oclass =
- (GstFFMpegDemuxClass *) G_OBJECT_GET_CLASS (demux);
-- gchar *location;
- gint res, n_streams, i;
- #if 0
- /* Re-enable once converted to new AVMetaData API
-@@ -1164,15 +1167,14 @@
-
- /* open via our input protocol hack */
- if (demux->seekable)
-- location = g_strdup_printf ("gstreamer://%p", demux->sinkpad);
-+ res = gst_ffmpegdata_open (demux->sinkpad, AVIO_FLAG_READ, &iocontext);
- else
-- location = g_strdup_printf ("gstpipe://%p", &demux->ffpipe);
-- GST_DEBUG_OBJECT (demux, "about to call av_open_input_file %s", location);
-+ res = gst_ffmpeg_pipe_open (&demux->ffpipe, AVIO_FLAG_READ, &iocontext);
-
-- res = av_open_input_file (&demux->context, location,
-- oclass->in_plugin, 0, NULL);
-+ demux->context = avformat_alloc_context ();
-+ demux->context->pb = iocontext;
-+ res = avformat_open_input (&demux->context, NULL, oclass->in_plugin, NULL);
-
-- g_free (location);
- GST_DEBUG_OBJECT (demux, "av_open_input returned %d", res);
- if (res < 0)
- goto open_failed;
-diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegenc.c gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegenc.c
---- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegenc.c 2011-10-31 11:14:03.000000000 +0100
-+++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegenc.c 2014-08-08 15:32:18.608870847 +0200
-@@ -770,7 +770,7 @@
- GST_OBJECT_UNLOCK (ffmpegenc);
-
- if (force_keyframe)
-- ffmpegenc->picture->pict_type = FF_I_TYPE;
-+ ffmpegenc->picture->pict_type = AV_PICTURE_TYPE_I;
-
- frame_size = gst_ffmpeg_avpicture_fill ((AVPicture *) ffmpegenc->picture,
- GST_BUFFER_DATA (inbuf),
-@@ -1136,7 +1136,7 @@
- const GstStructure *s;
- s = gst_event_get_structure (event);
- if (gst_structure_has_name (s, "GstForceKeyUnit")) {
-- ffmpegenc->picture->pict_type = FF_I_TYPE;
-+ ffmpegenc->picture->pict_type = AV_PICTURE_TYPE_I;
- }
- break;
- }
-@@ -1339,7 +1339,7 @@
- }
-
- /* only encoders */
-- if (!in_plugin->encode) {
-+ if (!av_codec_is_encoder (in_plugin)) {
- goto next;
- }
-
-diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegmux.c gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegmux.c
---- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegmux.c 2011-07-13 11:07:28.000000000 +0200
-+++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegmux.c 2014-08-08 15:26:07.874857555 +0200
-@@ -24,8 +24,10 @@
- #include <string.h>
- #ifdef HAVE_FFMPEG_UNINSTALLED
- #include <avformat.h>
-+#include <opt.h>
- #else
- #include <libavformat/avformat.h>
-+#include <libavutil/opt.h>
- #endif
-
- #include <gst/gst.h>
-@@ -336,9 +338,6 @@
- ffmpegmux->context = g_new0 (AVFormatContext, 1);
- ffmpegmux->context->oformat = oclass->in_plugin;
- ffmpegmux->context->nb_streams = 0;
-- g_snprintf (ffmpegmux->context->filename,
-- sizeof (ffmpegmux->context->filename),
-- "gstreamer://%p", ffmpegmux->srcpad);
- ffmpegmux->opened = FALSE;
-
- ffmpegmux->videopads = 0;
-@@ -450,10 +449,10 @@
- gst_element_add_pad (element, pad);
-
- /* AVStream needs to be created */
-- st = av_new_stream (ffmpegmux->context, collect_pad->padnum);
-+ st = avformat_new_stream (ffmpegmux->context, NULL);
-+ st->id = collect_pad->padnum;
- st->codec->codec_type = type;
- st->codec->codec_id = CODEC_ID_NONE; /* this is a check afterwards */
-- st->stream_copy = 1; /* we're not the actual encoder */
- st->codec->bit_rate = bitrate;
- st->codec->frame_size = framesize;
- /* we fill in codec during capsnego */
-@@ -485,7 +484,7 @@
- collect_pad = (GstFFMpegMuxPad *) gst_pad_get_element_private (pad);
-
- st = ffmpegmux->context->streams[collect_pad->padnum];
-- ffmpegmux->context->preload = ffmpegmux->preload;
-+ av_opt_set_int (&ffmpegmux->context, "preload", ffmpegmux->preload, 0);
- ffmpegmux->context->max_delay = ffmpegmux->max_delay;
-
- /* for the format-specific guesses, we'll go to
-@@ -552,7 +551,7 @@
-
- /* open "file" (gstreamer protocol to next element) */
- if (!ffmpegmux->opened) {
-- int open_flags = URL_WRONLY;
-+ int open_flags = AVIO_FLAG_WRITE;
-
- /* we do need all streams to have started capsnego,
- * or things will go horribly wrong */
-@@ -646,19 +645,13 @@
- open_flags |= GST_FFMPEG_URL_STREAMHEADER;
- }
-
-- if (url_fopen (&ffmpegmux->context->pb,
-- ffmpegmux->context->filename, open_flags) < 0) {
-+ if (gst_ffmpegdata_open (ffmpegmux->srcpad, open_flags,
-+ &ffmpegmux->context->pb) < 0) {
- GST_ELEMENT_ERROR (ffmpegmux, LIBRARY, TOO_LAZY, (NULL),
- ("Failed to open stream context in ffmux"));
- return GST_FLOW_ERROR;
- }
-
-- if (av_set_parameters (ffmpegmux->context, NULL) < 0) {
-- GST_ELEMENT_ERROR (ffmpegmux, LIBRARY, INIT, (NULL),
-- ("Failed to initialize muxer"));
-- return GST_FLOW_ERROR;
-- }
--
- /* now open the mux format */
- if (av_write_header (ffmpegmux->context) < 0) {
- GST_ELEMENT_ERROR (ffmpegmux, LIBRARY, SETTINGS, (NULL),
-@@ -670,7 +663,7 @@
- ffmpegmux->opened = TRUE;
-
- /* flush the header so it will be used as streamheader */
-- put_flush_packet (ffmpegmux->context->pb);
-+ avio_flush (ffmpegmux->context->pb);
- }
-
- /* take the one with earliest timestamp,
-@@ -770,8 +763,8 @@
- /* close down */
- av_write_trailer (ffmpegmux->context);
- ffmpegmux->opened = FALSE;
-- put_flush_packet (ffmpegmux->context->pb);
-- url_fclose (ffmpegmux->context->pb);
-+ avio_flush (ffmpegmux->context->pb);
-+ gst_ffmpegdata_close (ffmpegmux->context->pb);
- gst_pad_push_event (ffmpegmux->srcpad, gst_event_new_eos ());
- return GST_FLOW_UNEXPECTED;
- }
-@@ -795,6 +788,10 @@
- break;
- case GST_STATE_CHANGE_PAUSED_TO_READY:
- gst_collect_pads_stop (ffmpegmux->collect);
-+ if (ffmpegmux->opened) {
-+ ffmpegmux->opened = FALSE;
-+ gst_ffmpegdata_close (ffmpegmux->context->pb);
-+ }
- break;
- default:
- break;
-@@ -809,7 +806,7 @@
- gst_tag_setter_reset_tags (GST_TAG_SETTER (ffmpegmux));
- if (ffmpegmux->opened) {
- ffmpegmux->opened = FALSE;
-- url_fclose (ffmpegmux->context->pb);
-+ avio_close (ffmpegmux->context->pb);
- }
- break;
- case GST_STATE_CHANGE_READY_TO_NULL:
-diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegmux.c.orig gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegmux.c.orig
---- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegmux.c.orig 1970-01-01 01:00:00.000000000 +0100
-+++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegmux.c.orig 2011-07-13 11:07:28.000000000 +0200
-@@ -0,0 +1,970 @@
-+/* GStreamer
-+ * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Library General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2 of the License, or (at your option) any later version.
-+ *
-+ * This library 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
-+ * Library General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Library General Public
-+ * License along with this library; if not, write to the
-+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-+ * Boston, MA 02111-1307, USA.
-+ */
-+
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
-+#include <string.h>
-+#ifdef HAVE_FFMPEG_UNINSTALLED
-+#include <avformat.h>
-+#else
-+#include <libavformat/avformat.h>
-+#endif
-+
-+#include <gst/gst.h>
-+#include <gst/base/gstcollectpads.h>
-+
-+#include "gstffmpeg.h"
-+#include "gstffmpegcodecmap.h"
-+#include "gstffmpegutils.h"
-+
-+typedef struct _GstFFMpegMux GstFFMpegMux;
-+typedef struct _GstFFMpegMuxPad GstFFMpegMuxPad;
-+
-+struct _GstFFMpegMuxPad
-+{
-+ GstCollectData collect; /* we extend the CollectData */
-+
-+ gint padnum;
-+};
-+
-+struct _GstFFMpegMux
-+{
-+ GstElement element;
-+
-+ GstCollectPads *collect;
-+ /* We need to keep track of our pads, so we do so here. */
-+ GstPad *srcpad;
-+
-+ AVFormatContext *context;
-+ gboolean opened;
-+
-+ gint videopads, audiopads;
-+
-+ /*< private > */
-+ /* event_function is the collectpads default eventfunction */
-+ GstPadEventFunction event_function;
-+ int preload;
-+ int max_delay;
-+};
-+
-+typedef struct _GstFFMpegMuxClass GstFFMpegMuxClass;
-+
-+struct _GstFFMpegMuxClass
-+{
-+ GstElementClass parent_class;
-+
-+ AVOutputFormat *in_plugin;
-+};
-+
-+#define GST_TYPE_FFMPEGMUX \
-+ (gst_ffmpegdec_get_type())
-+#define GST_FFMPEGMUX(obj) \
-+ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_FFMPEGMUX,GstFFMpegMux))
-+#define GST_FFMPEGMUX_CLASS(klass) \
-+ (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_FFMPEGMUX,GstFFMpegMuxClass))
-+#define GST_IS_FFMPEGMUX(obj) \
-+ (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_FFMPEGMUX))
-+#define GST_IS_FFMPEGMUX_CLASS(klass) \
-+ (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_FFMPEGMUX))
-+
-+enum
-+{
-+ /* FILL ME */
-+ LAST_SIGNAL
-+};
-+
-+enum
-+{
-+ ARG_0,
-+ /* FILL ME */
-+};
-+
-+enum
-+{
-+ PROP_0,
-+ PROP_PRELOAD,
-+ PROP_MAXDELAY
-+};
-+
-+/* A number of function prototypes are given so we can refer to them later. */
-+static void gst_ffmpegmux_class_init (GstFFMpegMuxClass * klass);
-+static void gst_ffmpegmux_base_init (gpointer g_class);
-+static void gst_ffmpegmux_init (GstFFMpegMux * ffmpegmux,
-+ GstFFMpegMuxClass * g_class);
-+static void gst_ffmpegmux_finalize (GObject * object);
-+
-+static gboolean gst_ffmpegmux_setcaps (GstPad * pad, GstCaps * caps);
-+static GstPad *gst_ffmpegmux_request_new_pad (GstElement * element,
-+ GstPadTemplate * templ, const gchar * name);
-+static GstFlowReturn gst_ffmpegmux_collected (GstCollectPads * pads,
-+ gpointer user_data);
-+
-+static gboolean gst_ffmpegmux_sink_event (GstPad * pad, GstEvent * event);
-+
-+static GstStateChangeReturn gst_ffmpegmux_change_state (GstElement * element,
-+ GstStateChange transition);
-+
-+static void gst_ffmpegmux_set_property (GObject * object, guint prop_id,
-+ const GValue * value, GParamSpec * pspec);
-+static void gst_ffmpegmux_get_property (GObject * object, guint prop_id,
-+ GValue * value, GParamSpec * pspec);
-+
-+static GstCaps *gst_ffmpegmux_get_id_caps (enum CodecID *id_list);
-+static void gst_ffmpeg_mux_simple_caps_set_int_list (GstCaps * caps,
-+ const gchar * field, guint num, const gint * values);
-+
-+#define GST_FFMUX_PARAMS_QDATA g_quark_from_static_string("ffmux-params")
-+
-+static GstElementClass *parent_class = NULL;
-+
-+/*static guint gst_ffmpegmux_signals[LAST_SIGNAL] = { 0 }; */
-+
-+typedef struct
-+{
-+ const char *name;
-+ const char *replacement;
-+} GstFFMpegMuxReplacement;
-+
-+static const char *
-+gst_ffmpegmux_get_replacement (const char *name)
-+{
-+ static const GstFFMpegMuxReplacement blacklist[] = {
-+ {"avi", "avimux"},
-+ {"matroska", "matroskamux"},
-+ {"mov", "qtmux"},
-+ {"mpegts", "mpegtsmux"},
-+ {"mp4", "mp4mux"},
-+ {"mpjpeg", "multipartmux"},
-+ {"ogg", "oggmux"},
-+ {"wav", "wavenc"},
-+ {"webm", "webmmux"},
-+ {"mxf", "mxfmux"},
-+ {"3gp", "gppmux"},
-+ {"yuv4mpegpipe", "y4menc"},
-+ {"aiff", "aiffmux"},
-+ {"adts", "aacparse"},
-+ {"asf", "asfmux"},
-+ {"asf_stream", "asfmux"},
-+ {"flv", "flvmux"},
-+ {"mp3", "id3v2mux"},
-+ {"mp2", "id3v2mux"}
-+ };
-+ int i;
-+
-+ for (i = 0; i < sizeof (blacklist) / sizeof (blacklist[0]); i++) {
-+ if (strcmp (blacklist[i].name, name) == 0) {
-+ return blacklist[i].replacement;
-+ }
-+ }
-+
-+ return NULL;
-+}
-+
-+static gboolean
-+gst_ffmpegmux_is_formatter (const char *name)
-+{
-+ static const char *replace[] = {
-+ "mp2", "mp3", NULL
-+ };
-+ int i;
-+
-+ for (i = 0; replace[i]; i++)
-+ if (strcmp (replace[i], name) == 0)
-+ return TRUE;
-+ return FALSE;
-+}
-+
-+static void
-+gst_ffmpegmux_base_init (gpointer g_class)
-+{
-+ GstFFMpegMuxClass *klass = (GstFFMpegMuxClass *) g_class;
-+ GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
-+ GstPadTemplate *videosinktempl, *audiosinktempl, *srctempl;
-+ AVOutputFormat *in_plugin;
-+ GstCaps *srccaps, *audiosinkcaps, *videosinkcaps;
-+ enum CodecID *video_ids = NULL, *audio_ids = NULL;
-+ gchar *longname, *description;
-+ const char *replacement;
-+ gboolean is_formatter;
-+
-+ in_plugin =
-+ (AVOutputFormat *) g_type_get_qdata (G_OBJECT_CLASS_TYPE (klass),
-+ GST_FFMUX_PARAMS_QDATA);
-+ g_assert (in_plugin != NULL);
-+
-+ /* construct the element details struct */
-+ replacement = gst_ffmpegmux_get_replacement (in_plugin->name);
-+ is_formatter = gst_ffmpegmux_is_formatter (in_plugin->name);
-+ if (replacement != NULL) {
-+ longname =
-+ g_strdup_printf ("FFmpeg %s %s (not recommended, use %s instead)",
-+ in_plugin->long_name, is_formatter ? "formatter" : "muxer",
-+ replacement);
-+ description =
-+ g_strdup_printf ("FFmpeg %s %s (not recommended, use %s instead)",
-+ in_plugin->long_name, is_formatter ? "formatter" : "muxer",
-+ replacement);
-+ } else {
-+ longname = g_strdup_printf ("FFmpeg %s %s", in_plugin->long_name,
-+ is_formatter ? "formatter" : "muxer");
-+ description = g_strdup_printf ("FFmpeg %s %s", in_plugin->long_name,
-+ is_formatter ? "formatter" : "muxer");
-+ }
-+ gst_element_class_set_details_simple (element_class, longname,
-+ is_formatter ? "Formatter/Metadata" : "Codec/Muxer", description,
-+ "Wim Taymans <wim.taymans@chello.be>, "
-+ "Ronald Bultje <rbultje@ronald.bitfreak.net>");
-+ g_free (longname);
-+ g_free (description);
-+
-+ /* Try to find the caps that belongs here */
-+ srccaps = gst_ffmpeg_formatid_to_caps (in_plugin->name);
-+ if (!srccaps) {
-+ GST_DEBUG ("Couldn't get source caps for muxer '%s', skipping format",
-+ in_plugin->name);
-+ goto beach;
-+ }
-+
-+ if (!gst_ffmpeg_formatid_get_codecids (in_plugin->name,
-+ &video_ids, &audio_ids, in_plugin)) {
-+ gst_caps_unref (srccaps);
-+ GST_DEBUG
-+ ("Couldn't get sink caps for muxer '%s'. Most likely because no input format mapping exists.",
-+ in_plugin->name);
-+ goto beach;
-+ }
-+
-+ videosinkcaps = video_ids ? gst_ffmpegmux_get_id_caps (video_ids) : NULL;
-+ audiosinkcaps = audio_ids ? gst_ffmpegmux_get_id_caps (audio_ids) : NULL;
-+
-+ /* fix up allowed caps for some muxers */
-+ /* FIXME : This should be in gstffmpegcodecmap.c ! */
-+ if (strcmp (in_plugin->name, "flv") == 0) {
-+ const gint rates[] = { 44100, 22050, 11025 };
-+
-+ gst_ffmpeg_mux_simple_caps_set_int_list (audiosinkcaps, "rate", 3, rates);
-+ } else if (strcmp (in_plugin->name, "gif") == 0) {
-+ if (videosinkcaps)
-+ gst_caps_unref (videosinkcaps);
-+
-+ videosinkcaps =
-+ gst_caps_from_string ("video/x-raw-rgb, bpp=(int)24, depth=(int)24");
-+ }
-+
-+ /* pad templates */
-+ srctempl = gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS, srccaps);
-+ gst_element_class_add_pad_template (element_class, srctempl);
-+
-+ if (audiosinkcaps) {
-+ audiosinktempl = gst_pad_template_new ("audio_%d",
-+ GST_PAD_SINK, GST_PAD_REQUEST, audiosinkcaps);
-+ gst_element_class_add_pad_template (element_class, audiosinktempl);
-+ }
-+
-+ if (videosinkcaps) {
-+ videosinktempl = gst_pad_template_new ("video_%d",
-+ GST_PAD_SINK, GST_PAD_REQUEST, videosinkcaps);
-+ gst_element_class_add_pad_template (element_class, videosinktempl);
-+ }
-+
-+beach:
-+ klass->in_plugin = in_plugin;
-+}
-+
-+static void
-+gst_ffmpegmux_class_init (GstFFMpegMuxClass * klass)
-+{
-+ GObjectClass *gobject_class;
-+ GstElementClass *gstelement_class;
-+
-+ gobject_class = (GObjectClass *) klass;
-+ gstelement_class = (GstElementClass *) klass;
-+
-+ parent_class = g_type_class_peek_parent (klass);
-+
-+ gobject_class->set_property = GST_DEBUG_FUNCPTR (gst_ffmpegmux_set_property);
-+ gobject_class->get_property = GST_DEBUG_FUNCPTR (gst_ffmpegmux_get_property);
-+
-+ g_object_class_install_property (gobject_class, PROP_PRELOAD,
-+ g_param_spec_int ("preload", "preload",
-+ "Set the initial demux-decode delay (in microseconds)", 0, G_MAXINT,
-+ 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-+
-+ g_object_class_install_property (gobject_class, PROP_MAXDELAY,
-+ g_param_spec_int ("maxdelay", "maxdelay",
-+ "Set the maximum demux-decode delay (in microseconds)", 0, G_MAXINT,
-+ 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-+
-+ gstelement_class->request_new_pad = gst_ffmpegmux_request_new_pad;
-+ gstelement_class->change_state = gst_ffmpegmux_change_state;
-+ gobject_class->finalize = gst_ffmpegmux_finalize;
-+}
-+
-+static void
-+gst_ffmpegmux_init (GstFFMpegMux * ffmpegmux, GstFFMpegMuxClass * g_class)
-+{
-+ GstElementClass *klass = GST_ELEMENT_CLASS (g_class);
-+ GstFFMpegMuxClass *oclass = (GstFFMpegMuxClass *) klass;
-+ GstPadTemplate *templ = gst_element_class_get_pad_template (klass, "src");
-+
-+ ffmpegmux->srcpad = gst_pad_new_from_template (templ, "src");
-+ gst_pad_set_caps (ffmpegmux->srcpad, gst_pad_template_get_caps (templ));
-+ gst_element_add_pad (GST_ELEMENT (ffmpegmux), ffmpegmux->srcpad);
-+
-+ ffmpegmux->collect = gst_collect_pads_new ();
-+ gst_collect_pads_set_function (ffmpegmux->collect,
-+ (GstCollectPadsFunction) gst_ffmpegmux_collected, ffmpegmux);
-+
-+ ffmpegmux->context = g_new0 (AVFormatContext, 1);
-+ ffmpegmux->context->oformat = oclass->in_plugin;
-+ ffmpegmux->context->nb_streams = 0;
-+ g_snprintf (ffmpegmux->context->filename,
-+ sizeof (ffmpegmux->context->filename),
-+ "gstreamer://%p", ffmpegmux->srcpad);
-+ ffmpegmux->opened = FALSE;
-+
-+ ffmpegmux->videopads = 0;
-+ ffmpegmux->audiopads = 0;
-+ ffmpegmux->preload = 0;
-+ ffmpegmux->max_delay = 0;
-+}
-+
-+static void
-+gst_ffmpegmux_set_property (GObject * object, guint prop_id,
-+ const GValue * value, GParamSpec * pspec)
-+{
-+ GstFFMpegMux *src;
-+
-+ src = (GstFFMpegMux *) object;
-+
-+ switch (prop_id) {
-+ case PROP_PRELOAD:
-+ src->preload = g_value_get_int (value);
-+ break;
-+ case PROP_MAXDELAY:
-+ src->max_delay = g_value_get_int (value);
-+ break;
-+ default:
-+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-+ break;
-+ }
-+}
-+
-+static void
-+gst_ffmpegmux_get_property (GObject * object, guint prop_id, GValue * value,
-+ GParamSpec * pspec)
-+{
-+ GstFFMpegMux *src;
-+
-+ src = (GstFFMpegMux *) object;
-+
-+ switch (prop_id) {
-+ case PROP_PRELOAD:
-+ g_value_set_int (value, src->preload);
-+ break;
-+ case PROP_MAXDELAY:
-+ g_value_set_int (value, src->max_delay);
-+ break;
-+ default:
-+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-+ break;
-+ }
-+}
-+
-+
-+static void
-+gst_ffmpegmux_finalize (GObject * object)
-+{
-+ GstFFMpegMux *ffmpegmux = (GstFFMpegMux *) object;
-+
-+ g_free (ffmpegmux->context);
-+ gst_object_unref (ffmpegmux->collect);
-+
-+ if (G_OBJECT_CLASS (parent_class)->finalize)
-+ G_OBJECT_CLASS (parent_class)->finalize (object);
-+}
-+
-+static GstPad *
-+gst_ffmpegmux_request_new_pad (GstElement * element,
-+ GstPadTemplate * templ, const gchar * name)
-+{
-+ GstFFMpegMux *ffmpegmux = (GstFFMpegMux *) element;
-+ GstElementClass *klass = GST_ELEMENT_GET_CLASS (element);
-+ GstFFMpegMuxPad *collect_pad;
-+ gchar *padname;
-+ GstPad *pad;
-+ AVStream *st;
-+ enum AVMediaType type;
-+ gint bitrate = 0, framesize = 0;
-+
-+ g_return_val_if_fail (templ != NULL, NULL);
-+ g_return_val_if_fail (templ->direction == GST_PAD_SINK, NULL);
-+ g_return_val_if_fail (ffmpegmux->opened == FALSE, NULL);
-+
-+ /* figure out a name that *we* like */
-+ if (templ == gst_element_class_get_pad_template (klass, "video_%d")) {
-+ padname = g_strdup_printf ("video_%d", ffmpegmux->videopads++);
-+ type = AVMEDIA_TYPE_VIDEO;
-+ bitrate = 64 * 1024;
-+ framesize = 1152;
-+ } else if (templ == gst_element_class_get_pad_template (klass, "audio_%d")) {
-+ padname = g_strdup_printf ("audio_%d", ffmpegmux->audiopads++);
-+ type = AVMEDIA_TYPE_AUDIO;
-+ bitrate = 285 * 1024;
-+ } else {
-+ g_warning ("ffmux: unknown pad template!");
-+ return NULL;
-+ }
-+
-+ /* create pad */
-+ pad = gst_pad_new_from_template (templ, padname);
-+ collect_pad = (GstFFMpegMuxPad *)
-+ gst_collect_pads_add_pad (ffmpegmux->collect, pad,
-+ sizeof (GstFFMpegMuxPad));
-+ collect_pad->padnum = ffmpegmux->context->nb_streams;
-+
-+ /* small hack to put our own event pad function and chain up to collect pad */
-+ ffmpegmux->event_function = GST_PAD_EVENTFUNC (pad);
-+ gst_pad_set_event_function (pad,
-+ GST_DEBUG_FUNCPTR (gst_ffmpegmux_sink_event));
-+
-+ gst_pad_set_setcaps_function (pad, GST_DEBUG_FUNCPTR (gst_ffmpegmux_setcaps));
-+ gst_element_add_pad (element, pad);
-+
-+ /* AVStream needs to be created */
-+ st = av_new_stream (ffmpegmux->context, collect_pad->padnum);
-+ st->codec->codec_type = type;
-+ st->codec->codec_id = CODEC_ID_NONE; /* this is a check afterwards */
-+ st->stream_copy = 1; /* we're not the actual encoder */
-+ st->codec->bit_rate = bitrate;
-+ st->codec->frame_size = framesize;
-+ /* we fill in codec during capsnego */
-+
-+ /* we love debug output (c) (tm) (r) */
-+ GST_DEBUG ("Created %s pad for ffmux_%s element",
-+ padname, ((GstFFMpegMuxClass *) klass)->in_plugin->name);
-+ g_free (padname);
-+
-+ return pad;
-+}
-+
-+/**
-+ * gst_ffmpegmux_setcaps
-+ * @pad: #GstPad
-+ * @caps: New caps.
-+ *
-+ * Set caps to pad.
-+ *
-+ * Returns: #TRUE on success.
-+ */
-+static gboolean
-+gst_ffmpegmux_setcaps (GstPad * pad, GstCaps * caps)
-+{
-+ GstFFMpegMux *ffmpegmux = (GstFFMpegMux *) (gst_pad_get_parent (pad));
-+ GstFFMpegMuxPad *collect_pad;
-+ AVStream *st;
-+
-+ collect_pad = (GstFFMpegMuxPad *) gst_pad_get_element_private (pad);
-+
-+ st = ffmpegmux->context->streams[collect_pad->padnum];
-+ ffmpegmux->context->preload = ffmpegmux->preload;
-+ ffmpegmux->context->max_delay = ffmpegmux->max_delay;
-+
-+ /* for the format-specific guesses, we'll go to
-+ * our famous codec mapper */
-+ if (gst_ffmpeg_caps_to_codecid (caps, st->codec) == CODEC_ID_NONE)
-+ goto not_accepted;
-+
-+ /* copy over the aspect ratios, ffmpeg expects the stream aspect to match the
-+ * codec aspect. */
-+ st->sample_aspect_ratio = st->codec->sample_aspect_ratio;
-+
-+ GST_LOG_OBJECT (pad, "accepted caps %" GST_PTR_FORMAT, caps);
-+ return TRUE;
-+
-+ /* ERRORS */
-+not_accepted:
-+ {
-+ GST_LOG_OBJECT (pad, "rejecting caps %" GST_PTR_FORMAT, caps);
-+ return FALSE;
-+ }
-+}
-+
-+
-+static gboolean
-+gst_ffmpegmux_sink_event (GstPad * pad, GstEvent * event)
-+{
-+ GstFFMpegMux *ffmpegmux = (GstFFMpegMux *) gst_pad_get_parent (pad);
-+ gboolean res = TRUE;
-+
-+ switch (GST_EVENT_TYPE (event)) {
-+ case GST_EVENT_TAG:{
-+ GstTagList *taglist;
-+ GstTagSetter *setter = GST_TAG_SETTER (ffmpegmux);
-+ const GstTagMergeMode mode = gst_tag_setter_get_tag_merge_mode (setter);
-+
-+ gst_event_parse_tag (event, &taglist);
-+ gst_tag_setter_merge_tags (setter, taglist, mode);
-+ break;
-+ }
-+ default:
-+ break;
-+ }
-+
-+ /* chaining up to collectpads default event function */
-+ res = ffmpegmux->event_function (pad, event);
-+
-+ gst_object_unref (ffmpegmux);
-+ return res;
-+}
-+
-+static GstFlowReturn
-+gst_ffmpegmux_collected (GstCollectPads * pads, gpointer user_data)
-+{
-+ GstFFMpegMux *ffmpegmux = (GstFFMpegMux *) user_data;
-+ GSList *collected;
-+ GstFFMpegMuxPad *best_pad;
-+ GstClockTime best_time;
-+#if 0
-+ /* Re-enable once converted to new AVMetaData API
-+ * See #566605
-+ */
-+ const GstTagList *tags;
-+#endif
-+
-+ /* open "file" (gstreamer protocol to next element) */
-+ if (!ffmpegmux->opened) {
-+ int open_flags = URL_WRONLY;
-+
-+ /* we do need all streams to have started capsnego,
-+ * or things will go horribly wrong */
-+ for (collected = ffmpegmux->collect->data; collected;
-+ collected = g_slist_next (collected)) {
-+ GstFFMpegMuxPad *collect_pad = (GstFFMpegMuxPad *) collected->data;
-+ AVStream *st = ffmpegmux->context->streams[collect_pad->padnum];
-+
-+ /* check whether the pad has successfully completed capsnego */
-+ if (st->codec->codec_id == CODEC_ID_NONE) {
-+ GST_ELEMENT_ERROR (ffmpegmux, CORE, NEGOTIATION, (NULL),
-+ ("no caps set on stream %d (%s)", collect_pad->padnum,
-+ (st->codec->codec_type == AVMEDIA_TYPE_VIDEO) ?
-+ "video" : "audio"));
-+ return GST_FLOW_ERROR;
-+ }
-+ /* set framerate for audio */
-+ if (st->codec->codec_type == AVMEDIA_TYPE_AUDIO) {
-+ switch (st->codec->codec_id) {
-+ case CODEC_ID_PCM_S16LE:
-+ case CODEC_ID_PCM_S16BE:
-+ case CODEC_ID_PCM_U16LE:
-+ case CODEC_ID_PCM_U16BE:
-+ case CODEC_ID_PCM_S8:
-+ case CODEC_ID_PCM_U8:
-+ st->codec->frame_size = 1;
-+ break;
-+ default:
-+ {
-+ GstBuffer *buffer;
-+
-+ /* FIXME : This doesn't work for RAW AUDIO...
-+ * in fact I'm wondering if it even works for any kind of audio... */
-+ buffer = gst_collect_pads_peek (ffmpegmux->collect,
-+ (GstCollectData *) collect_pad);
-+ if (buffer) {
-+ st->codec->frame_size =
-+ st->codec->sample_rate *
-+ GST_BUFFER_DURATION (buffer) / GST_SECOND;
-+ gst_buffer_unref (buffer);
-+ }
-+ }
-+ }
-+ }
-+ }
-+
-+#if 0
-+ /* Re-enable once converted to new AVMetaData API
-+ * See #566605
-+ */
-+
-+ /* tags */
-+ tags = gst_tag_setter_get_tag_list (GST_TAG_SETTER (ffmpegmux));
-+ if (tags) {
-+ gint i;
-+ gchar *s;
-+
-+ /* get the interesting ones */
-+ if (gst_tag_list_get_string (tags, GST_TAG_TITLE, &s)) {
-+ strncpy (ffmpegmux->context->title, s,
-+ sizeof (ffmpegmux->context->title));
-+ }
-+ if (gst_tag_list_get_string (tags, GST_TAG_ARTIST, &s)) {
-+ strncpy (ffmpegmux->context->author, s,
-+ sizeof (ffmpegmux->context->author));
-+ }
-+ if (gst_tag_list_get_string (tags, GST_TAG_COPYRIGHT, &s)) {
-+ strncpy (ffmpegmux->context->copyright, s,
-+ sizeof (ffmpegmux->context->copyright));
-+ }
-+ if (gst_tag_list_get_string (tags, GST_TAG_COMMENT, &s)) {
-+ strncpy (ffmpegmux->context->comment, s,
-+ sizeof (ffmpegmux->context->comment));
-+ }
-+ if (gst_tag_list_get_string (tags, GST_TAG_ALBUM, &s)) {
-+ strncpy (ffmpegmux->context->album, s,
-+ sizeof (ffmpegmux->context->album));
-+ }
-+ if (gst_tag_list_get_string (tags, GST_TAG_GENRE, &s)) {
-+ strncpy (ffmpegmux->context->genre, s,
-+ sizeof (ffmpegmux->context->genre));
-+ }
-+ if (gst_tag_list_get_int (tags, GST_TAG_TRACK_NUMBER, &i)) {
-+ ffmpegmux->context->track = i;
-+ }
-+ }
-+#endif
-+
-+ /* set the streamheader flag for gstffmpegprotocol if codec supports it */
-+ if (!strcmp (ffmpegmux->context->oformat->name, "flv")) {
-+ open_flags |= GST_FFMPEG_URL_STREAMHEADER;
-+ }
-+
-+ if (url_fopen (&ffmpegmux->context->pb,
-+ ffmpegmux->context->filename, open_flags) < 0) {
-+ GST_ELEMENT_ERROR (ffmpegmux, LIBRARY, TOO_LAZY, (NULL),
-+ ("Failed to open stream context in ffmux"));
-+ return GST_FLOW_ERROR;
-+ }
-+
-+ if (av_set_parameters (ffmpegmux->context, NULL) < 0) {
-+ GST_ELEMENT_ERROR (ffmpegmux, LIBRARY, INIT, (NULL),
-+ ("Failed to initialize muxer"));
-+ return GST_FLOW_ERROR;
-+ }
-+
-+ /* now open the mux format */
-+ if (av_write_header (ffmpegmux->context) < 0) {
-+ GST_ELEMENT_ERROR (ffmpegmux, LIBRARY, SETTINGS, (NULL),
-+ ("Failed to write file header - check codec settings"));
-+ return GST_FLOW_ERROR;
-+ }
-+
-+ /* we're now opened */
-+ ffmpegmux->opened = TRUE;
-+
-+ /* flush the header so it will be used as streamheader */
-+ put_flush_packet (ffmpegmux->context->pb);
-+ }
-+
-+ /* take the one with earliest timestamp,
-+ * and push it forward */
-+ best_pad = NULL;
-+ best_time = GST_CLOCK_TIME_NONE;
-+ for (collected = ffmpegmux->collect->data; collected;
-+ collected = g_slist_next (collected)) {
-+ GstFFMpegMuxPad *collect_pad = (GstFFMpegMuxPad *) collected->data;
-+ GstBuffer *buffer = gst_collect_pads_peek (ffmpegmux->collect,
-+ (GstCollectData *) collect_pad);
-+
-+ /* if there's no buffer, just continue */
-+ if (buffer == NULL) {
-+ continue;
-+ }
-+
-+ /* if we have no buffer yet, just use the first one */
-+ if (best_pad == NULL) {
-+ best_pad = collect_pad;
-+ best_time = GST_BUFFER_TIMESTAMP (buffer);
-+ goto next_pad;
-+ }
-+
-+ /* if we do have one, only use this one if it's older */
-+ if (GST_BUFFER_TIMESTAMP (buffer) < best_time) {
-+ best_time = GST_BUFFER_TIMESTAMP (buffer);
-+ best_pad = collect_pad;
-+ }
-+
-+ next_pad:
-+ gst_buffer_unref (buffer);
-+
-+ /* Mux buffers with invalid timestamp first */
-+ if (!GST_CLOCK_TIME_IS_VALID (best_time))
-+ break;
-+ }
-+
-+ /* now handle the buffer, or signal EOS if we have
-+ * no buffers left */
-+ if (best_pad != NULL) {
-+ GstBuffer *buf;
-+ AVPacket pkt;
-+ gboolean need_free = FALSE;
-+
-+ /* push out current buffer */
-+ buf = gst_collect_pads_pop (ffmpegmux->collect,
-+ (GstCollectData *) best_pad);
-+
-+ ffmpegmux->context->streams[best_pad->padnum]->codec->frame_number++;
-+
-+ /* set time */
-+ pkt.pts = gst_ffmpeg_time_gst_to_ff (GST_BUFFER_TIMESTAMP (buf),
-+ ffmpegmux->context->streams[best_pad->padnum]->time_base);
-+ pkt.dts = pkt.pts;
-+
-+ if (strcmp (ffmpegmux->context->oformat->name, "gif") == 0) {
-+ AVStream *st = ffmpegmux->context->streams[best_pad->padnum];
-+ AVPicture src, dst;
-+
-+ need_free = TRUE;
-+ pkt.size = st->codec->width * st->codec->height * 3;
-+ pkt.data = g_malloc (pkt.size);
-+
-+ dst.data[0] = pkt.data;
-+ dst.data[1] = NULL;
-+ dst.data[2] = NULL;
-+ dst.linesize[0] = st->codec->width * 3;
-+
-+ gst_ffmpeg_avpicture_fill (&src, GST_BUFFER_DATA (buf),
-+ PIX_FMT_RGB24, st->codec->width, st->codec->height);
-+
-+ av_picture_copy (&dst, &src, PIX_FMT_RGB24,
-+ st->codec->width, st->codec->height);
-+ } else {
-+ pkt.data = GST_BUFFER_DATA (buf);
-+ pkt.size = GST_BUFFER_SIZE (buf);
-+ }
-+
-+ pkt.stream_index = best_pad->padnum;
-+ pkt.flags = 0;
-+
-+ if (!GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLAG_DELTA_UNIT))
-+ pkt.flags |= AV_PKT_FLAG_KEY;
-+
-+ if (GST_BUFFER_DURATION_IS_VALID (buf))
-+ pkt.duration =
-+ gst_ffmpeg_time_gst_to_ff (GST_BUFFER_DURATION (buf),
-+ ffmpegmux->context->streams[best_pad->padnum]->time_base);
-+ else
-+ pkt.duration = 0;
-+ av_write_frame (ffmpegmux->context, &pkt);
-+ gst_buffer_unref (buf);
-+ if (need_free)
-+ g_free (pkt.data);
-+ } else {
-+ /* close down */
-+ av_write_trailer (ffmpegmux->context);
-+ ffmpegmux->opened = FALSE;
-+ put_flush_packet (ffmpegmux->context->pb);
-+ url_fclose (ffmpegmux->context->pb);
-+ gst_pad_push_event (ffmpegmux->srcpad, gst_event_new_eos ());
-+ return GST_FLOW_UNEXPECTED;
-+ }
-+
-+ return GST_FLOW_OK;
-+}
-+
-+static GstStateChangeReturn
-+gst_ffmpegmux_change_state (GstElement * element, GstStateChange transition)
-+{
-+ GstFlowReturn ret;
-+ GstFFMpegMux *ffmpegmux = (GstFFMpegMux *) (element);
-+
-+ switch (transition) {
-+ case GST_STATE_CHANGE_NULL_TO_READY:
-+ break;
-+ case GST_STATE_CHANGE_READY_TO_PAUSED:
-+ gst_collect_pads_start (ffmpegmux->collect);
-+ break;
-+ case GST_STATE_CHANGE_PAUSED_TO_PLAYING:
-+ break;
-+ case GST_STATE_CHANGE_PAUSED_TO_READY:
-+ gst_collect_pads_stop (ffmpegmux->collect);
-+ break;
-+ default:
-+ break;
-+ }
-+
-+ ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
-+
-+ switch (transition) {
-+ case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
-+ break;
-+ case GST_STATE_CHANGE_PAUSED_TO_READY:
-+ gst_tag_setter_reset_tags (GST_TAG_SETTER (ffmpegmux));
-+ if (ffmpegmux->opened) {
-+ ffmpegmux->opened = FALSE;
-+ url_fclose (ffmpegmux->context->pb);
-+ }
-+ break;
-+ case GST_STATE_CHANGE_READY_TO_NULL:
-+ break;
-+ default:
-+ break;
-+ }
-+
-+ return ret;
-+}
-+
-+static GstCaps *
-+gst_ffmpegmux_get_id_caps (enum CodecID *id_list)
-+{
-+ GstCaps *caps, *t;
-+ gint i;
-+
-+ caps = gst_caps_new_empty ();
-+ for (i = 0; id_list[i] != CODEC_ID_NONE; i++) {
-+ if ((t = gst_ffmpeg_codecid_to_caps (id_list[i], NULL, TRUE)))
-+ gst_caps_append (caps, t);
-+ }
-+ if (gst_caps_is_empty (caps)) {
-+ gst_caps_unref (caps);
-+ return NULL;
-+ }
-+
-+ return caps;
-+}
-+
-+/* set a list of integer values on the caps, e.g. for sample rates */
-+static void
-+gst_ffmpeg_mux_simple_caps_set_int_list (GstCaps * caps, const gchar * field,
-+ guint num, const gint * values)
-+{
-+ GValue list = { 0, };
-+ GValue val = { 0, };
-+ gint i;
-+
-+ g_return_if_fail (GST_CAPS_IS_SIMPLE (caps));
-+
-+ g_value_init (&list, GST_TYPE_LIST);
-+ g_value_init (&val, G_TYPE_INT);
-+
-+ for (i = 0; i < num; ++i) {
-+ g_value_set_int (&val, values[i]);
-+ gst_value_list_append_value (&list, &val);
-+ }
-+
-+ gst_structure_set_value (gst_caps_get_structure (caps, 0), field, &list);
-+
-+ g_value_unset (&val);
-+ g_value_unset (&list);
-+}
-+
-+gboolean
-+gst_ffmpegmux_register (GstPlugin * plugin)
-+{
-+ GTypeInfo typeinfo = {
-+ sizeof (GstFFMpegMuxClass),
-+ (GBaseInitFunc) gst_ffmpegmux_base_init,
-+ NULL,
-+ (GClassInitFunc) gst_ffmpegmux_class_init,
-+ NULL,
-+ NULL,
-+ sizeof (GstFFMpegMux),
-+ 0,
-+ (GInstanceInitFunc) gst_ffmpegmux_init,
-+ };
-+ static const GInterfaceInfo tag_setter_info = {
-+ NULL, NULL, NULL
-+ };
-+ GType type;
-+ AVOutputFormat *in_plugin;
-+
-+ in_plugin = av_oformat_next (NULL);
-+
-+ GST_LOG ("Registering muxers");
-+
-+ while (in_plugin) {
-+ gchar *type_name;
-+ gchar *p;
-+ GstRank rank = GST_RANK_MARGINAL;
-+
-+ if ((!strncmp (in_plugin->name, "u16", 3)) ||
-+ (!strncmp (in_plugin->name, "s16", 3)) ||
-+ (!strncmp (in_plugin->name, "u24", 3)) ||
-+ (!strncmp (in_plugin->name, "s24", 3)) ||
-+ (!strncmp (in_plugin->name, "u8", 2)) ||
-+ (!strncmp (in_plugin->name, "s8", 2)) ||
-+ (!strncmp (in_plugin->name, "u32", 3)) ||
-+ (!strncmp (in_plugin->name, "s32", 3)) ||
-+ (!strncmp (in_plugin->name, "f32", 3)) ||
-+ (!strncmp (in_plugin->name, "f64", 3)) ||
-+ (!strncmp (in_plugin->name, "raw", 3)) ||
-+ (!strncmp (in_plugin->name, "crc", 3)) ||
-+ (!strncmp (in_plugin->name, "null", 4)) ||
-+ (!strncmp (in_plugin->name, "gif", 3)) ||
-+ (!strncmp (in_plugin->name, "frame", 5)) ||
-+ (!strncmp (in_plugin->name, "image", 5)) ||
-+ (!strncmp (in_plugin->name, "mulaw", 5)) ||
-+ (!strncmp (in_plugin->name, "alaw", 4)) ||
-+ (!strncmp (in_plugin->name, "h26", 3)) ||
-+ (!strncmp (in_plugin->name, "rtp", 3)) ||
-+ (!strncmp (in_plugin->name, "ass", 3)) ||
-+ (!strncmp (in_plugin->name, "ffmetadata", 10)) ||
-+ (!strncmp (in_plugin->name, "srt", 3))
-+ ) {
-+ GST_LOG ("Ignoring muxer %s", in_plugin->name);
-+ goto next;
-+ }
-+
-+ if ((!strncmp (in_plugin->long_name, "raw ", 4))) {
-+ GST_LOG ("Ignoring raw muxer %s", in_plugin->name);
-+ goto next;
-+ }
-+
-+ if (gst_ffmpegmux_get_replacement (in_plugin->name))
-+ rank = GST_RANK_NONE;
-+
-+ /* FIXME : We need a fast way to know whether we have mappings for this
-+ * muxer type. */
-+
-+ /* construct the type */
-+ type_name = g_strdup_printf ("ffmux_%s", in_plugin->name);
-+
-+ p = type_name;
-+
-+ while (*p) {
-+ if (*p == '.')
-+ *p = '_';
-+ p++;
-+ }
-+
-+ type = g_type_from_name (type_name);
-+
-+ if (!type) {
-+ /* create the type now */
-+ type = g_type_register_static (GST_TYPE_ELEMENT, type_name, &typeinfo, 0);
-+ g_type_set_qdata (type, GST_FFMUX_PARAMS_QDATA, (gpointer) in_plugin);
-+ g_type_add_interface_static (type, GST_TYPE_TAG_SETTER, &tag_setter_info);
-+ }
-+
-+ if (!gst_element_register (plugin, type_name, rank, type)) {
-+ g_free (type_name);
-+ return FALSE;
-+ }
-+
-+ g_free (type_name);
-+
-+ next:
-+ in_plugin = av_oformat_next (in_plugin);
-+ }
-+
-+ GST_LOG ("Finished registering muxers");
-+
-+ return TRUE;
-+}
-diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegprotocol.c gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegprotocol.c
---- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegprotocol.c 2011-07-12 16:35:28.000000000 +0200
-+++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegprotocol.c 2014-08-08 15:26:07.875857555 +0200
-@@ -46,63 +46,14 @@
- };
-
- static int
--gst_ffmpegdata_open (URLContext * h, const char *filename, int flags)
--{
-- GstProtocolInfo *info;
-- GstPad *pad;
--
-- GST_LOG ("Opening %s", filename);
--
-- info = g_new0 (GstProtocolInfo, 1);
--
-- info->set_streamheader = flags & GST_FFMPEG_URL_STREAMHEADER;
-- flags &= ~GST_FFMPEG_URL_STREAMHEADER;
-- h->flags &= ~GST_FFMPEG_URL_STREAMHEADER;
--
-- /* we don't support R/W together */
-- if (flags != URL_RDONLY && flags != URL_WRONLY) {
-- GST_WARNING ("Only read-only or write-only are supported");
-- return -EINVAL;
-- }
--
-- if (sscanf (&filename[12], "%p", &pad) != 1) {
-- GST_WARNING ("could not decode pad from %s", filename);
-- return -EIO;
-- }
--
-- /* make sure we're a pad and that we're of the right type */
-- g_return_val_if_fail (GST_IS_PAD (pad), -EINVAL);
--
-- switch (flags) {
-- case URL_RDONLY:
-- g_return_val_if_fail (GST_PAD_IS_SINK (pad), -EINVAL);
-- break;
-- case URL_WRONLY:
-- g_return_val_if_fail (GST_PAD_IS_SRC (pad), -EINVAL);
-- break;
-- }
--
-- info->eos = FALSE;
-- info->pad = pad;
-- info->offset = 0;
--
-- h->priv_data = (void *) info;
-- h->is_streamed = FALSE;
-- h->max_packet_size = 0;
--
-- return 0;
--}
--
--static int
--gst_ffmpegdata_peek (URLContext * h, unsigned char *buf, int size)
-+gst_ffmpegdata_peek (void *priv_data, unsigned char *buf, int size)
- {
- GstProtocolInfo *info;
- GstBuffer *inbuf = NULL;
- GstFlowReturn ret;
- int total = 0;
-
-- g_return_val_if_fail (h->flags == URL_RDONLY, AVERROR (EIO));
-- info = (GstProtocolInfo *) h->priv_data;
-+ info = (GstProtocolInfo *) priv_data;
-
- GST_DEBUG ("Pulling %d bytes at position %" G_GUINT64_FORMAT, size,
- info->offset);
-@@ -134,17 +85,17 @@
- }
-
- static int
--gst_ffmpegdata_read (URLContext * h, unsigned char *buf, int size)
-+gst_ffmpegdata_read (void *priv_data, unsigned char *buf, int size)
- {
- gint res;
- GstProtocolInfo *info;
-
-- info = (GstProtocolInfo *) h->priv_data;
-+ info = (GstProtocolInfo *) priv_data;
-
- GST_DEBUG ("Reading %d bytes of data at position %" G_GUINT64_FORMAT, size,
- info->offset);
-
-- res = gst_ffmpegdata_peek (h, buf, size);
-+ res = gst_ffmpegdata_peek (priv_data, buf, size);
- if (res >= 0)
- info->offset += res;
-
-@@ -154,15 +105,13 @@
- }
-
- static int
--gst_ffmpegdata_write (URLContext * h, const unsigned char *buf, int size)
-+gst_ffmpegdata_write (void *priv_data, const unsigned char *buf, int size)
- {
- GstProtocolInfo *info;
- GstBuffer *outbuf;
-
- GST_DEBUG ("Writing %d bytes", size);
-- info = (GstProtocolInfo *) h->priv_data;
--
-- g_return_val_if_fail (h->flags != URL_RDONLY, -EIO);
-+ info = (GstProtocolInfo *) priv_data;
-
- /* create buffer and push data further */
- if (gst_pad_alloc_buffer_and_set_caps (info->pad,
-@@ -179,7 +128,7 @@
- }
-
- static int64_t
--gst_ffmpegdata_seek (URLContext * h, int64_t pos, int whence)
-+gst_ffmpegdata_seek (void *priv_data, int64_t pos, int whence)
- {
- GstProtocolInfo *info;
- guint64 newpos = 0;
-@@ -187,70 +136,62 @@
- GST_DEBUG ("Seeking to %" G_GINT64_FORMAT ", whence=%d",
- (gint64) pos, whence);
-
-- info = (GstProtocolInfo *) h->priv_data;
-+ info = (GstProtocolInfo *) priv_data;
-
- /* TODO : if we are push-based, we need to return sensible info */
-
-- switch (h->flags) {
-- case URL_RDONLY:
-- {
-- /* sinkpad */
-- switch (whence) {
-- case SEEK_SET:
-- newpos = (guint64) pos;
-- break;
-- case SEEK_CUR:
-- newpos = info->offset + pos;
-- break;
-- case SEEK_END:
-- case AVSEEK_SIZE:
-- /* ffmpeg wants to know the current end position in bytes ! */
-- {
-- GstFormat format = GST_FORMAT_BYTES;
-- gint64 duration;
--
-- GST_DEBUG ("Seek end");
--
-- if (gst_pad_is_linked (info->pad))
-- if (gst_pad_query_duration (GST_PAD_PEER (info->pad), &format,
-- &duration))
-- newpos = ((guint64) duration) + pos;
-- }
-- break;
-- default:
-- g_assert (0);
-- break;
-+ if (GST_PAD_IS_SINK (info->pad)) {
-+ /* sinkpad */
-+ switch (whence) {
-+ case SEEK_SET:
-+ newpos = (guint64) pos;
-+ break;
-+ case SEEK_CUR:
-+ newpos = info->offset + pos;
-+ break;
-+ case SEEK_END:
-+ case AVSEEK_SIZE:
-+ /* ffmpeg wants to know the current end position in bytes ! */
-+ {
-+ GstFormat format = GST_FORMAT_BYTES;
-+ gint64 duration;
-+
-+ GST_DEBUG ("Seek end");
-+
-+ if (gst_pad_is_linked (info->pad))
-+ if (gst_pad_query_duration (GST_PAD_PEER (info->pad), &format,
-+ &duration))
-+ newpos = ((guint64) duration) + pos;
- }
-- /* FIXME : implement case for push-based behaviour */
-- if (whence != AVSEEK_SIZE)
-- info->offset = newpos;
-+ break;
-+ default:
-+ g_assert (0);
-+ break;
- }
-- break;
-- case URL_WRONLY:
-- {
-- /* srcpad */
-- switch (whence) {
-- case SEEK_SET:
-- info->offset = (guint64) pos;
-- gst_pad_push_event (info->pad, gst_event_new_new_segment
-- (TRUE, 1.0, GST_FORMAT_BYTES, info->offset,
-- GST_CLOCK_TIME_NONE, info->offset));
-- break;
-- case SEEK_CUR:
-- info->offset += pos;
-- gst_pad_push_event (info->pad, gst_event_new_new_segment
-- (TRUE, 1.0, GST_FORMAT_BYTES, info->offset,
-- GST_CLOCK_TIME_NONE, info->offset));
-- break;
-- default:
-- break;
-- }
-- newpos = info->offset;
-+ /* FIXME : implement case for push-based behaviour */
-+ if (whence != AVSEEK_SIZE)
-+ info->offset = newpos;
-+ } else if (GST_PAD_IS_SRC (info->pad)) {
-+ /* srcpad */
-+ switch (whence) {
-+ case SEEK_SET:
-+ info->offset = (guint64) pos;
-+ gst_pad_push_event (info->pad, gst_event_new_new_segment
-+ (TRUE, 1.0, GST_FORMAT_BYTES, info->offset,
-+ GST_CLOCK_TIME_NONE, info->offset));
-+ break;
-+ case SEEK_CUR:
-+ info->offset += pos;
-+ gst_pad_push_event (info->pad, gst_event_new_new_segment
-+ (TRUE, 1.0, GST_FORMAT_BYTES, info->offset,
-+ GST_CLOCK_TIME_NONE, info->offset));
-+ break;
-+ default:
-+ break;
- }
-- break;
-- default:
-- g_assert (0);
-- break;
-+ newpos = info->offset;
-+ } else {
-+ g_assert_not_reached ();
- }
-
- GST_DEBUG ("Now at offset %" G_GUINT64_FORMAT " (returning %" G_GUINT64_FORMAT
-@@ -258,85 +199,91 @@
- return newpos;
- }
-
--static int
--gst_ffmpegdata_close (URLContext * h)
-+int
-+gst_ffmpegdata_close (AVIOContext * h)
- {
- GstProtocolInfo *info;
-
-- info = (GstProtocolInfo *) h->priv_data;
-+ info = (GstProtocolInfo *) h->opaque;
- if (info == NULL)
- return 0;
-
- GST_LOG ("Closing file");
-
-- switch (h->flags) {
-- case URL_WRONLY:
-- {
-- /* send EOS - that closes down the stream */
-- gst_pad_push_event (info->pad, gst_event_new_eos ());
-- break;
-- }
-- default:
-- break;
-+ if (GST_PAD_IS_SRC (info->pad)) {
-+ /* send EOS - that closes down the stream */
-+ gst_pad_push_event (info->pad, gst_event_new_eos ());
- }
-
- /* clean up data */
- g_free (info);
-- h->priv_data = NULL;
-+ h->opaque = NULL;
-+
-+ av_freep (&h->buffer);
-+ av_free (h);
-
- return 0;
- }
-
-+int
-+gst_ffmpegdata_open (GstPad * pad, int flags, AVIOContext ** context)
-+{
-+ GstProtocolInfo *info;
-+ static const int buffer_size = 4096;
-+ unsigned char *buffer = NULL;
-
--URLProtocol gstreamer_protocol = {
-- /*.name = */ "gstreamer",
-- /*.url_open = */ gst_ffmpegdata_open,
-- /*.url_read = */ gst_ffmpegdata_read,
-- /*.url_write = */ gst_ffmpegdata_write,
-- /*.url_seek = */ gst_ffmpegdata_seek,
-- /*.url_close = */ gst_ffmpegdata_close,
--};
-+ info = g_new0 (GstProtocolInfo, 1);
-
-+ info->set_streamheader = flags & GST_FFMPEG_URL_STREAMHEADER;
-+ flags &= ~GST_FFMPEG_URL_STREAMHEADER;
-
--/* specialized protocol for cross-thread pushing,
-- * based on ffmpeg's pipe protocol */
-+ /* we don't support R/W together */
-+ if ((flags & AVIO_FLAG_WRITE) && (flags & AVIO_FLAG_READ)) {
-+ GST_WARNING ("Only read-only or write-only are supported");
-+ return -EINVAL;
-+ }
-
--static int
--gst_ffmpeg_pipe_open (URLContext * h, const char *filename, int flags)
--{
-- GstFFMpegPipe *ffpipe;
-+ /* make sure we're a pad and that we're of the right type */
-+ g_return_val_if_fail (GST_IS_PAD (pad), -EINVAL);
-
-- GST_LOG ("Opening %s", filename);
-+ if ((flags & AVIO_FLAG_READ))
-+ g_return_val_if_fail (GST_PAD_IS_SINK (pad), -EINVAL);
-+ if ((flags & AVIO_FLAG_WRITE))
-+ g_return_val_if_fail (GST_PAD_IS_SRC (pad), -EINVAL);
-
-- /* we don't support W together */
-- if (flags != URL_RDONLY) {
-- GST_WARNING ("Only read-only is supported");
-- return -EINVAL;
-- }
-+ info->eos = FALSE;
-+ info->pad = pad;
-+ info->offset = 0;
-
-- if (sscanf (&filename[10], "%p", &ffpipe) != 1) {
-- GST_WARNING ("could not decode pipe info from %s", filename);
-- return -EIO;
-+ buffer = av_malloc (buffer_size);
-+ if (buffer == NULL) {
-+ GST_WARNING ("Failed to allocate buffer");
-+ return -ENOMEM;
- }
-
-- /* sanity check */
-- g_return_val_if_fail (GST_IS_ADAPTER (ffpipe->adapter), -EINVAL);
--
-- h->priv_data = (void *) ffpipe;
-- h->is_streamed = TRUE;
-- h->max_packet_size = 0;
-+ *context =
-+ avio_alloc_context (buffer, buffer_size, flags, (void *) info,
-+ gst_ffmpegdata_read, gst_ffmpegdata_write, gst_ffmpegdata_seek);
-+ (*context)->seekable = AVIO_SEEKABLE_NORMAL;
-+ if (!(flags & AVIO_FLAG_WRITE)) {
-+ (*context)->buf_ptr = (*context)->buf_end;
-+ (*context)->write_flag = 0;
-+ }
-
- return 0;
- }
-
-+/* specialized protocol for cross-thread pushing,
-+ * based on ffmpeg's pipe protocol */
-+
- static int
--gst_ffmpeg_pipe_read (URLContext * h, unsigned char *buf, int size)
-+gst_ffmpeg_pipe_read (void *priv_data, unsigned char *buf, int size)
- {
- GstFFMpegPipe *ffpipe;
- const guint8 *data;
- guint available;
-
-- ffpipe = (GstFFMpegPipe *) h->priv_data;
-+ ffpipe = (GstFFMpegPipe *) priv_data;
-
- GST_LOG ("requested size %d", size);
-
-@@ -367,21 +314,38 @@
- return size;
- }
-
--static int
--gst_ffmpeg_pipe_close (URLContext * h)
-+int
-+gst_ffmpeg_pipe_close (AVIOContext * h)
- {
- GST_LOG ("Closing pipe");
-
-- h->priv_data = NULL;
-+ h->opaque = NULL;
-+ av_freep (&h->buffer);
-+ av_free (h);
-
- return 0;
- }
-
--URLProtocol gstpipe_protocol = {
-- "gstpipe",
-- gst_ffmpeg_pipe_open,
-- gst_ffmpeg_pipe_read,
-- NULL,
-- NULL,
-- gst_ffmpeg_pipe_close,
--};
-+int
-+gst_ffmpeg_pipe_open (GstFFMpegPipe * ffpipe, int flags, AVIOContext ** context)
-+{
-+ static const int buffer_size = 4096;
-+ unsigned char *buffer = NULL;
-+
-+ /* sanity check */
-+ g_return_val_if_fail (GST_IS_ADAPTER (ffpipe->adapter), -EINVAL);
-+
-+ buffer = av_malloc (buffer_size);
-+ if (buffer == NULL) {
-+ GST_WARNING ("Failed to allocate buffer");
-+ return -ENOMEM;
-+ }
-+
-+ *context =
-+ avio_alloc_context (buffer, buffer_size, 0, (void *) ffpipe,
-+ gst_ffmpeg_pipe_read, NULL, NULL);
-+ (*context)->seekable = 0;
-+ (*context)->buf_ptr = (*context)->buf_end;
-+
-+ return 0;
-+}
-diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegutils.c gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegutils.c
---- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegutils.c 2011-07-13 11:07:28.000000000 +0200
-+++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegutils.c 2014-08-08 15:34:04.007874626 +0200
-@@ -25,6 +25,11 @@
- #ifdef __APPLE__
- #include <sys/sysctl.h>
- #endif
-+#ifdef HAVE_FFMPEG_UNINSTALLED
-+#include <avformat.h>
-+#else
-+#include <libavformat/avformat.h>
-+#endif
-
- G_CONST_RETURN gchar *
- gst_ffmpeg_get_codecid_longname (enum CodecID codec_id)
-@@ -39,21 +44,21 @@
- }
-
- gint
--av_smp_format_depth (enum SampleFormat smp_fmt)
-+av_smp_format_depth (enum AVSampleFormat smp_fmt)
- {
- gint depth = -1;
- switch (smp_fmt) {
-- case SAMPLE_FMT_U8:
-+ case AV_SAMPLE_FMT_U8:
- depth = 1;
- break;
-- case SAMPLE_FMT_S16:
-+ case AV_SAMPLE_FMT_S16:
- depth = 2;
- break;
-- case SAMPLE_FMT_S32:
-- case SAMPLE_FMT_FLT:
-+ case AV_SAMPLE_FMT_S32:
-+ case AV_SAMPLE_FMT_FLT:
- depth = 4;
- break;
-- case SAMPLE_FMT_DBL:
-+ case AV_SAMPLE_FMT_DBL:
- depth = 8;
- break;
- default:
-diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegutils.c.orig gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegutils.c.orig
---- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegutils.c.orig 1970-01-01 01:00:00.000000000 +0100
-+++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegutils.c.orig 2011-07-13 11:07:28.000000000 +0200
-@@ -0,0 +1,483 @@
-+/* GStreamer
-+ * Copyright (c) 2009 Edward Hervey <bilboed@bilboed.com>
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Library General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2 of the License, or (at your option) any later version.
-+ *
-+ * This library 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
-+ * Library General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Library General Public
-+ * License along with this library; if not, write to the
-+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-+ * Boston, MA 02111-1307, USA.
-+ */
-+
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+#include "gstffmpegutils.h"
-+#include <unistd.h>
-+#ifdef __APPLE__
-+#include <sys/sysctl.h>
-+#endif
-+
-+G_CONST_RETURN gchar *
-+gst_ffmpeg_get_codecid_longname (enum CodecID codec_id)
-+{
-+ AVCodec *codec;
-+ /* Let's use what ffmpeg can provide us */
-+
-+ if ((codec = avcodec_find_decoder (codec_id)) ||
-+ (codec = avcodec_find_encoder (codec_id)))
-+ return codec->long_name;
-+ return NULL;
-+}
-+
-+gint
-+av_smp_format_depth (enum SampleFormat smp_fmt)
-+{
-+ gint depth = -1;
-+ switch (smp_fmt) {
-+ case SAMPLE_FMT_U8:
-+ depth = 1;
-+ break;
-+ case SAMPLE_FMT_S16:
-+ depth = 2;
-+ break;
-+ case SAMPLE_FMT_S32:
-+ case SAMPLE_FMT_FLT:
-+ depth = 4;
-+ break;
-+ case SAMPLE_FMT_DBL:
-+ depth = 8;
-+ break;
-+ default:
-+ GST_ERROR ("UNHANDLED SAMPLE FORMAT !");
-+ break;
-+ }
-+ return depth;
-+}
-+
-+
-+/*
-+ * Fill in pointers to memory in a AVPicture, where
-+ * everything is aligned by 4 (as required by X).
-+ * This is mostly a copy from imgconvert.c with some
-+ * small changes.
-+ */
-+
-+#define FF_COLOR_RGB 0 /* RGB color space */
-+#define FF_COLOR_GRAY 1 /* gray color space */
-+#define FF_COLOR_YUV 2 /* YUV color space. 16 <= Y <= 235, 16 <= U, V <= 240 */
-+#define FF_COLOR_YUV_JPEG 3 /* YUV color space. 0 <= Y <= 255, 0 <= U, V <= 255 */
-+
-+#define FF_PIXEL_PLANAR 0 /* each channel has one component in AVPicture */
-+#define FF_PIXEL_PACKED 1 /* only one components containing all the channels */
-+#define FF_PIXEL_PALETTE 2 /* one components containing indexes for a palette */
-+
-+typedef struct PixFmtInfo
-+{
-+ const char *name;
-+ uint8_t nb_channels; /* number of channels (including alpha) */
-+ uint8_t color_type; /* color type (see FF_COLOR_xxx constants) */
-+ uint8_t pixel_type; /* pixel storage type (see FF_PIXEL_xxx constants) */
-+ uint8_t is_alpha:1; /* true if alpha can be specified */
-+ uint8_t x_chroma_shift; /* X chroma subsampling factor is 2 ^ shift */
-+ uint8_t y_chroma_shift; /* Y chroma subsampling factor is 2 ^ shift */
-+ uint8_t depth; /* bit depth of the color components */
-+} PixFmtInfo;
-+
-+
-+/* this table gives more information about formats */
-+static PixFmtInfo pix_fmt_info[PIX_FMT_NB];
-+void
-+gst_ffmpeg_init_pix_fmt_info (void)
-+{
-+ /* YUV formats */
-+ pix_fmt_info[PIX_FMT_YUV420P].name = g_strdup ("yuv420p");
-+ pix_fmt_info[PIX_FMT_YUV420P].nb_channels = 3;
-+ pix_fmt_info[PIX_FMT_YUV420P].color_type = FF_COLOR_YUV;
-+ pix_fmt_info[PIX_FMT_YUV420P].pixel_type = FF_PIXEL_PLANAR;
-+ pix_fmt_info[PIX_FMT_YUV420P].depth = 8,
-+ pix_fmt_info[PIX_FMT_YUV420P].x_chroma_shift = 1,
-+ pix_fmt_info[PIX_FMT_YUV420P].y_chroma_shift = 1;
-+
-+ pix_fmt_info[PIX_FMT_YUV422P].name = g_strdup ("yuv422p");
-+ pix_fmt_info[PIX_FMT_YUV422P].nb_channels = 3;
-+ pix_fmt_info[PIX_FMT_YUV422P].color_type = FF_COLOR_YUV;
-+ pix_fmt_info[PIX_FMT_YUV422P].pixel_type = FF_PIXEL_PLANAR;
-+ pix_fmt_info[PIX_FMT_YUV422P].depth = 8;
-+ pix_fmt_info[PIX_FMT_YUV422P].x_chroma_shift = 1;
-+ pix_fmt_info[PIX_FMT_YUV422P].y_chroma_shift = 0;
-+
-+ pix_fmt_info[PIX_FMT_YUV444P].name = g_strdup ("yuv444p");
-+ pix_fmt_info[PIX_FMT_YUV444P].nb_channels = 3;
-+ pix_fmt_info[PIX_FMT_YUV444P].color_type = FF_COLOR_YUV;
-+ pix_fmt_info[PIX_FMT_YUV444P].pixel_type = FF_PIXEL_PLANAR;
-+ pix_fmt_info[PIX_FMT_YUV444P].depth = 8;
-+ pix_fmt_info[PIX_FMT_YUV444P].x_chroma_shift = 0;
-+ pix_fmt_info[PIX_FMT_YUV444P].y_chroma_shift = 0;
-+
-+ pix_fmt_info[PIX_FMT_YUYV422].name = g_strdup ("yuv422");
-+ pix_fmt_info[PIX_FMT_YUYV422].nb_channels = 1;
-+ pix_fmt_info[PIX_FMT_YUYV422].color_type = FF_COLOR_YUV;
-+ pix_fmt_info[PIX_FMT_YUYV422].pixel_type = FF_PIXEL_PACKED;
-+ pix_fmt_info[PIX_FMT_YUYV422].depth = 8;
-+ pix_fmt_info[PIX_FMT_YUYV422].x_chroma_shift = 1;
-+ pix_fmt_info[PIX_FMT_YUYV422].y_chroma_shift = 0;
-+
-+ pix_fmt_info[PIX_FMT_YUV410P].name = g_strdup ("yuv410p");
-+ pix_fmt_info[PIX_FMT_YUV410P].nb_channels = 3;
-+ pix_fmt_info[PIX_FMT_YUV410P].color_type = FF_COLOR_YUV;
-+ pix_fmt_info[PIX_FMT_YUV410P].pixel_type = FF_PIXEL_PLANAR;
-+ pix_fmt_info[PIX_FMT_YUV410P].depth = 8;
-+ pix_fmt_info[PIX_FMT_YUV410P].x_chroma_shift = 2;
-+ pix_fmt_info[PIX_FMT_YUV410P].y_chroma_shift = 2;
-+
-+ pix_fmt_info[PIX_FMT_YUV411P].name = g_strdup ("yuv411p");
-+ pix_fmt_info[PIX_FMT_YUV411P].nb_channels = 3;
-+ pix_fmt_info[PIX_FMT_YUV411P].color_type = FF_COLOR_YUV;
-+ pix_fmt_info[PIX_FMT_YUV411P].pixel_type = FF_PIXEL_PLANAR;
-+ pix_fmt_info[PIX_FMT_YUV411P].depth = 8;
-+ pix_fmt_info[PIX_FMT_YUV411P].x_chroma_shift = 2;
-+ pix_fmt_info[PIX_FMT_YUV411P].y_chroma_shift = 0;
-+
-+ /* JPEG YUV */
-+ pix_fmt_info[PIX_FMT_YUVJ420P].name = g_strdup ("yuvj420p");
-+ pix_fmt_info[PIX_FMT_YUVJ420P].nb_channels = 3;
-+ pix_fmt_info[PIX_FMT_YUVJ420P].color_type = FF_COLOR_YUV_JPEG;
-+ pix_fmt_info[PIX_FMT_YUVJ420P].pixel_type = FF_PIXEL_PLANAR;
-+ pix_fmt_info[PIX_FMT_YUVJ420P].depth = 8;
-+ pix_fmt_info[PIX_FMT_YUVJ420P].x_chroma_shift = 1;
-+ pix_fmt_info[PIX_FMT_YUVJ420P].y_chroma_shift = 1;
-+
-+ pix_fmt_info[PIX_FMT_YUVJ422P].name = g_strdup ("yuvj422p");
-+ pix_fmt_info[PIX_FMT_YUVJ422P].nb_channels = 3;
-+ pix_fmt_info[PIX_FMT_YUVJ422P].color_type = FF_COLOR_YUV_JPEG;
-+ pix_fmt_info[PIX_FMT_YUVJ422P].pixel_type = FF_PIXEL_PLANAR;
-+ pix_fmt_info[PIX_FMT_YUVJ422P].depth = 8;
-+ pix_fmt_info[PIX_FMT_YUVJ422P].x_chroma_shift = 1;
-+ pix_fmt_info[PIX_FMT_YUVJ422P].y_chroma_shift = 0;
-+
-+ pix_fmt_info[PIX_FMT_YUVJ444P].name = g_strdup ("yuvj444p");
-+ pix_fmt_info[PIX_FMT_YUVJ444P].nb_channels = 3;
-+ pix_fmt_info[PIX_FMT_YUVJ444P].color_type = FF_COLOR_YUV_JPEG;
-+ pix_fmt_info[PIX_FMT_YUVJ444P].pixel_type = FF_PIXEL_PLANAR;
-+ pix_fmt_info[PIX_FMT_YUVJ444P].depth = 8;
-+ pix_fmt_info[PIX_FMT_YUVJ444P].x_chroma_shift = 0;
-+ pix_fmt_info[PIX_FMT_YUVJ444P].y_chroma_shift = 0;
-+
-+ /* RGB formats */
-+ pix_fmt_info[PIX_FMT_RGB24].name = g_strdup ("rgb24");
-+ pix_fmt_info[PIX_FMT_RGB24].nb_channels = 3;
-+ pix_fmt_info[PIX_FMT_RGB24].color_type = FF_COLOR_RGB;
-+ pix_fmt_info[PIX_FMT_RGB24].pixel_type = FF_PIXEL_PACKED;
-+ pix_fmt_info[PIX_FMT_RGB24].depth = 8;
-+ pix_fmt_info[PIX_FMT_RGB24].x_chroma_shift = 0;
-+ pix_fmt_info[PIX_FMT_RGB24].y_chroma_shift = 0;
-+
-+ pix_fmt_info[PIX_FMT_BGR24].name = g_strdup ("bgr24");
-+ pix_fmt_info[PIX_FMT_BGR24].nb_channels = 3;
-+ pix_fmt_info[PIX_FMT_BGR24].color_type = FF_COLOR_RGB;
-+ pix_fmt_info[PIX_FMT_BGR24].pixel_type = FF_PIXEL_PACKED;
-+ pix_fmt_info[PIX_FMT_BGR24].depth = 8;
-+ pix_fmt_info[PIX_FMT_BGR24].x_chroma_shift = 0;
-+ pix_fmt_info[PIX_FMT_BGR24].y_chroma_shift = 0;
-+
-+ pix_fmt_info[PIX_FMT_RGB32].name = g_strdup ("rgba32");
-+ pix_fmt_info[PIX_FMT_RGB32].nb_channels = 4;
-+ pix_fmt_info[PIX_FMT_RGB32].is_alpha = 1;
-+ pix_fmt_info[PIX_FMT_RGB32].color_type = FF_COLOR_RGB;
-+ pix_fmt_info[PIX_FMT_RGB32].pixel_type = FF_PIXEL_PACKED;
-+ pix_fmt_info[PIX_FMT_RGB32].depth = 8;
-+ pix_fmt_info[PIX_FMT_RGB32].x_chroma_shift = 0;
-+ pix_fmt_info[PIX_FMT_RGB32].y_chroma_shift = 0;
-+
-+ pix_fmt_info[PIX_FMT_RGB565].name = g_strdup ("rgb565");
-+ pix_fmt_info[PIX_FMT_RGB565].nb_channels = 3;
-+ pix_fmt_info[PIX_FMT_RGB565].color_type = FF_COLOR_RGB;
-+ pix_fmt_info[PIX_FMT_RGB565].pixel_type = FF_PIXEL_PACKED;
-+ pix_fmt_info[PIX_FMT_RGB565].depth = 5;
-+ pix_fmt_info[PIX_FMT_RGB565].x_chroma_shift = 0;
-+ pix_fmt_info[PIX_FMT_RGB565].y_chroma_shift = 0;
-+
-+ pix_fmt_info[PIX_FMT_RGB555].name = g_strdup ("rgb555");
-+ pix_fmt_info[PIX_FMT_RGB555].nb_channels = 4;
-+ pix_fmt_info[PIX_FMT_RGB555].is_alpha = 1;
-+ pix_fmt_info[PIX_FMT_RGB555].color_type = FF_COLOR_RGB;
-+ pix_fmt_info[PIX_FMT_RGB555].pixel_type = FF_PIXEL_PACKED;
-+ pix_fmt_info[PIX_FMT_RGB555].depth = 5;
-+ pix_fmt_info[PIX_FMT_RGB555].x_chroma_shift = 0;
-+ pix_fmt_info[PIX_FMT_RGB555].y_chroma_shift = 0;
-+
-+ /* gray / mono formats */
-+ pix_fmt_info[PIX_FMT_GRAY8].name = g_strdup ("gray");
-+ pix_fmt_info[PIX_FMT_GRAY8].nb_channels = 1;
-+ pix_fmt_info[PIX_FMT_GRAY8].color_type = FF_COLOR_GRAY;
-+ pix_fmt_info[PIX_FMT_GRAY8].pixel_type = FF_PIXEL_PLANAR;
-+ pix_fmt_info[PIX_FMT_GRAY8].depth = 8;
-+
-+ pix_fmt_info[PIX_FMT_MONOWHITE].name = g_strdup ("monow");
-+ pix_fmt_info[PIX_FMT_MONOWHITE].nb_channels = 1;
-+ pix_fmt_info[PIX_FMT_MONOWHITE].color_type = FF_COLOR_GRAY;
-+ pix_fmt_info[PIX_FMT_MONOWHITE].pixel_type = FF_PIXEL_PLANAR;
-+ pix_fmt_info[PIX_FMT_MONOWHITE].depth = 1;
-+
-+ pix_fmt_info[PIX_FMT_MONOBLACK].name = g_strdup ("monob");
-+ pix_fmt_info[PIX_FMT_MONOBLACK].nb_channels = 1;
-+ pix_fmt_info[PIX_FMT_MONOBLACK].color_type = FF_COLOR_GRAY;
-+ pix_fmt_info[PIX_FMT_MONOBLACK].pixel_type = FF_PIXEL_PLANAR;
-+ pix_fmt_info[PIX_FMT_MONOBLACK].depth = 1;
-+
-+ /* paletted formats */
-+ pix_fmt_info[PIX_FMT_PAL8].name = g_strdup ("pal8");
-+ pix_fmt_info[PIX_FMT_PAL8].nb_channels = 4;
-+ pix_fmt_info[PIX_FMT_PAL8].is_alpha = 1;
-+ pix_fmt_info[PIX_FMT_PAL8].color_type = FF_COLOR_RGB;
-+ pix_fmt_info[PIX_FMT_PAL8].pixel_type = FF_PIXEL_PALETTE;
-+ pix_fmt_info[PIX_FMT_PAL8].depth = 8;
-+
-+ pix_fmt_info[PIX_FMT_YUVA420P].name = g_strdup ("yuva420p");
-+ pix_fmt_info[PIX_FMT_YUVA420P].nb_channels = 4;
-+ pix_fmt_info[PIX_FMT_YUVA420P].is_alpha = 1;
-+ pix_fmt_info[PIX_FMT_YUVA420P].color_type = FF_COLOR_YUV;
-+ pix_fmt_info[PIX_FMT_YUVA420P].pixel_type = FF_PIXEL_PLANAR;
-+ pix_fmt_info[PIX_FMT_YUVA420P].depth = 8,
-+ pix_fmt_info[PIX_FMT_YUVA420P].x_chroma_shift = 1,
-+ pix_fmt_info[PIX_FMT_YUVA420P].y_chroma_shift = 1;
-+};
-+
-+int
-+gst_ffmpeg_avpicture_get_size (int pix_fmt, int width, int height)
-+{
-+ AVPicture dummy_pict;
-+
-+ return gst_ffmpeg_avpicture_fill (&dummy_pict, NULL, pix_fmt, width, height);
-+}
-+
-+#define GEN_MASK(x) ((1<<(x))-1)
-+#define ROUND_UP_X(v,x) (((v) + GEN_MASK(x)) & ~GEN_MASK(x))
-+#define ROUND_UP_2(x) ROUND_UP_X (x, 1)
-+#define ROUND_UP_4(x) ROUND_UP_X (x, 2)
-+#define ROUND_UP_8(x) ROUND_UP_X (x, 3)
-+#define DIV_ROUND_UP_X(v,x) (((v) + GEN_MASK(x)) >> (x))
-+
-+int
-+gst_ffmpeg_avpicture_fill (AVPicture * picture,
-+ uint8_t * ptr, enum PixelFormat pix_fmt, int width, int height)
-+{
-+ int size, w2, h2, size2;
-+ int stride, stride2;
-+ PixFmtInfo *pinfo;
-+
-+ pinfo = &pix_fmt_info[pix_fmt];
-+
-+ switch (pix_fmt) {
-+ case PIX_FMT_YUV420P:
-+ case PIX_FMT_YUV422P:
-+ case PIX_FMT_YUV444P:
-+ case PIX_FMT_YUV410P:
-+ case PIX_FMT_YUV411P:
-+ case PIX_FMT_YUVJ420P:
-+ case PIX_FMT_YUVJ422P:
-+ case PIX_FMT_YUVJ444P:
-+ stride = ROUND_UP_4 (width);
-+ h2 = ROUND_UP_X (height, pinfo->y_chroma_shift);
-+ size = stride * h2;
-+ w2 = DIV_ROUND_UP_X (width, pinfo->x_chroma_shift);
-+ stride2 = ROUND_UP_4 (w2);
-+ h2 = DIV_ROUND_UP_X (height, pinfo->y_chroma_shift);
-+ size2 = stride2 * h2;
-+ picture->data[0] = ptr;
-+ picture->data[1] = picture->data[0] + size;
-+ picture->data[2] = picture->data[1] + size2;
-+ picture->data[3] = NULL;
-+ picture->linesize[0] = stride;
-+ picture->linesize[1] = stride2;
-+ picture->linesize[2] = stride2;
-+ picture->linesize[3] = 0;
-+ GST_DEBUG ("planes %d %d %d", 0, size, size + size2);
-+ GST_DEBUG ("strides %d %d %d", stride, stride2, stride2);
-+ return size + 2 * size2;
-+ case PIX_FMT_YUVA420P:
-+ stride = ROUND_UP_4 (width);
-+ h2 = ROUND_UP_X (height, pinfo->y_chroma_shift);
-+ size = stride * h2;
-+ w2 = DIV_ROUND_UP_X (width, pinfo->x_chroma_shift);
-+ stride2 = ROUND_UP_4 (w2);
-+ h2 = DIV_ROUND_UP_X (height, pinfo->y_chroma_shift);
-+ size2 = stride2 * h2;
-+ picture->data[0] = ptr;
-+ picture->data[1] = picture->data[0] + size;
-+ picture->data[2] = picture->data[1] + size2;
-+ picture->data[3] = picture->data[2] + size2;
-+ picture->linesize[0] = stride;
-+ picture->linesize[1] = stride2;
-+ picture->linesize[2] = stride2;
-+ picture->linesize[3] = stride;
-+ GST_DEBUG ("planes %d %d %d %d", 0, size, size + size2, size + 2 * size2);
-+ GST_DEBUG ("strides %d %d %d %d", stride, stride2, stride2, stride);
-+ return 2 * size + 2 * size2;
-+ case PIX_FMT_RGB24:
-+ case PIX_FMT_BGR24:
-+ stride = ROUND_UP_4 (width * 3);
-+ size = stride * height;
-+ picture->data[0] = ptr;
-+ picture->data[1] = NULL;
-+ picture->data[2] = NULL;
-+ picture->data[3] = NULL;
-+ picture->linesize[0] = stride;
-+ picture->linesize[1] = 0;
-+ picture->linesize[2] = 0;
-+ picture->linesize[3] = 0;
-+ return size;
-+ /*case PIX_FMT_AYUV4444:
-+ case PIX_FMT_BGR32:
-+ case PIX_FMT_BGRA32:
-+ case PIX_FMT_RGB32: */
-+ case PIX_FMT_RGB32:
-+ stride = width * 4;
-+ size = stride * height;
-+ picture->data[0] = ptr;
-+ picture->data[1] = NULL;
-+ picture->data[2] = NULL;
-+ picture->data[3] = NULL;
-+ picture->linesize[0] = stride;
-+ picture->linesize[1] = 0;
-+ picture->linesize[2] = 0;
-+ picture->linesize[3] = 0;
-+ return size;
-+ case PIX_FMT_RGB555:
-+ case PIX_FMT_RGB565:
-+ case PIX_FMT_YUYV422:
-+ case PIX_FMT_UYVY422:
-+ stride = ROUND_UP_4 (width * 2);
-+ size = stride * height;
-+ picture->data[0] = ptr;
-+ picture->data[1] = NULL;
-+ picture->data[2] = NULL;
-+ picture->data[3] = NULL;
-+ picture->linesize[0] = stride;
-+ picture->linesize[1] = 0;
-+ picture->linesize[2] = 0;
-+ picture->linesize[3] = 0;
-+ return size;
-+ case PIX_FMT_UYYVYY411:
-+ /* FIXME, probably not the right stride */
-+ stride = ROUND_UP_4 (width);
-+ size = stride * height;
-+ picture->data[0] = ptr;
-+ picture->data[1] = NULL;
-+ picture->data[2] = NULL;
-+ picture->data[3] = NULL;
-+ picture->linesize[0] = width + width / 2;
-+ picture->linesize[1] = 0;
-+ picture->linesize[2] = 0;
-+ picture->linesize[3] = 0;
-+ return size + size / 2;
-+ case PIX_FMT_GRAY8:
-+ stride = ROUND_UP_4 (width);
-+ size = stride * height;
-+ picture->data[0] = ptr;
-+ picture->data[1] = NULL;
-+ picture->data[2] = NULL;
-+ picture->data[3] = NULL;
-+ picture->linesize[0] = stride;
-+ picture->linesize[1] = 0;
-+ picture->linesize[2] = 0;
-+ picture->linesize[3] = 0;
-+ return size;
-+ case PIX_FMT_MONOWHITE:
-+ case PIX_FMT_MONOBLACK:
-+ stride = ROUND_UP_4 ((width + 7) >> 3);
-+ size = stride * height;
-+ picture->data[0] = ptr;
-+ picture->data[1] = NULL;
-+ picture->data[2] = NULL;
-+ picture->data[3] = NULL;
-+ picture->linesize[0] = stride;
-+ picture->linesize[1] = 0;
-+ picture->linesize[2] = 0;
-+ picture->linesize[3] = 0;
-+ return size;
-+ case PIX_FMT_PAL8:
-+ /* already forced to be with stride, so same result as other function */
-+ stride = ROUND_UP_4 (width);
-+ size = stride * height;
-+ picture->data[0] = ptr;
-+ picture->data[1] = ptr + size; /* palette is stored here as 256 32 bit words */
-+ picture->data[2] = NULL;
-+ picture->data[3] = NULL;
-+ picture->linesize[0] = stride;
-+ picture->linesize[1] = 4;
-+ picture->linesize[2] = 0;
-+ picture->linesize[3] = 0;
-+ return size + 256 * 4;
-+ default:
-+ picture->data[0] = NULL;
-+ picture->data[1] = NULL;
-+ picture->data[2] = NULL;
-+ picture->data[3] = NULL;
-+ return -1;
-+ }
-+
-+ return 0;
-+}
-+
-+/* Create a GstBuffer of the requested size and caps.
-+ * The memory will be allocated by ffmpeg, making sure it's properly aligned
-+ * for any processing. */
-+
-+GstBuffer *
-+new_aligned_buffer (gint size, GstCaps * caps)
-+{
-+ GstBuffer *buf;
-+
-+ buf = gst_buffer_new ();
-+ GST_BUFFER_DATA (buf) = GST_BUFFER_MALLOCDATA (buf) = av_malloc (size);
-+ GST_BUFFER_SIZE (buf) = size;
-+ GST_BUFFER_FREE_FUNC (buf) = av_free;
-+ if (caps)
-+ gst_buffer_set_caps (buf, caps);
-+
-+ return buf;
-+}
-+
-+int
-+gst_ffmpeg_auto_max_threads (void)
-+{
-+ static gsize n_threads = 0;
-+ if (g_once_init_enter (&n_threads)) {
-+ int n = 1;
-+#if defined(_WIN32)
-+ {
-+ const char *s = getenv ("NUMBER_OF_PROCESSORS");
-+ if (s) {
-+ n = atoi (s);
-+ }
-+ }
-+#elif defined(__APPLE__)
-+ {
-+ int mib[] = { CTL_HW, HW_NCPU };
-+ size_t dataSize = sizeof (int);
-+
-+ if (sysctl (mib, 2, &n_threads, &dataSize, NULL, 0)) {
-+ n = 1;
-+ }
-+ }
-+#else
-+ n = sysconf (_SC_NPROCESSORS_CONF);
-+#endif
-+ if (n < 1)
-+ n = 1;
-+
-+ g_once_init_leave (&n_threads, n);
-+ }
-+
-+ return (int) (n_threads);
-+}
-diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegutils.h gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegutils.h
---- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegutils.h 2011-11-02 14:04:05.000000000 +0100
-+++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegutils.h 2014-08-08 15:34:04.007874626 +0200
-@@ -23,6 +23,7 @@
- #ifdef HAVE_FFMPEG_UNINSTALLED
- #include <avcodec.h>
- #else
-+#include <libavutil/mathematics.h>
- #include <libavcodec/avcodec.h>
- #endif
- #include <gst/gst.h>
-@@ -87,7 +88,7 @@
- gst_ffmpeg_get_codecid_longname (enum CodecID codec_id);
-
- gint
--av_smp_format_depth(enum SampleFormat smp_fmt);
-+av_smp_format_depth(enum AVSampleFormat smp_fmt);
-
- GstBuffer *
- new_aligned_buffer (gint size, GstCaps * caps);
-diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegutils.h.orig gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegutils.h.orig
---- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegutils.h.orig 1970-01-01 01:00:00.000000000 +0100
-+++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegutils.h.orig 2014-08-08 15:26:38.473858652 +0200
-@@ -0,0 +1,95 @@
-+/* GStreamer
-+ * Copyright (C) <2009> Edward Hervey <bilboed@bilboed.com>
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Library General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2 of the License, or (at your option) any later version.
-+ *
-+ * This library 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
-+ * Library General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Library General Public
-+ * License along with this library; if not, write to the
-+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-+ * Boston, MA 02111-1307, USA.
-+ */
-+
-+#ifndef __GST_FFMPEG_UTILS_H__
-+#define __GST_FFMPEG_UTILS_H__
-+
-+#ifdef HAVE_FFMPEG_UNINSTALLED
-+#include <avcodec.h>
-+#else
-+#include <libavcodec/avcodec.h>
-+#endif
-+#include <gst/gst.h>
-+
-+/*
-+ *Get the size of an picture
-+ */
-+int
-+gst_ffmpeg_avpicture_get_size (int pix_fmt, int width, int height);
-+
-+/*
-+ * Fill in pointers in an AVPicture, aligned by 4 (required by X).
-+ */
-+
-+int
-+gst_ffmpeg_avpicture_fill (AVPicture * picture,
-+ uint8_t * ptr,
-+ enum PixelFormat pix_fmt,
-+ int width,
-+ int height);
-+
-+/*
-+ * Convert from/to a GStreamer <-> FFMpeg timestamp.
-+ */
-+static inline guint64
-+gst_ffmpeg_time_ff_to_gst (gint64 pts, AVRational base)
-+{
-+ guint64 out;
-+
-+ if (pts == AV_NOPTS_VALUE){
-+ out = GST_CLOCK_TIME_NONE;
-+ } else {
-+ AVRational bq = { 1, GST_SECOND };
-+ out = av_rescale_q (pts, base, bq);
-+ }
-+
-+ return out;
-+}
-+
-+static inline gint64
-+gst_ffmpeg_time_gst_to_ff (guint64 time, AVRational base)
-+{
-+ gint64 out;
-+
-+ if (!GST_CLOCK_TIME_IS_VALID (time) || base.num == 0) {
-+ out = AV_NOPTS_VALUE;
-+ } else {
-+ AVRational bq = { 1, GST_SECOND };
-+ out = av_rescale_q (time, bq, base);
-+ }
-+
-+ return out;
-+}
-+
-+void
-+gst_ffmpeg_init_pix_fmt_info(void);
-+
-+int
-+gst_ffmpeg_auto_max_threads(void);
-+
-+G_CONST_RETURN gchar *
-+gst_ffmpeg_get_codecid_longname (enum CodecID codec_id);
-+
-+gint
-+av_smp_format_depth(enum AVSampleFormat smp_fmt);
-+
-+GstBuffer *
-+new_aligned_buffer (gint size, GstCaps * caps);
-+
-+#endif /* __GST_FFMPEG_UTILS_H__ */
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/libav_e500mc.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/libav_e500mc.patch
deleted file mode 100644
index eba498803..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/libav_e500mc.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/gst-libs/ext/libav/configure b/gst-libs/ext/libav/configure
-index 8473069..4f74952 100755
---- a/gst-libs/ext/libav/configure
-+++ b/gst-libs/ext/libav/configure
-Fix gst-ffmpeg build issues for libav on e500mc (fsl-p4080)
-
-Upstream-Status: Backport
-
-Signed-off-by: Yao Zhao <yao.zhao@windriver.com>
-
-@@ -2210,6 +2210,10 @@ elif enabled ppc; then
- cpuflags="-mcpu=cell"
- enable ldbrx
- ;;
-+ e500mc)
-+ cpuflags="-mcpu=e500mc"
-+ disable altivec
-+ ;;
- e500v2)
- cpuflags="-mcpu=8548 -mhard-float -mfloat-gprs=double"
- disable altivec
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/libav_e5500.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/libav_e5500.patch
deleted file mode 100644
index d9ea2c29e..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/libav_e5500.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-libav: Add configs for ppc e5500
-
-Upstream-Status: Pending
-
-Signed-off-by: Jesse Zhang <sen.zhang@windriver.com>
-
---- gst-ffmpeg-0.10.13/gst-libs/ext/libav/configure 2013-06-20 05:18:36.073104964 -0400
-+++ gst-ffmpeg-0.10.13/gst-libs/ext/libav/configure 2013-06-20 05:18:38.269104150 -0400
-@@ -2222,6 +2222,10 @@
- cpuflags="-mcpu=8540 -mhard-float"
- disable altivec
- ;;
-+ e5500)
-+ cpuflags="-mcpu=e5500 -mhard-float"
-+ disable altivec
-+ ;;
- esac
-
- elif enabled x86; then
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg_0.10.13.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg_0.10.13.bb
deleted file mode 100644
index ca19fd69b..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg_0.10.13.bb
+++ /dev/null
@@ -1,103 +0,0 @@
-SUMMARY = "FFmpeg-based GStreamer plug-in"
-SECTION = "multimedia"
-LICENSE = "GPLv2+ & LGPLv2+ & ( (GPLv2+ & LGPLv2.1+) | (GPLv3+ & LGPLv3+) )"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://ext/libpostproc/gstpostproc.c;beginline=1;endline=18;md5=5896e445e41681324381f5869ee33d38 \
- file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605 \
- file://ext/ffmpeg/gstffmpeg.h;beginline=1;endline=18;md5=ff65467b0c53cdfa98d0684c1bc240a9 \
- file://gst-libs/ext/libav/LICENSE;md5=abc3b8cb02856aa7823bbbd162d16232 \
- file://gst-libs/ext/libav/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://gst-libs/ext/libav/COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
- file://gst-libs/ext/libav/COPYING.LGPLv2.1;md5=e344c8fa836c3a41c4cbd79d7bd3a379 \
- file://gst-libs/ext/libav/COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02"
-LICENSE_FLAGS = "commercial"
-HOMEPAGE = "http://www.gstreamer.net/"
-DEPENDS = "gstreamer gst-plugins-base zlib bzip2 yasm-native libpostproc"
-
-inherit autotools-brokensep pkgconfig
-
-SRC_URI = "http://gstreamer.freedesktop.org/src/${BPN}/${BPN}-${PV}.tar.bz2 \
- file://lower-rank.diff \
- file://configure-fix.patch \
- file://h264_qpel_mmx.patch \
- file://libav_e500mc.patch \
- file://libav_e5500.patch \
- file://gst-ffmpeg-CVE-2013-3674.patch \
- file://0001-avformat-mpegtsenc-Check-data-array-size-in-mpegts_w.patch \
- file://0001-vqavideo-check-chunk-sizes-before-reading-chunks.patch \
- file://0001-avcodec-msrle-use-av_image_get_linesize-to-calculate.patch \
- file://0001-huffyuvdec-Skip-len-0-cases.patch \
- file://0001-huffyuvdec-Check-init_vlc-return-codes.patch \
- file://0001-alsdec-check-block-length.patch \
- file://0001-pgssubdec-check-RLE-size-before-copying.-Fix-out-of-.patch \
- file://0001-atrac3dec-Check-coding-mode-against-channels.patch \
- file://0001-eamad-fix-out-of-array-accesses.patch \
- file://0001-mjpegdec-check-SE.patch \
- file://0001-alac-fix-nb_samples-order-case.patch \
- file://0001-h264-correct-ref-count-check-and-limit-fix-out-of-ar.patch \
- file://0001-roqvideodec-check-dimensions-validity.patch \
- file://0001-aacdec-check-channel-count.patch \
- file://0001-pngdec-filter-dont-access-out-of-array-elements-at-t.patch \
- file://0001-error_concealment-Check-that-the-picture-is-not-in-a.patch \
- file://0001-vp3-fix-oob-read-for-negative-tokens-and-memleaks-on.patch \
- file://0001-vp3-Copy-all-3-frames-for-thread-updates.patch \
- file://0001-h264_sei-Fix-infinite-loop.patch \
- file://0001-avcodec-parser-reset-indexes-on-realloc-failure.patch \
- file://0001-avcodec-rpza-Perform-pointer-advance-and-checks-befo.patch \
- file://gst-ffmpeg-CVE-2013-0855.patch \
- file://0001-qdm2dec-fix-buffer-overflow.patch \
- file://0001-smackerdec-Check-that-the-last-indexes-are-within-th.patch \
- file://0001-avcodec-dsputil-fix-signedness-in-sizeof-comparissio.patch \
- file://0001-error-concealment-initialize-block-index.patch \
- file://0001-qdm2-check-array-index-before-use-fix-out-of-array-a.patch \
- file://0001-lavf-compute-probe-buffer-size-more-reliably.patch \
- file://0001-ffserver-set-oformat.patch \
- file://0001-h264-set-parameters-from-SPS-whenever-it-changes.patch \
- file://0001-h264-skip-error-concealment-when-SPS-and-slices-are-.patch \
- file://0001-avcodec-smc-fix-off-by-1-error.patch \
- file://0002-avcodec-mjpegdec-check-bits-per-pixel-for-changes-si.patch \
- file://libav-9.patch \
- file://gst-ffmpeg-fix-CVE-2011-4352.patch \
- file://gst-ffmpeg-fix-CVE-2014-7933.patch \
- file://gst-ffmpeg-fix-CVE-2014-8542.patch \
- file://gst-ffmpeg-fix-CVE-2014-8543.patch \
- file://gst-ffmpeg-fix-CVE-2014-8544.patch \
- file://gst-ffmpeg-fix-CVE-2014-8545.patch \
- file://gst-ffmpeg-fix-CVE-2014-8546.patch \
- file://gst-ffmpeg-fix-CVE-2014-8547.patch \
- file://gst-ffmpeg-fix-CVE-2014-9318.patch \
- file://gst-ffmpeg-fix-CVE-2014-9603.patch \
-"
-
-SRC_URI[md5sum] = "7f5beacaf1312db2db30a026b36888c4"
-SRC_URI[sha256sum] = "76fca05b08e00134e3cb92fa347507f42cbd48ddb08ed3343a912def187fbb62"
-
-PR = "r8"
-
-GSTREAMER_DEBUG ?= "--disable-debug"
-
-FFMPEG_EXTRA_CONFIGURE = "--with-ffmpeg-extra-configure"
-# pass --cpu for powerpc. get cpu name by stripping "ppc" or "ppc64"
-# from DEFAULTTUNE
-FFMPEG_CPU_powerpc = "--cpu=${@d.getVar('DEFAULTTUNE', False)[3:]}"
-FFMPEG_CPU_powerpc64 = "--cpu=${@d.getVar('DEFAULTTUNE', False)[5:]}"
-FFMPEG_EXTRA_CONFIGURE_COMMON_ARG = "--target-os=linux ${FFMPEG_CPU} \
- --cc='${CC}' --as='${CC}' --ld='${CC}' --nm='${NM}' --ar='${AR}' \
- --ranlib='${RANLIB}' \
- ${GSTREAMER_DEBUG}"
-FFMPEG_EXTRA_CONFIGURE_COMMON = \
-'${FFMPEG_EXTRA_CONFIGURE}="${FFMPEG_EXTRA_CONFIGURE_COMMON_ARG}"'
-
-EXTRA_OECONF = "${FFMPEG_EXTRA_CONFIGURE_COMMON}"
-
-PACKAGECONFIG ??= "external-libav"
-PACKAGECONFIG[external-libav] = "--with-system-ffmpeg,,libav"
-PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc"
-
-FILES_${PN} += "${libdir}/gstreamer-0.10/*.so"
-FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug"
-FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.la"
-FILES_${PN}-staticdev += "${libdir}/gstreamer-0.10/*.a"
-
-# http://errors.yoctoproject.org/Errors/Details/40736/
-PNBLACKLIST[gst-ffmpeg] ?= "Not compatible with currently used ffmpeg 3 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-meta-base_0.10.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-meta-base_0.10.bb
index 039abe14f..88f1abf68 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-meta-base_0.10.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-meta-base_0.10.bb
@@ -6,7 +6,7 @@ DEPENDS_UGLY="${@'gst-plugins-ugly' if 'ugly' in COMMERCIAL_PLUGINS.split('-') e
DEPENDS_BAD="${@'gst-plugins-bad' if 'bad' in COMMERCIAL_PLUGINS.split('-') else ''}"
DEPENDS = "gstreamer gst-plugins-base gst-plugins-good ${DEPENDS_UGLY} ${DEPENDS_BAD}"
-LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302 \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl/rpi-egl-gles2-dep.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl/rpi-egl-gles2-dep.patch
new file mode 100644
index 000000000..7db1c5afc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl/rpi-egl-gles2-dep.patch
@@ -0,0 +1,22 @@
+Check for header and library separately and check for GLESv2 before egl
+this is to overcome an annoying issue with rpi/userland where egl depends
+on sysmbols from libGLESv2
+
+-Khem
+Index: gst-plugins-gl-0.10.3/configure.ac
+===================================================================
+--- gst-plugins-gl-0.10.3.orig/configure.ac
++++ gst-plugins-gl-0.10.3/configure.ac
+@@ -183,8 +183,10 @@ case $host in
+ else
+ AC_CHECK_HEADERS([EGL/egl.h], [HAVE_EGL=yes], [HAVE_EGL=no])
+ if test "x$HAVE_EGL" = "xyes"; then
+- AG_GST_CHECK_LIBHEADER(EGL, EGL, eglGetError,, EGL/egl.h,, AC_MSG_ERROR([EGL is required]))
+- AG_GST_CHECK_LIBHEADER(GLES2, GLESv2, glTexImage2D,, GLES2/gl2.h,, AC_MSG_ERROR([OpenGLES2 is required]))
++ AC_CHECK_HEADERS([GLES2/gl2.h],, AC_MSG_ERROR([OpenGLES2 is required]))
++ AC_CHECK_LIB(GLESv2,[glTexImage2D],, AC_MSG_ERROR([OpenGLES2 is required]))
++ AC_CHECK_HEADERS([EGL/egl.h],, AC_MSG_ERROR([EGL is required]))
++ AC_CHECK_LIB(EGL,[eglGetError],, AC_MSG_ERROR([EGL is required]))
+ GL_LIBS="$LIBS $X_LIBS -lEGL -lGLESv2"
+ GL_BACKEND=x11ES2
+ GL_TYPE=gles
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl_0.10.3.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl_0.10.3.bb
index 6859f338e..f3eaf3094 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl_0.10.3.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl_0.10.3.bb
@@ -6,13 +6,17 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"
SRC_URI[md5sum] = "ac70ede13f79978d56eaed8abaa3c938"
SRC_URI[sha256sum] = "48340b6a4b8abce16344a7bc33e74a94fdcce4f57ef6342cdf2f941c429bf210"
-SRC_URI += " file://0001-conditional-gl-framebuffer-undefined-use.patch"
+SRC_URI += " file://0001-conditional-gl-framebuffer-undefined-use.patch \
+ file://rpi-egl-gles2-dep.patch \
+"
DEPENDS += "gst-plugins-base virtual/libgles2 virtual/egl jpeg libpng glew"
PR = "r4"
-inherit gettext
+inherit gettext distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "opengl"
# This package doesn't have a configure switch for EGL or GL, so forcibly tell
# configure that it can't find gl.h so it always uses EGL. If/when we have some
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer/files/display.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer/files/display.patch
deleted file mode 100644
index 61b0e6c87..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer/files/display.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 3e46d2e501da68d929bb5f26900a292a5fc04a1f Mon Sep 17 00:00:00 2001
-From: Stefan Westerfeld <stefan@space.twc.de>
-Date: Mon, 23 Apr 2012 03:10:22 +0200
-Subject: [PATCH] Fix time display updates (broken by introduction of quiet
- mode).
-
----
- src/gst123.cc | 1 +
- src/msg.cc | 7 +++++++
- src/msg.h | 1 +
- 3 files changed, 9 insertions(+)
-
-diff --git a/src/gst123.cc b/src/gst123.cc
-index 20e91e5..ce5876d 100644
---- a/src/gst123.cc
-+++ b/src/gst123.cc
-@@ -640,6 +640,7 @@ cb_print_position (gpointer *data)
- else
- blanks += " ";
- Msg::print ("%s%s\r", status.c_str(), blanks.c_str());
-+ Msg::flush();
- }
-
- /* call me again */
-diff --git a/src/msg.cc b/src/msg.cc
-index 547cd90..33cada2 100644
---- a/src/msg.cc
-+++ b/src/msg.cc
-@@ -41,6 +41,13 @@ print (const char *format, ...)
- }
- }
-
-+void
-+flush()
-+{
-+ if (!Options::the().quiet)
-+ fflush (stdout);
-+}
-+
- }
-
- }
-diff --git a/src/msg.h b/src/msg.h
-index e0ced24..5bebac0 100644
---- a/src/msg.h
-+++ b/src/msg.h
-@@ -27,6 +27,7 @@ namespace Msg
- {
-
- void print (const char *format, ...);
-+void flush();
-
- }
-
---
-1.7.9.5
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer/gst123_0.3.1.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer/gst123_0.3.1.bb
deleted file mode 100644
index 9fe1bc6b6..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer/gst123_0.3.1.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Flexible CLI player in the spirit of mpg123, based on GStreamer"
-HOMEPAGE = "http://space.twc.de/~stefan/gst123.php"
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
- file://src/gst123.cc;beginline=1;endline=19;md5=05d2f5d54b985b986c26af931d2084f8"
-
-DEPENDS = "libx11 gstreamer gst-plugins-base gtk+ ncurses"
-
-SRC_URI = "http://space.twc.de/~stefan/gst123/${BPN}-${PV}.tar.bz2 \
- file://display.patch"
-
-SRC_URI[md5sum] = "1e77767c9d6fecee5641f95804f160fe"
-SRC_URI[sha256sum] = "89d1de025eca0466c125dcd6a11b64341bdf98ee4c03c3e5a12321d77cb8b0ce"
-
-inherit autotools
-
-PNBLACKLIST[gst123] ?= "gst123 is still "sometimes" using wrong sysroot - the recipe will be removed on 2017-09-01 unless the issue is fixed"
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
index 6f696e26f..63ed9e90e 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer.inc
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer.inc
@@ -3,19 +3,19 @@ DESCRIPTION = "Projucer is used to build and generate support files and build in
JUCE supported platforms, including Linux and Embedded Linux."
SECTION = "utils"
HOMEPAGE = "http://juce.com/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://README.txt;md5=9ab765ccda8890efc753f287911a1958"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://README.md;md5=65c50b4ff3522b99436da100536ccd1c"
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}"
+SRCREV = "4f41f28b47d01b939559123d145b4e5860528bb7"
+BRANCH = "master"
+SRC_URI = "git://github.com/WeAreROLI/JUCE.git;protocol=https;branch=${BRANCH}"
S = "${WORKDIR}/git"
-PV = "4.2.3+git${SRCPV}"
+PV = "5.0.1"
JUCE_PROJUCER_BUILD_PATH = "${B}/extras/Projucer/Builds"
JUCE_PROJUCER_MAKEFILE_PATH = "${JUCE_PROJUCER_BUILD_PATH}/LinuxMakefile"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.21.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.21.bb
index c16f3be77..2eb21a369 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.21.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.21.bb
@@ -36,9 +36,12 @@ DEPENDS += " \
dbus \
expat \
zlib \
- libupnp \
+ libupnp1.6 \
"
+# While this item does not require it, it depends on mpg123 which does
+LICENSE_FLAGS = "commercial"
+
SRC_URI = " \
http://www.musicpd.org/download/${BPN}/0.19/${BP}.tar.xz \
file://mpd.conf.in \
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb
index e115f1c18..3eb1856e0 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb
@@ -6,6 +6,9 @@ SECTION = "audio"
DEPENDS = "libpng ffmpeg libsndfile1 libvorbis"
+# While this item does not require it, it depends on ffmpeg which does
+LICENSE_FLAGS = "commercial"
+
PR = "r2"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio', d)} \
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/streamripper/streamripper_1.64.6.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/streamripper/streamripper_1.64.6.bb
index 94355b64d..722815ab6 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/streamripper/streamripper_1.64.6.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/streamripper/streamripper_1.64.6.bb
@@ -6,6 +6,9 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
DEPENDS = "glib-2.0 libmad libogg libvorbis"
+# While this item does not require it, it depends on libmad which does
+LICENSE_FLAGS = "commercial"
+
SRC_URI = "\
${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \
file://0001-build-these-are-foreign-automake-projects.patch \
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 087baab87..acb3ccd1d 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
@@ -13,6 +13,9 @@ DEPENDS = "libfribidi libtool libgcrypt libgcrypt-native \
libmtp libopus orc libsamplerate0 libusb1 schroedinger taglib \
tiff"
+# While this item does not require it, it depends on ffmpeg which does
+LICENSE_FLAGS = "commercial"
+
SRC_URI = "http://download.videolan.org/pub/videolan/${BPN}/${PV}/${BP}.tar.xz"
inherit autotools gettext pkgconfig distro_features_check
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0001-build-Protect-against-unsupported-CPU-types.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0001-build-Protect-against-unsupported-CPU-types.patch
new file mode 100644
index 000000000..7668df35d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0001-build-Protect-against-unsupported-CPU-types.patch
@@ -0,0 +1,29 @@
+From 4945dca11bc4ddec60bd858f45212dc8f39638e0 Mon Sep 17 00:00:00 2001
+From: Nicolas Dufresne <nicolas.dufresne@collabora.com>
+Date: Tue, 5 Jul 2016 18:07:45 -0400
+Subject: [PATCH 1/6] build: Protect against unsupported CPU types
+
+Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
+Upstream-Status: Accepted [expected in 0.4]
+---
+ configure.ac | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 6f9553b..f5304b8 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -70,8 +70,9 @@ AS_CASE(["${host_cpu}"],
+ [
+ HAVE_ARM=1
+ ARCH_CFLAGS="-DWEBRTC_ARCH_ARM"
+- ]
++ ],
+ # FIXME: Add MIPS support, see webrtc/BUILD.gn for defines
++ [AC_MSG_ERROR([Unsupported CPU type $host_cpu])]
+ )
+ AM_CONDITIONAL(HAVE_X86, [test "x${HAVE_X86}" = "x1"])
+ AM_CONDITIONAL(HAVE_ARM, [test "x${HAVE_ARM}" = "x1"])
+--
+2.11.0
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0002-build-Add-ARM-64bit-support.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0002-build-Add-ARM-64bit-support.patch
new file mode 100644
index 000000000..2e202b03c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0002-build-Add-ARM-64bit-support.patch
@@ -0,0 +1,30 @@
+From b5bda3431159b6505dcd069641c863018c4d4309 Mon Sep 17 00:00:00 2001
+From: Nicolas Dufresne <nicolas.dufresne@collabora.com>
+Date: Wed, 6 Jul 2016 15:18:15 -0400
+Subject: [PATCH 2/6] build: Add ARM 64bit support
+
+Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
+Upstream-Status: Accepted [expected in 0.4]
+---
+ configure.ac | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index f5304b8..be20514 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -71,6 +71,11 @@ AS_CASE(["${host_cpu}"],
+ HAVE_ARM=1
+ ARCH_CFLAGS="-DWEBRTC_ARCH_ARM"
+ ],
++ [aarch64*],
++ [
++ HAVE_NEON=1
++ ARCH_CFLAGS="-DWEBRTC_HAS_NEON -DWEBRTC_ARCH_ARM64"
++ ],
+ # FIXME: Add MIPS support, see webrtc/BUILD.gn for defines
+ [AC_MSG_ERROR([Unsupported CPU type $host_cpu])]
+ )
+--
+2.11.0
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0003-build-fix-architecture-detection.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0003-build-fix-architecture-detection.patch
new file mode 100644
index 000000000..82e270fac
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0003-build-fix-architecture-detection.patch
@@ -0,0 +1,96 @@
+From 7722fb8a3189fea0f6381f02a0e4f63c847f0393 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Sat, 6 Aug 2016 11:02:43 +0200
+Subject: [PATCH 3/6] build: fix architecture detection
+
+The current architecture detection, based on the "host_cpu" part of the
+tuple does not work properly for a number of reason:
+
+ - The code assumes that if host_cpu starts with "arm" then ARM
+ instructions are available, which is incorrect. Indeed, Cortex-M
+ platforms can run Linux, they are ARM platforms (so host_cpu = arm),
+ but they don't support ARM instructions: they support only the
+ Thumb-2 instruction set.
+
+ - The armv7 case is also not very useful, as it is not standard at all
+ to pass armv7 as host_cpu even if the host system is actually ARMv7
+ based.
+
+ - For the same reason, the armv8 case is not very useful: ARMv8 is
+ AArch64, and there is already a separate case to handle this
+ architecture.
+
+So, this commit moves away from a host_cpu based logic, and instead
+tests using AC_CHECK_DECLS() the built-in definitions of the compiler:
+
+ - If we have __ARM_ARCH_ISA_ARM defined, then it's an ARM processor
+ that supports the ARM instruction set (this allows to exclude Thumb-2
+ only processors).
+
+ - If we have __ARM_ARCH_7A__, then we have an ARMv7-A processor, and
+ we can enable the corresponding optimizations
+
+ - Same for __aarch64__, __i386__ and __x86_64__.
+
+In addition, we remove the AC_MSG_ERROR() that makes the build fail for
+all architectures but the ones that are explicitly supported. Indeed,
+webrtc-audio-processing builds just fine for other architectures (tested
+on MIPS), it's just that none of the architecture-specific optimizations
+will be used.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
+Upstream-Status: Accepted [expected in 0.4]
+---
+ configure.ac | 35 +++++++++++------------------------
+ 1 file changed, 11 insertions(+), 24 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index be20514..e898014 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -55,30 +55,17 @@ AS_CASE(["${host}"],
+ )
+ AC_SUBST(PLATFORM_CFLAGS)
+
+-AS_CASE(["${host_cpu}"],
+- [i?86|x86_64],
+- [
+- HAVE_X86=1
+- ],
+- [armv7*|armv8*],
+- [
+- HAVE_ARM=1
+- HAVE_ARMV7=1
+- ARCH_CFLAGS="-DWEBRTC_ARCH_ARM -DWEBRTC_ARCH_ARM_V7"
+- ],
+- [arm*],
+- [
+- HAVE_ARM=1
+- ARCH_CFLAGS="-DWEBRTC_ARCH_ARM"
+- ],
+- [aarch64*],
+- [
+- HAVE_NEON=1
+- ARCH_CFLAGS="-DWEBRTC_HAS_NEON -DWEBRTC_ARCH_ARM64"
+- ],
+- # FIXME: Add MIPS support, see webrtc/BUILD.gn for defines
+- [AC_MSG_ERROR([Unsupported CPU type $host_cpu])]
+-)
++# Testing __ARM_ARCH_ISA_ARM since the code contains ARM instructions,
++# which don't work on Thumb-2 only platforms (ARMv7-M).
++AC_CHECK_DECLS([__ARM_ARCH_ISA_ARM],
++ [HAVE_ARM=1; ARCH_CFLAGS="${ARCH_CFLAGS} -DWEBRTC_ARCH_ARM"])
++AC_CHECK_DECLS([__ARM_ARCH_7A__],
++ [HAVE_ARMV7=1; ARCH_CFLAGS="${ARCH_CFLAGS} -DWEBRTC_ARCH_ARM_V7"])
++AC_CHECK_DECLS([__aarch64__],
++ [HAVE_NEON=1; ARCH_CFLAGS="${ARCH_CFLAGS} -DWEBRTC_HAS_NEON -DWEBRTC_ARCH_ARM64"])
++AC_CHECK_DECLS([__i386__], [HAVE_X86=1])
++AC_CHECK_DECLS([__x86_64__], [HAVE_X86=1])
++
+ AM_CONDITIONAL(HAVE_X86, [test "x${HAVE_X86}" = "x1"])
+ AM_CONDITIONAL(HAVE_ARM, [test "x${HAVE_ARM}" = "x1"])
+ AM_CONDITIONAL(HAVE_ARMV7, [test "x${HAVE_ARMV7}" = "x1"])
+--
+2.11.0
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0004-typedefs.h-add-support-for-64-bit-and-big-endian-MIP.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0004-typedefs.h-add-support-for-64-bit-and-big-endian-MIP.patch
new file mode 100644
index 000000000..c96f10ed9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0004-typedefs.h-add-support-for-64-bit-and-big-endian-MIP.patch
@@ -0,0 +1,41 @@
+From 0c332b7d94f8425c4f33344ddf406b6eea458861 Mon Sep 17 00:00:00 2001
+From: Tanu Kaskinen <tanuk@iki.fi>
+Date: Mon, 8 May 2017 17:01:49 +0300
+Subject: [PATCH 4/6] typedefs.h: add support for 64-bit and big endian MIPS
+
+The 64-bit check is taken from the upstream webrtc project, the big
+endian check is my own addition.
+
+Upstream-Status: Pending
+Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
+---
+ webrtc/typedefs.h | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/webrtc/typedefs.h b/webrtc/typedefs.h
+index d875490..d1b2f54 100644
+--- a/webrtc/typedefs.h
++++ b/webrtc/typedefs.h
+@@ -41,9 +41,18 @@
+ //#define WEBRTC_ARCH_ARMEL
+ #define WEBRTC_ARCH_32_BITS
+ #define WEBRTC_ARCH_LITTLE_ENDIAN
+-#elif defined(__MIPSEL__)
++#elif defined(__MIPSEL__) || defined(__MIPSEB__)
++#define WEBRTC_ARCH_MIPS_FAMILY
++#if defined(__LP64__)
++#define WEBRTC_ARCH_64_BITS
++#else
+ #define WEBRTC_ARCH_32_BITS
++#endif
++#if defined(__MIPSEL__)
+ #define WEBRTC_ARCH_LITTLE_ENDIAN
++#else
++#define WEBRTC_ARCH_BIG_ENDIAN
++#endif
+ #elif defined(__pnacl__)
+ #define WEBRTC_ARCH_32_BITS
+ #define WEBRTC_ARCH_LITTLE_ENDIAN
+--
+2.11.0
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0005-typedefs.h-add-support-for-PowerPC.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0005-typedefs.h-add-support-for-PowerPC.patch
new file mode 100644
index 000000000..e16b57ecb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0005-typedefs.h-add-support-for-PowerPC.patch
@@ -0,0 +1,28 @@
+From db5f570e928c8ca5b0b8dc702e1af0a57277f092 Mon Sep 17 00:00:00 2001
+From: Tanu Kaskinen <tanuk@iki.fi>
+Date: Mon, 3 Jul 2017 16:20:08 +0300
+Subject: [PATCH 5/6] typedefs.h: add support for PowerPC
+
+Upstream-Status: Pending
+Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
+---
+ webrtc/typedefs.h | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/webrtc/typedefs.h b/webrtc/typedefs.h
+index d1b2f54..6e34d9e 100644
+--- a/webrtc/typedefs.h
++++ b/webrtc/typedefs.h
+@@ -53,6 +53,9 @@
+ #else
+ #define WEBRTC_ARCH_BIG_ENDIAN
+ #endif
++#elif defined(__powerpc__)
++#define WEBRTC_ARCH_32_BITS
++#define WEBRTC_ARCH_BIG_ENDIAN
+ #elif defined(__pnacl__)
+ #define WEBRTC_ARCH_32_BITS
+ #define WEBRTC_ARCH_LITTLE_ENDIAN
+--
+2.11.0
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0006-common_audio-implement-endianness-conversion-in-wav-.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0006-common_audio-implement-endianness-conversion-in-wav-.patch
new file mode 100644
index 000000000..5826ab00d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0006-common_audio-implement-endianness-conversion-in-wav-.patch
@@ -0,0 +1,116 @@
+From 7d31da8ef93987000f297d435dbacaf7d436107b Mon Sep 17 00:00:00 2001
+From: Tanu Kaskinen <tanuk@iki.fi>
+Date: Thu, 15 Jun 2017 18:38:30 +0300
+Subject: [PATCH 6/6] common_audio: implement endianness conversion in wav file
+ handling
+
+The code didn't build for big endian machines due to the missing
+endianness conversions.
+
+Upstream-Status: Pending
+Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
+---
+ webrtc/common_audio/wav_file.cc | 27 +++++++++++++++++++++------
+ webrtc/common_audio/wav_header.cc | 32 +++++++++++++++++++++++++++++++-
+ 2 files changed, 52 insertions(+), 7 deletions(-)
+
+diff --git a/webrtc/common_audio/wav_file.cc b/webrtc/common_audio/wav_file.cc
+index b14b620..e2f7738 100644
+--- a/webrtc/common_audio/wav_file.cc
++++ b/webrtc/common_audio/wav_file.cc
+@@ -64,9 +64,6 @@ WavReader::~WavReader() {
+ }
+
+ size_t WavReader::ReadSamples(size_t num_samples, int16_t* samples) {
+-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN
+-#error "Need to convert samples to big-endian when reading from WAV file"
+-#endif
+ // There could be metadata after the audio; ensure we don't read it.
+ num_samples = std::min(rtc::checked_cast<uint32_t>(num_samples),
+ num_samples_remaining_);
+@@ -76,6 +73,13 @@ size_t WavReader::ReadSamples(size_t num_samples, int16_t* samples) {
+ RTC_CHECK(read == num_samples || feof(file_handle_));
+ RTC_CHECK_LE(read, num_samples_remaining_);
+ num_samples_remaining_ -= rtc::checked_cast<uint32_t>(read);
++
++#ifdef WEBRTC_ARCH_BIG_ENDIAN
++ // Convert the read samples from little-endian to big-endian.
++ for (size_t i = 0; i < read; i++)
++ samples[i] = ((uint16_t) samples[i] >> 8) | ((uint16_t) samples[i] << 8);
++#endif
++
+ return read;
+ }
+
+@@ -119,11 +123,22 @@ WavWriter::~WavWriter() {
+ }
+
+ void WavWriter::WriteSamples(const int16_t* samples, size_t num_samples) {
+-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN
+-#error "Need to convert samples to little-endian when writing to WAV file"
+-#endif
++#ifdef WEBRTC_ARCH_BIG_ENDIAN
++ // Convert the samples from big-endian samples to little-endian.
++ int16_t* converted_samples = static_cast<int16_t*>(malloc(num_samples * sizeof(*samples)));
++ RTC_CHECK(converted_samples) << "Out of memory.";
++ for (int i = 0; i < num_samples; i++)
++ converted_samples[i] =
++ ((uint16_t) samples[i] >> 8) | ((uint16_t) samples[i] << 8);
++
++ const size_t written =
++ fwrite(converted_samples, sizeof(*converted_samples), num_samples,
++ file_handle_);
++ free(converted_samples);
++#else
+ const size_t written =
+ fwrite(samples, sizeof(*samples), num_samples, file_handle_);
++#endif
+ RTC_CHECK_EQ(num_samples, written);
+ num_samples_ += static_cast<uint32_t>(written);
+ RTC_CHECK(written <= std::numeric_limits<uint32_t>::max() ||
+diff --git a/webrtc/common_audio/wav_header.cc b/webrtc/common_audio/wav_header.cc
+index 61cfffe..382bfc7 100644
+--- a/webrtc/common_audio/wav_header.cc
++++ b/webrtc/common_audio/wav_header.cc
+@@ -129,7 +129,37 @@ static inline std::string ReadFourCC(uint32_t x) {
+ return std::string(reinterpret_cast<char*>(&x), 4);
+ }
+ #else
+-#error "Write be-to-le conversion functions"
++static inline void WriteLE16(uint16_t* f, uint16_t x) {
++ *f = x >> 8 | x << 8;
++}
++static inline void WriteLE32(uint32_t* f, uint32_t x) {
++ *f = x >> 24
++ | (x && 0xFF0000) >> 8
++ | (x && 0xFF00) << 8
++ | x << 24;
++}
++static inline void WriteFourCC(uint32_t* f, char a, char b, char c, char d) {
++ *f = static_cast<uint32_t>(d)
++ | static_cast<uint32_t>(c) << 8
++ | static_cast<uint32_t>(b) << 16
++ | static_cast<uint32_t>(a) << 24;
++}
++
++static inline uint32_t ReadLE16(uint16_t x) {
++ return x >> 8 | x << 8;
++}
++
++static inline uint32_t ReadLE32(uint32_t x) {
++ return x >> 24
++ | (x && 0xFF0000) >> 8
++ | (x && 0xFF00) << 8
++ | x << 24;
++}
++
++static inline std::string ReadFourCC(uint32_t x) {
++ x = ReadLE32(x);
++ return std::string(reinterpret_cast<char*>(&x), 4);
++}
+ #endif
+
+ static inline uint32_t RiffChunkSize(uint32_t bytes_in_payload) {
+--
+2.11.0
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb
new file mode 100644
index 000000000..2b0f7c684
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb
@@ -0,0 +1,28 @@
+DESCRIPTION = "Audio processing bits of the WebRTC reference implementation"
+HOMEPAGE = "https://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing/"
+SECTION = "audio"
+
+DEPENDS_append_libc-musl = " libexecinfo"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=da08a38a32a340c5d91e13ee86a118f2 \
+ file://webrtc/common.h;beginline=1;endline=9;md5=41f7322d91deabaf0acbbd0b8d0bc548 \
+"
+
+# Note that patch 3 effectively reverts patches 1 and 2. The only reason
+# why patches 1 and 2 are included is that otherwise patch 3 wouldn't
+# apply cleanly.
+SRC_URI = "http://freedesktop.org/software/pulseaudio/webrtc-audio-processing/${BP}.tar.xz \
+ file://0001-build-Protect-against-unsupported-CPU-types.patch \
+ file://0002-build-Add-ARM-64bit-support.patch \
+ file://0003-build-fix-architecture-detection.patch \
+ file://0004-typedefs.h-add-support-for-64-bit-and-big-endian-MIP.patch \
+ file://0005-typedefs.h-add-support-for-PowerPC.patch \
+ file://0006-common_audio-implement-endianness-conversion-in-wav-.patch \
+"
+
+SRC_URI[md5sum] = "336ae032f608e65808ac577cde0ab72c"
+SRC_URI[sha256sum] = "756e291d4f557d88cd50c4fe3b8454ec238362d22cedb3e6173240d90f0a80fa"
+
+LDFLAGS_append_libc-musl = " -lexecinfo"
+inherit autotools
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-support/crossguid/crossguid.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-support/crossguid/crossguid.bb
new file mode 100644
index 000000000..228b8b654
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-support/crossguid/crossguid.bb
@@ -0,0 +1,25 @@
+# Copyright (C) 2017 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+DESCRIPTION = "Lightweight cross platform C++ GUID/UUID library"
+HOMEPAGE = "https://github.com/graeme-hill/crossguid"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1373274bc8d8001edc54933919f36f68"
+DEPENDS += "util-linux"
+
+PV = "0.0+git${SRCPV}"
+
+SRCREV = "b56957ac453575e91ca1b63a80c0077c2b0d011a"
+SRC_URI = "git://github.com/graeme-hill/crossguid;protocol=https"
+
+S = "${WORKDIR}/git"
+
+do_compile() {
+ ${CXX} -c guid.cpp -o guid.o ${CXXFLAGS} -std=c++11 -DGUID_LIBUUID
+ ${AR} rvs libcrossguid.a guid.o
+}
+
+do_install() {
+ install -D -m 0644 ${B}/libcrossguid.a ${D}${libdir}/libcrossguid.a
+ install -D -m 0644 ${S}/guid.h ${D}${includedir}/guid.h
+}
diff --git a/import-layers/meta-openembedded/meta-networking/MAINTAINERS b/import-layers/meta-openembedded/meta-networking/MAINTAINERS
index 8e6e3a0f9..771c73cb0 100644
--- a/import-layers/meta-openembedded/meta-networking/MAINTAINERS
+++ b/import-layers/meta-openembedded/meta-networking/MAINTAINERS
@@ -2,15 +2,15 @@ This file contains a list of maintainers for the meta-networking layer.
Please submit any patches against meta-networking to the OpenEmbedded
development mailing list (openembedded-devel@lists.openembedded.org) with
-'[meta-networking][pyro]' in the subject.
+'[meta-networking][rocko]' 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][pyro][PATCH
+ --subject-prefix=meta-networking][rocko][PATCH
-pyro Branch Maintainer:
+rocko Branch Maintainer:
Armin Kuster <akuster808@gmail.com>
You may also contact the maintainers directly.
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
deleted file mode 100644
index 19e13ea87..000000000
--- a/import-layers/meta-openembedded/meta-networking/conf/distro/include/meta_networking_security_flags.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-# 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 b5aa1599b..2dfde4bdf 100644
--- a/import-layers/meta-openembedded/meta-networking/conf/layer.conf
+++ b/import-layers/meta-openembedded/meta-networking/conf/layer.conf
@@ -19,9 +19,6 @@ LAYERDEPENDS_networking-layer += "meta-python"
LICENSE_PATH += "${LAYERDIR}/licenses"
-# Override security flags
-require conf/distro/include/meta_networking_security_flags.inc
-
SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
wireguard-tools->wireguard-module \
"
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 47cb163e6..ec35175a0 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
@@ -29,3 +29,7 @@ SRC_URI[md5sum] = "2cd6da422a72c129c685fc4bb848c24c"
SRC_URI[sha256sum] = "b40e1d1273e08aaeaa86e69d4f28d535b7e53bdb3898adf539266b63137be7cb"
inherit autotools
+
+DISABLE_STATIC = ""
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-rlm_mschap-Use-includedir-instead-of-hardcoding-usr-.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-rlm_mschap-Use-includedir-instead-of-hardcoding-usr-.patch
new file mode 100644
index 000000000..db8caab12
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-rlm_mschap-Use-includedir-instead-of-hardcoding-usr-.patch
@@ -0,0 +1,28 @@
+From 66e8bcdcca8971b5c43c31755d56d7f675d8b5ff Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 16 Jun 2017 20:10:49 -0700
+Subject: [PATCH] rlm_mschap: Use includedir instead of hardcoding /usr/include
+
+OE QA flags it correctly as a voilation of cross compilation
+namespace
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/modules/rlm_mschap/configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: freeradius-server-3.0.14/src/modules/rlm_mschap/configure.ac
+===================================================================
+--- freeradius-server-3.0.14.orig/src/modules/rlm_mschap/configure.ac
++++ freeradius-server-3.0.14/src/modules/rlm_mschap/configure.ac
+@@ -72,7 +72,7 @@ if test x$with_[]modname != xno; then
+ mod_ldflags="-framework DirectoryService"
+ fi
+
+- smart_try_dir="$winbind_include_dir /usr/include/samba-4.0"
++ smart_try_dir="$winbind_include_dir =/usr/include/samba-4.0"
+ FR_SMART_CHECK_INCLUDE(wbclient.h, [#include <stdint.h>
+ #include <stdbool.h>])
+ if test "x$ac_cv_header_wbclient_h" != "xyes"; then
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius
new file mode 100644
index 000000000..fa412e2aa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius
@@ -0,0 +1,110 @@
+#!/bin/sh
+# Start/stop the FreeRADIUS daemon.
+
+### BEGIN INIT INFO
+# Provides: freeradius
+# Required-Start: $remote_fs $network $syslog
+# Should-Start: $time mysql slapd postgresql samba krb5-kdc
+# Required-Stop: $remote_fs $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Radius Daemon
+# Description: Extensible, configurable radius daemon
+### END INIT INFO
+
+set -e
+
+# Source function library.
+. /etc/init.d/functions
+
+if [ -f /lib/lsb/init-functions ]; then
+ . /lib/lsb/init-functions
+fi
+
+PROG="radiusd"
+PROGRAM="/usr/sbin/radiusd"
+PIDFILE="/var/run/radiusd/radiusd.pid"
+DESCR="FreeRADIUS daemon"
+
+if [ -r /etc/default/$PROG ]; then
+ . /etc/default/$PROG
+fi
+
+test -f $PROGRAM || exit 0
+
+check_certs() {
+ if [ ! -f /etc/raddb/certs/server.pem ]; then
+ echo -n "Creating certificates for freeradius..."
+ if sudo -u radiusd /etc/raddb/certs/bootstrap 1> /dev/null 2> /dev/null; then
+ echo "done"
+ else
+ echo "failed!"
+ fi
+ fi
+
+}
+
+# /var/run may be a tmpfs
+if [ ! -d /var/run/radiusd ]; then
+ mkdir -p /var/run/radiusd
+ chown radiusd:radiusd /var/run/radiusd
+fi
+
+if [ ! -d /var/log/radius ]; then
+ mkdir -p /var/log/radius
+ touch /var/log/radius/radius.log
+ chown radiusd:radiusd /var/run/radius
+fi
+
+if [ ! -f ${PIDFILE} ]; then
+ touch ${PIDFILE}
+ chown radiusd:radiusd ${PIDFILE}
+fi
+
+export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"
+
+ret=0
+
+case "$1" in
+ start)
+ check_certs
+ echo -n "Starting $DESCR" "$PROG"
+ start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $PROGRAM -- $FREERADIUS_OPTIONS || ret=$?
+ [ "$ret" == 0 ] && echo " Success" || echo " Failed"
+ exit $ret
+ ;;
+ stop)
+ echo -n "Stopping $DESCR" "$PROG"
+ if [ -f "$PIDFILE" ] ; then
+ start-stop-daemon --stop --retry=TERM/30/KILL/5 --quiet --pidfile $PIDFILE || ret=$?
+ else
+ echo -n "$PIDFILE not found"
+ ret=1
+ fi
+ [ "$ret" == 0 ] && echo " Success" || echo " Failed"
+ ;;
+ status)
+ status $PROGRAM;
+ exit $?
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ ;;
+ reload|force-reload)
+ echo -n "Reloading $DESCR" "$PROG"
+ if [ -f "$PIDFILE" ] ; then
+ start-stop-daemon --stop --signal HUP --quiet --pidfile $PIDFILE || ret=$?
+ else
+ echo -n "$PIDFILE not found"
+ ret=1
+ fi
+ [ "$ret" == 0 ] && echo " Success" || echo " Failed"
+ ;;
+ *)
+ echo "Usage: $0 start|stop|status|restart|force-reload|reload"
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-avoid-searching-host-dirs.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-avoid-searching-host-dirs.patch
new file mode 100644
index 000000000..9c997661f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-avoid-searching-host-dirs.patch
@@ -0,0 +1,197 @@
+From dc41591d5ceb18900ec85894f8f7b7bb44bb3bd9 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Mon, 4 Jan 2016 01:44:04 -0500
+Subject: [PATCH] avoid searching host dirs
+
+Don't search the hardcoded host dirs to avoid
+host contamination.
+
+Upstream-Status: Inappropriate [cross-compile specific]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ acinclude.m4 | 4 ++--
+ src/modules/rlm_sql/drivers/rlm_sql_db2/configure.ac | 4 ++--
+ src/modules/rlm_sql/drivers/rlm_sql_firebird/configure.ac | 4 ++--
+ src/modules/rlm_sql/drivers/rlm_sql_iodbc/configure.ac | 4 ++--
+ src/modules/rlm_sql/drivers/rlm_sql_mysql/configure.ac | 6 +++---
+ src/modules/rlm_sql/drivers/rlm_sql_oracle/configure.ac | 2 +-
+ src/modules/rlm_sql/drivers/rlm_sql_postgresql/configure.ac | 4 ++--
+ src/modules/rlm_sql/drivers/rlm_sql_unixodbc/configure.ac | 4 ++--
+ 8 files changed, 16 insertions(+), 16 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index da48acc..b513ae1 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -178,7 +178,7 @@ if test "x$smart_lib" = "x"; then
+ FR_LOCATE_DIR(smart_lib_dir,[lib$1${libltdl_cv_shlibext}])
+ FR_LOCATE_DIR(smart_lib_dir,[lib$1.a])
+
+- for try in $smart_lib_dir /usr/local/lib /opt/lib; do
++ for try in $smart_lib_dir; do
+ AC_MSG_CHECKING([for $2 in -l$1 in $try])
+ LIBS="-l$1 $old_LIBS"
+ CPPFLAGS="-L$try -Wl,-rpath,$try $old_CPPFLAGS"
+@@ -218,7 +218,7 @@ ac_safe=`echo "$1" | sed 'y%./+-%__pm%'`
+ old_CPPFLAGS="$CPPFLAGS"
+ smart_include=
+ dnl # The default directories we search in (in addition to the compilers search path)
+-smart_include_dir="/usr/local/include /opt/include"
++smart_include_dir=
+
+ dnl # Our local versions
+ _smart_try_dir=
+diff --git a/src/modules/rlm_sql/drivers/rlm_sql_db2/configure.ac b/src/modules/rlm_sql/drivers/rlm_sql_db2/configure.ac
+index 75c851a..a262d71 100644
+--- a/src/modules/rlm_sql/drivers/rlm_sql_db2/configure.ac
++++ b/src/modules/rlm_sql/drivers/rlm_sql_db2/configure.ac
+@@ -57,14 +57,14 @@ if test x$with_[]modname != xno; then
+ esac])
+
+ dnl Check for SQLConnect in -ldb2
+- smart_try_dir="$ibmdb2_lib_dir /usr/local/db2/lib /usr/IBMdb2/V7.1/lib"
++ smart_try_dir="$ibmdb2_lib_dir"
+ FR_SMART_CHECK_LIB(db2, SQLConnect)
+ if test "x$ac_cv_lib_db2_SQLConnect" != xyes; then
+ fail="$fail libdb2"
+ fi
+
+ dnl Check for sqlcli.h
+- smart_try_dir="$ibmdb2_include_dir /usr/local/db2/include /usr/IBMdb2/V7.1/include"
++ smart_try_dir="$ibmdb2_include_dir"
+ FR_SMART_CHECK_INCLUDE(sqlcli.h)
+ if test "x$ac_cv_header_sqlcli_h" != xyes; then
+ fail="$fail sqlcli.h"
+diff --git a/src/modules/rlm_sql/drivers/rlm_sql_firebird/configure.ac b/src/modules/rlm_sql/drivers/rlm_sql_firebird/configure.ac
+index 4da57b3..752b043 100644
+--- a/src/modules/rlm_sql/drivers/rlm_sql_firebird/configure.ac
++++ b/src/modules/rlm_sql/drivers/rlm_sql_firebird/configure.ac
+@@ -56,14 +56,14 @@ if test x$with_[]modname != xno; then
+ esac])
+
+ dnl Check for isc_attach_database in -lfbclient
+- smart_try_dir="$firebird_lib_dir /usr/lib/firebird2/lib /usr/local/firebird/lib"
++ smart_try_dir="$firebird_lib_dir"
+ FR_SMART_CHECK_LIB(fbclient, isc_attach_database)
+ if test "x$ac_cv_lib_fbclient_isc_attach_database" != xyes; then
+ fail="$fail libfbclient"
+ fi
+
+ dnl Check for ibase.h
+- smart_try_dir="$firebird_include_dir /usr/lib/firebird2/include /usr/local/firebird/include"
++ smart_try_dir="$firebird_include_dir"
+ FR_SMART_CHECK_INCLUDE(ibase.h)
+ if test "x$ac_cv_header_ibase_h" != xyes; then
+ fail="$fail ibase.h"
+diff --git a/src/modules/rlm_sql/drivers/rlm_sql_iodbc/configure.ac b/src/modules/rlm_sql/drivers/rlm_sql_iodbc/configure.ac
+index ba6304f..3393557 100644
+--- a/src/modules/rlm_sql/drivers/rlm_sql_iodbc/configure.ac
++++ b/src/modules/rlm_sql/drivers/rlm_sql_iodbc/configure.ac
+@@ -57,14 +57,14 @@ if test x$with_[]modname != xno; then
+ esac])
+
+ dnl Check for SQLConnect in -liodbc
+- smart_try_dir="$iodbc_lib_dir /usr/lib /usr/lib/iodbc /usr/local/lib/iodbc /usr/local/iodbc/lib/iodbc"
++ smart_try_dir="$iodbc_lib_dir"
+ FR_SMART_CHECK_LIB(iodbc, SQLConnect)
+ if test "x$ac_cv_lib_iodbc_SQLConnect" != xyes; then
+ fail="$fail libiodbc"
+ fi
+
+ dnl Check for isql.h
+- smart_try_dir="$iodbc_include_dir /usr/include /usr/include/iodbc /usr/local/iodbc/include"
++ smart_try_dir="$iodbc_include_dir"
+ FR_SMART_CHECK_INCLUDE(isql.h)
+ if test "x$ac_cv_header_isql_h" != xyes; then
+ fail="$fail isql.h"
+diff --git a/src/modules/rlm_sql/drivers/rlm_sql_mysql/configure.ac b/src/modules/rlm_sql/drivers/rlm_sql_mysql/configure.ac
+index 1401677..2e7db44 100644
+--- a/src/modules/rlm_sql/drivers/rlm_sql_mysql/configure.ac
++++ b/src/modules/rlm_sql/drivers/rlm_sql_mysql/configure.ac
+@@ -136,7 +136,7 @@ if test x$with_[]modname != xno; then
+
+ dnl # Check for libmysqlclient_r
+ if test "x$have_a_libmysqlclient" != "xyes"; then
+- smart_try_dir="$mysql_lib_dir /usr/lib /usr/lib/mysql /usr/local/lib/mysql /usr/local/mysql/lib/mysql"
++ smart_try_dir="$mysql_lib_dir"
+ FR_SMART_CHECK_LIB(mysqlclient_r, mysql_init)
+ if test "x$ac_cv_lib_mysqlclient_r_mysql_init" = "xyes"; then
+ have_a_libmysqlclient='yes'
+@@ -145,7 +145,7 @@ if test x$with_[]modname != xno; then
+
+ dnl # Check for libmysqlclient
+ if test "x$have_a_libmysqlclient" != "xyes"; then
+- smart_try_dir="$mysql_lib_dir /usr/lib /usr/lib/mysql /usr/local/lib/mysql /usr/local/mysql/lib/mysql"
++ smart_try_dir="$mysql_lib_dir"
+ FR_SMART_CHECK_LIB(mysqlclient, mysql_init)
+ if test "x$ac_cv_lib_mysqlclient_mysql_init" = "xyes"; then
+ have_a_libmysqlclient='yes'
+@@ -189,7 +189,7 @@ if test x$with_[]modname != xno; then
+ fi
+
+ if test "x$have_mysql_h" != "xyes"; then
+- smart_try_dir="$mysql_include_dir /usr/local/include /usr/local/mysql/include"
++ smart_try_dir="$mysql_include_dir"
+ FR_SMART_CHECK_INCLUDE(mysql/mysql.h)
+ if test "x$ac_cv_header_mysql_mysql_h" = "xyes"; then
+ AC_DEFINE(HAVE_MYSQL_MYSQL_H, [], [Define if you have <mysql/mysql.h>])
+diff --git a/src/modules/rlm_sql/drivers/rlm_sql_oracle/configure.ac b/src/modules/rlm_sql/drivers/rlm_sql_oracle/configure.ac
+index 3178462..5cbc8c2 100644
+--- a/src/modules/rlm_sql/drivers/rlm_sql_oracle/configure.ac
++++ b/src/modules/rlm_sql/drivers/rlm_sql_oracle/configure.ac
+@@ -63,7 +63,7 @@ if test x$with_[]modname != xno; then
+ dnl # Check for header files
+ dnl ############################################################
+
+- smart_try_dir="$oracle_include_dir /usr/local/instaclient/include"
++ smart_try_dir="$oracle_include_dir"
+
+ if test "x$ORACLE_HOME" != "x"; then
+ smart_try_dir="${smart_try_dir} ${ORACLE_HOME}/include"
+diff --git a/src/modules/rlm_sql/drivers/rlm_sql_postgresql/configure.ac b/src/modules/rlm_sql/drivers/rlm_sql_postgresql/configure.ac
+index 4f9a890..e1cf811 100644
+--- a/src/modules/rlm_sql/drivers/rlm_sql_postgresql/configure.ac
++++ b/src/modules/rlm_sql/drivers/rlm_sql_postgresql/configure.ac
+@@ -41,7 +41,7 @@ if test x$with_[]modname != xno; then
+ esac ]
+ )
+
+- smart_try_dir="$rlm_sql_postgresql_include_dir /usr/include/postgresql /usr/local/pgsql/include /usr/include/pgsql"
++ smart_try_dir="$rlm_sql_postgresql_include_dir"
+ FR_SMART_CHECK_INCLUDE(libpq-fe.h)
+ if test "x$ac_cv_header_libpqmfe_h" != "xyes"; then
+ fail="$fail libpq-fe.h"
+@@ -76,7 +76,7 @@ if test x$with_[]modname != xno; then
+ ])
+ fi
+
+- smart_try_dir="$rlm_sql_postgresql_lib_dir /usr/lib /usr/local/pgsql/lib"
++ smart_try_dir="$rlm_sql_postgresql_lib_dir"
+ FR_SMART_CHECK_LIB(pq, PQconnectdb)
+ if test "x$ac_cv_lib_pq_PQconnectdb" != "xyes"; then
+ fail="$fail libpq"
+diff --git a/src/modules/rlm_sql/drivers/rlm_sql_unixodbc/configure.ac b/src/modules/rlm_sql/drivers/rlm_sql_unixodbc/configure.ac
+index 3545387..c543ed4 100644
+--- a/src/modules/rlm_sql/drivers/rlm_sql_unixodbc/configure.ac
++++ b/src/modules/rlm_sql/drivers/rlm_sql_unixodbc/configure.ac
+@@ -57,14 +57,14 @@ if test x$with_[]modname != xno; then
+ esac])
+
+ dnl Check for SQLConnect in -lodbc
+- smart_try_dir="$unixodbc_lib_dir /usr/local/unixodbc/lib"
++ smart_try_dir="$unixodbc_lib_dir"
+ FR_SMART_CHECK_LIB(odbc, SQLConnect)
+ if test "x$ac_cv_lib_odbc_SQLConnect" != xyes; then
+ fail="$fail libodbc"
+ fi
+
+ dnl Check for sql.h
+- smart_try_dir="$unixodbc_include_dir /usr/local/unixodbc/include"
++ smart_try_dir="$unixodbc_include_dir"
+ FR_SMART_CHECK_INCLUDE(sql.h)
+ if test "x$ac_cv_header_sql_h" != xyes; then
+ fail="$fail sql.h"
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-add-option-for-libcap.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-add-option-for-libcap.patch
new file mode 100644
index 000000000..71b78090c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-add-option-for-libcap.patch
@@ -0,0 +1,70 @@
+From 74eed61dec8702c89f3e121d577ea9db25c961a4 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Mon, 11 Jan 2016 02:52:16 -0500
+Subject: [PATCH] configure.ac: add option for libcap
+
+Upstream-Status: Pending
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ configure.ac | 37 ++++++++++++++++++++++++++++---------
+ 1 file changed, 28 insertions(+), 9 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 066d3d7..6e4266b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -948,6 +948,23 @@ fi
+ dnl Set by FR_SMART_CHECKLIB
+ LIBS="${old_LIBS}"
+
++dnl #
++dnl # extra argument: --with-libcap
++dnl #
++WITH_LIBCAP=yes
++AC_ARG_WITH(libcap,
++[ --with-licap use licap for debugger checks. (default=yes)],
++[ case "$withval" in
++ no)
++ WITH_LIBCAP=no
++ ;;
++ *)
++ WITH_LIBCAP=yes
++ ;;
++ esac ]
++)
++
++
+ dnl Check for cap
+ dnl extra argument: --with-cap-lib-dir=DIR
+ cap_lib_dir=
+@@ -981,15 +998,17 @@ AC_ARG_WITH(cap-include-dir,
+ ;;
+ esac])
+
+-smart_try_dir="$cap_lib_dir"
+-FR_SMART_CHECK_LIB(cap, cap_get_proc)
+-if test "x$ac_cv_lib_cap_cap_get_proc" != "xyes"; then
+- AC_MSG_WARN([cap library not found, debugger checks will not be enabled. Use --with-cap-lib-dir=<path>.])
+-else
+- AC_DEFINE(HAVE_LIBCAP, 1,
+- [Define to 1 if you have the `cap' library (-lcap).]
+- )
+- HAVE_LIBCAP=1
++if test "x$WITH_LIBCAP" = xyes; then
++ smart_try_dir="$cap_lib_dir"
++ FR_SMART_CHECK_LIB(cap, cap_get_proc)
++ if test "x$ac_cv_lib_cap_cap_get_proc" != "xyes"; then
++ AC_MSG_WARN([cap library not found, debugger checks will not be enabled. Use --with-cap-lib-dir=<path>.])
++ else
++ AC_DEFINE(HAVE_LIBCAP, 1,
++ [Define to 1 if you have the `cap' library (-lcap).]
++ )
++ HAVE_LIBCAP=1
++ fi
+ fi
+
+ VL_LIB_READLINE
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-allow-cross-compilation.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-allow-cross-compilation.patch
new file mode 100644
index 000000000..30497a602
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-allow-cross-compilation.patch
@@ -0,0 +1,31 @@
+Subject: [PATCH] configure.ac: allow cross-compilation
+
+The checking OpenSSL library and header version consistency will
+always fail in cross compiling, skip the check and give a warning
+instead for cross compiling.
+
+Upstream-Status: Inappropriate[embedded specific]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ src/modules/rlm_krb5/configure.ac | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/modules/rlm_krb5/configure.ac b/src/modules/rlm_krb5/configure.ac
+index eb43534..113a079 100644
+--- a/src/modules/rlm_krb5/configure.ac
++++ b/src/modules/rlm_krb5/configure.ac
+@@ -137,7 +137,8 @@ if test x$with_[]modname != xno; then
+ FR_SMART_CHECK_LIB(krb5, krb5_is_thread_safe)
+ if test "x$ac_cv_lib_krb5_krb5_is_thread_safe" == xyes; then
+ AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <krb5.h>]], [[return krb5_is_thread_safe() ? 0 : 1]])],
+- [krb5threadsafe="-DKRB5_IS_THREAD_SAFE"], [AC_MSG_WARN([[libkrb5 is not threadsafe]])])
++ [krb5threadsafe="-DKRB5_IS_THREAD_SAFE"], [AC_MSG_WARN([[libkrb5 is not threadsafe]])],
++ [AC_MSG_WARN(cross compiling: not checking)])
+ fi
+ else
+ krb5threadsafe=""
+--
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-enble-user-in-conf.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-enble-user-in-conf.patch
new file mode 100644
index 000000000..4a62bf1fa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-enble-user-in-conf.patch
@@ -0,0 +1,28 @@
+Enable and change user and group of freeradius server to radiusd
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Roy.Li <rongqing.li@windriver.com>
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ raddb/radiusd.conf.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/raddb/radiusd.conf.in b/raddb/radiusd.conf.in
+index c62f4ff..0b4a84e 100644
+--- a/raddb/radiusd.conf.in
++++ b/raddb/radiusd.conf.in
+@@ -436,8 +436,8 @@ security {
+ # member. This can allow for some finer-grained access
+ # controls.
+ #
+-# user = radius
+-# group = radius
++ user = radiusd
++ group = radiusd
+
+ # Core dumps are a bad thing. This should only be set to
+ # 'yes' if you're debugging a problem with the server.
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-error-for-expansion-of-macro.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-error-for-expansion-of-macro.patch
new file mode 100644
index 000000000..af1bff051
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-error-for-expansion-of-macro.patch
@@ -0,0 +1,61 @@
+From 5b6d8b14f2696fcf1dca119212f9d0a0fa04defd Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Wed, 18 Jan 2017 14:59:39 +0800
+Subject: [PATCH] fix error for expansion of macro in thread.h
+
+The parameter declaration is missing in expansion of macro
+which cause the build error:
+| In file included from src/freeradius-devel/libradius.h:80:0,
+| from src/lib/log.c:26:
+| src/lib/log.c: In function '__fr_thread_local_destroy_fr_strerror_buffer':
+| src/lib/log.c:37:31: error: 'fr_strerror_buffer' undeclared (first use in this function)
+| fr_thread_local_setup(char *, fr_strerror_buffer) /* macro */
+| ^
+
+Add the missing declaration in macro.
+
+Upstream-Status: Pending
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ src/include/threads.h | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/include/threads.h b/src/include/threads.h
+index e36d81d..2bcb6aa 100644
+--- a/src/include/threads.h
++++ b/src/include/threads.h
+@@ -89,7 +89,7 @@ static _t __fr_thread_local_init_##_n(pthread_destructor_t func)\
+ # define fr_thread_local_get(_n) _n
+ #elif defined(HAVE_PTHREAD_H)
+ # include <pthread.h>
+-# define fr_thread_local_setup(_t, _n) \
++# define fr_thread_local_setup(_t, _n) static __thread _t _n;\
+ static pthread_key_t __fr_thread_local_key_##_n;\
+ static pthread_once_t __fr_thread_local_once_##_n = PTHREAD_ONCE_INIT;\
+ static pthread_destructor_t __fr_thread_local_destructor_##_n = NULL;\
+@@ -100,17 +100,17 @@ static void __fr_thread_local_destroy_##_n(UNUSED void *unused)\
+ static void __fr_thread_local_key_init_##_n(void)\
+ {\
+ (void) pthread_key_create(&__fr_thread_local_key_##_n, __fr_thread_local_destroy_##_n);\
+- (void) pthread_setspecific(__fr_thread_local_key_##_n, &(_n));\
+ }\
+ static _t __fr_thread_local_init_##_n(pthread_destructor_t func)\
+ {\
+ __fr_thread_local_destructor_##_n = func;\
+ if (_n) return _n; \
+ (void) pthread_once(&__fr_thread_local_once_##_n, __fr_thread_local_key_init_##_n);\
++ (void) pthread_setspecific(__fr_thread_local_key_##_n, &(_n));\
+ return _n;\
+ }
+-# define fr_thread_local_init(_n, _f) __fr_thread_local_init_##_n(_f)
+-# define fr_thread_local_set(_n, _v) __fr_thread_local_set_##_n(_v)
+-# define fr_thread_local_get(_n) __fr_thread_local_get_##_n()
++# define fr_thread_local_init(_n, _f) __fr_thread_local_init_##_n(_f)
++# define fr_thread_local_set(_n, _v) ((int)!((_n = _v) || 1))
++# define fr_thread_local_get(_n) _n
+ #endif
+ #endif
+--
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-issues-related-to-m4-include-path.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-issues-related-to-m4-include-path.patch
new file mode 100644
index 000000000..d29b2ac39
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-issues-related-to-m4-include-path.patch
@@ -0,0 +1,236 @@
+From d8e251ef97869ab2c1c82bd374016f402083997c Mon Sep 17 00:00:00 2001
+From: Jorge Pereira <jpereiran@gmail.com>
+Date: Mon, 7 Dec 2015 16:51:07 -0200
+Subject: [PATCH] Fixing issues related to m4 include path
+
+Upstream-Status: Submitted [1]
+
+[1]: https://github.com/FreeRADIUS/freeradius-server/pull/1428
+
+Submmited by: Jorge Pereira <jpereiran@gmail.com>
+---
+ src/modules/rlm_example/config.h.in | 39 ++--------------------
+ src/modules/rlm_ldap/configure | 2 +-
+ src/modules/rlm_pam/config.h.in | 3 ++
+ src/modules/rlm_perl/config.h.in | 3 ++
+ src/modules/rlm_perl/configure.ac | 2 +-
+ src/modules/rlm_radutmp/config.h.in | 3 ++
+ src/modules/rlm_ruby/configure | 1 +
+ src/modules/rlm_ruby/configure.ac | 9 ++---
+ src/modules/rlm_smsotp/config.h.in | 3 ++
+ .../rlm_sql/drivers/rlm_sql_mysql/config.h.in | 3 ++
+ src/modules/rlm_unix/config.h.in | 6 ++++
+ 11 files changed, 32 insertions(+), 42 deletions(-)
+
+diff --git a/src/modules/rlm_example/config.h.in b/src/modules/rlm_example/config.h.in
+index 2a81ef5..f80de9c 100644
+--- a/src/modules/rlm_example/config.h.in
++++ b/src/modules/rlm_example/config.h.in
+@@ -1,38 +1,5 @@
+ /* config.h.in. Generated from configure.ac by autoheader. */
+
+-/* Define to 1 if you have the <inttypes.h> header file. */
+-#undef HAVE_INTTYPES_H
+-
+-/* Define to 1 if you have the <memory.h> header file. */
+-#undef HAVE_MEMORY_H
+-
+-/* Define to 1 if you have the `printf' function. */
+-#undef HAVE_PRINTF
+-
+-/* Define to 1 if you have the <stdint.h> header file. */
+-#undef HAVE_STDINT_H
+-
+-/* Define to 1 if you have the <stdio.h> header file. */
+-#undef HAVE_STDIO_H
+-
+-/* Define to 1 if you have the <stdlib.h> header file. */
+-#undef HAVE_STDLIB_H
+-
+-/* Define to 1 if you have the <strings.h> header file. */
+-#undef HAVE_STRINGS_H
+-
+-/* Define to 1 if you have the <string.h> header file. */
+-#undef HAVE_STRING_H
+-
+-/* Define to 1 if you have the <sys/stat.h> header file. */
+-#undef HAVE_SYS_STAT_H
+-
+-/* Define to 1 if you have the <sys/types.h> header file. */
+-#undef HAVE_SYS_TYPES_H
+-
+-/* Define to 1 if you have the <unistd.h> header file. */
+-#undef HAVE_UNISTD_H
+-
+ /* Define to the address where bug reports for this package should be sent. */
+ #undef PACKAGE_BUGREPORT
+
+@@ -45,8 +12,8 @@
+ /* Define to the one symbol short name of this package. */
+ #undef PACKAGE_TARNAME
+
++/* Define to the home page for this package. */
++#undef PACKAGE_URL
++
+ /* Define to the version of this package. */
+ #undef PACKAGE_VERSION
+-
+-/* Define to 1 if you have the ANSI C header files. */
+-#undef STDC_HEADERS
+diff --git a/src/modules/rlm_ldap/configure b/src/modules/rlm_ldap/configure
+index e0c15d9..cdf96d5 100755
+--- a/src/modules/rlm_ldap/configure
++++ b/src/modules/rlm_ldap/configure
+@@ -3992,7 +3992,7 @@ smart_prefix=
+ $as_echo "#define WITH_SASL 1" >>confdefs.h
+
+ SASL=sasl.c
+- fi
++ fi
+ fi
+
+ targetname=rlm_ldap
+diff --git a/src/modules/rlm_pam/config.h.in b/src/modules/rlm_pam/config.h.in
+index 32ef6ff..1ad20c5 100644
+--- a/src/modules/rlm_pam/config.h.in
++++ b/src/modules/rlm_pam/config.h.in
+@@ -45,6 +45,9 @@
+ /* Define to the one symbol short name of this package. */
+ #undef PACKAGE_TARNAME
+
++/* Define to the home page for this package. */
++#undef PACKAGE_URL
++
+ /* Define to the version of this package. */
+ #undef PACKAGE_VERSION
+
+diff --git a/src/modules/rlm_perl/config.h.in b/src/modules/rlm_perl/config.h.in
+index 989ed53..f80de9c 100644
+--- a/src/modules/rlm_perl/config.h.in
++++ b/src/modules/rlm_perl/config.h.in
+@@ -12,5 +12,8 @@
+ /* Define to the one symbol short name of this package. */
+ #undef PACKAGE_TARNAME
+
++/* Define to the home page for this package. */
++#undef PACKAGE_URL
++
+ /* Define to the version of this package. */
+ #undef PACKAGE_VERSION
+diff --git a/src/modules/rlm_perl/configure.ac b/src/modules/rlm_perl/configure.ac
+index 44c5fc9..6b2a043 100644
+--- a/src/modules/rlm_perl/configure.ac
++++ b/src/modules/rlm_perl/configure.ac
+@@ -3,7 +3,7 @@ AC_INIT(rlm_perl.c)
+ AC_REVISION($Revision$)
+ AC_DEFUN(modname,[rlm_perl])
+
+-m4_include([ax_with_prog.m4])
++m4_include([m4/ax_with_prog.m4])
+
+ if test x$with_[]modname != xno; then
+ AC_PROG_CC
+diff --git a/src/modules/rlm_radutmp/config.h.in b/src/modules/rlm_radutmp/config.h.in
+index 9a883cc..750b434 100644
+--- a/src/modules/rlm_radutmp/config.h.in
++++ b/src/modules/rlm_radutmp/config.h.in
+@@ -42,6 +42,9 @@
+ /* Define to the one symbol short name of this package. */
+ #undef PACKAGE_TARNAME
+
++/* Define to the home page for this package. */
++#undef PACKAGE_URL
++
+ /* Define to the version of this package. */
+ #undef PACKAGE_VERSION
+
+diff --git a/src/modules/rlm_ruby/configure b/src/modules/rlm_ruby/configure
+index 15868ab..c728af2 100755
+--- a/src/modules/rlm_ruby/configure
++++ b/src/modules/rlm_ruby/configure
+@@ -1875,6 +1875,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
++
+ # ===========================================================================
+ # http://www.gnu.org/software/autoconf-archive/ax_compare_version.html
+ # ===========================================================================
+diff --git a/src/modules/rlm_ruby/configure.ac b/src/modules/rlm_ruby/configure.ac
+index 9306382..f1c8118 100644
+--- a/src/modules/rlm_ruby/configure.ac
++++ b/src/modules/rlm_ruby/configure.ac
+@@ -3,15 +3,16 @@ AC_INIT(rlm_ruby.c)
+ AC_REVISION($Revision: 1.9 $)
+ AC_DEFUN(modname,[rlm_ruby])
+
+-m4_include([ax_with_prog.m4])
++m4_include([m4/ax_with_prog.m4])
+
+ AC_DEFUN([AX_WITH_RUBY],[
+ AX_WITH_PROG([RUBY],[ruby],[not-found],[${PATH}:/usr/bin:/usr/local/bin])
+ ])
+
+-m4_include([ax_compare_version.m4])
+-m4_include([ax_prog_ruby_version.m4])
+-m4_include([ax_ruby_devel.m4])
++
++m4_include([m4/ax_compare_version.m4])
++m4_include([m4/ax_prog_ruby_version.m4])
++m4_include([m4/ax_ruby_devel.m4])
+
+ targetname=modname
+ mod_cflags=
+diff --git a/src/modules/rlm_smsotp/config.h.in b/src/modules/rlm_smsotp/config.h.in
+index 5feaf91..9e69f85 100644
+--- a/src/modules/rlm_smsotp/config.h.in
++++ b/src/modules/rlm_smsotp/config.h.in
+@@ -42,6 +42,9 @@
+ /* Define to the one symbol short name of this package. */
+ #undef PACKAGE_TARNAME
+
++/* Define to the home page for this package. */
++#undef PACKAGE_URL
++
+ /* Define to the version of this package. */
+ #undef PACKAGE_VERSION
+
+diff --git a/src/modules/rlm_sql/drivers/rlm_sql_mysql/config.h.in b/src/modules/rlm_sql/drivers/rlm_sql_mysql/config.h.in
+index e03d1a9..6262c48 100644
+--- a/src/modules/rlm_sql/drivers/rlm_sql_mysql/config.h.in
++++ b/src/modules/rlm_sql/drivers/rlm_sql_mysql/config.h.in
+@@ -18,5 +18,8 @@
+ /* Define to the one symbol short name of this package. */
+ #undef PACKAGE_TARNAME
+
++/* Define to the home page for this package. */
++#undef PACKAGE_URL
++
+ /* Define to the version of this package. */
+ #undef PACKAGE_VERSION
+diff --git a/src/modules/rlm_unix/config.h.in b/src/modules/rlm_unix/config.h.in
+index dcb9aa2..70b4680 100644
+--- a/src/modules/rlm_unix/config.h.in
++++ b/src/modules/rlm_unix/config.h.in
+@@ -1,5 +1,8 @@
+ /* config.h.in. Generated from configure.ac by autoheader. */
+
++/* Define to 1 if you have the `getpwnam' function. */
++#undef HAVE_GETPWNAM
++
+ /* Define to 1 if you have the `getspnam' function. */
+ #undef HAVE_GETSPNAM
+
+@@ -54,6 +57,9 @@
+ /* Define to the one symbol short name of this package. */
+ #undef PACKAGE_TARNAME
+
++/* Define to the home page for this package. */
++#undef PACKAGE_URL
++
+ /* Define to the version of this package. */
+ #undef PACKAGE_VERSION
+
+--
+2.3.5
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-quoting-for-BUILT_WITH.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-quoting-for-BUILT_WITH.patch
new file mode 100644
index 000000000..b0929c4b0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-quoting-for-BUILT_WITH.patch
@@ -0,0 +1,55 @@
+Fix quoting for BUILD_WITH
+
+The escaped quotes are to make the -D values produce strings which
+can be used to display these values. However, if the values are more
+than one word, with spaces, they also need shell quoting to make them
+into single words.
+
+Upstream-Status: Pending
+
+Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ src/main/libfreeradius-server.mk | 2 +-
+ src/main/unittest.mk | 2 +-
+ src/modules/rlm_eap/radeapclient.mk | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/main/libfreeradius-server.mk b/src/main/libfreeradius-server.mk
+index 4495f72..07c28f1 100644
+--- a/src/main/libfreeradius-server.mk
++++ b/src/main/libfreeradius-server.mk
+@@ -18,5 +18,5 @@ SOURCES := conffile.c \
+ TGT_LDLIBS := $(OPENSSL_LIBS)
+
+ ifneq ($(MAKECMDGOALS),scan)
+-SRC_CFLAGS += -DBUILT_WITH_CPPFLAGS=\"$(CPPFLAGS)\" -DBUILT_WITH_CFLAGS=\"$(CFLAGS)\" -DBUILT_WITH_LDFLAGS=\"$(LDFLAGS)\" -DBUILT_WITH_LIBS=\"$(LIBS)\"
++SRC_CFLAGS += -DBUILT_WITH_CPPFLAGS="\"$(CPPFLAGS)\"" -DBUILT_WITH_CFLAGS="\"$(CFLAGS)\"" -DBUILT_WITH_LDFLAGS="\"$(LDFLAGS)\"" -DBUILT_WITH_LIBS="\"$(LIBS)\""
+ endif
+diff --git a/src/main/unittest.mk b/src/main/unittest.mk
+index 09f3938..ed33952 100644
+--- a/src/main/unittest.mk
++++ b/src/main/unittest.mk
+@@ -21,5 +21,5 @@ TGT_PREREQS += libfreeradius-eap.a
+ endif
+
+ ifneq ($(MAKECMDGOALS),scan)
+-SRC_CFLAGS += -DBUILT_WITH_CPPFLAGS=\"$(CPPFLAGS)\" -DBUILT_WITH_CFLAGS=\"$(CFLAGS)\" -DBUILT_WITH_LDFLAGS=\"$(LDFLAGS)\" -DBUILT_WITH_LIBS=\"$(LIBS)\"
++SRC_CFLAGS += -DBUILT_WITH_CPPFLAGS="\"$(CPPFLAGS)\"" -DBUILT_WITH_CFLAGS="\"$(CFLAGS)\"" -DBUILT_WITH_LDFLAGS="\"$(LDFLAGS)\"" -DBUILT_WITH_LIBS="\"$(LIBS)\""
+ endif
+diff --git a/src/modules/rlm_eap/radeapclient.mk b/src/modules/rlm_eap/radeapclient.mk
+index 6068f54..7d3c556 100644
+--- a/src/modules/rlm_eap/radeapclient.mk
++++ b/src/modules/rlm_eap/radeapclient.mk
+@@ -23,7 +23,7 @@ SRC_CFLAGS += -DWITH_EAPCLIENT
+ SRC_INCDIRS := ${top_srcdir}/src/modules/rlm_eap/libeap
+
+ ifneq ($(MAKECMDGOALS),scan)
+-SRC_CFLAGS += -DBUILT_WITH_CPPFLAGS=\"$(CPPFLAGS)\" -DBUILT_WITH_CFLAGS=\"$(CFLAGS)\" -DBUILT_WITH_LDFLAGS=\"$(LDFLAGS)\" -DBUILT_WITH_LIBS=\"$(LIBS)\"
++SRC_CFLAGS += -DBUILT_WITH_CPPFLAGS="\"$(CPPFLAGS)\"" -DBUILT_WITH_CFLAGS="\"$(CFLAGS)\"" -DBUILT_WITH_LDFLAGS="\"$(LDFLAGS)\"" -DBUILT_WITH_LIBS="\"$(LIBS)\""
+ endif
+
+ endif
+--
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-libtool-detection.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-libtool-detection.patch
new file mode 100644
index 000000000..4eb61ff2e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-libtool-detection.patch
@@ -0,0 +1,89 @@
+From 56ef434e454bcc82c162a83d9bcb076d4fc72b7f Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Thu, 9 Jan 2014 14:30:26 +0800
+Subject: [PATCH] Fix libtool detection
+
+Upstream-Status: pending
+
+Use LT_INIT instead of the deprecated AC_PROG_LIBTOOL to detect libtool, so it
+can work with our libtoolize and libtool.
+
+Simplify the detection of ltdl. It will find the ltdl from the sysroot; the
+switch --with-system-libltdl is no longer needed. The code is copied from
+pulseaudio configure.ac, together with the comment paragraph.
+
+Also patch autogen.sh so it uses autoreconf, which handles libtoolize better.
+
+Signed-off-by: Jesse Zhang <sen.zhang@windriver.com>
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ autogen.sh | 5 +----
+ configure.ac | 36 ++++++++++++++++++++++++++++++++++++
+ 2 files changed, 37 insertions(+), 4 deletions(-)
+
+diff --git a/autogen.sh b/autogen.sh
+index 3418673..e42c3d5 100755
+--- a/autogen.sh
++++ b/autogen.sh
+@@ -5,10 +5,7 @@ parentdir=`dirname $0`
+ cd $parentdir
+ parentdir=`pwd`
+
+-libtoolize -f -c
+-#aclocal
+-autoheader
+-autoconf
++autoreconf -Wcross --verbose --install --force
+
+ mysubdirs="$mysubdirs `find src/modules/ -name configure -print | sed 's%/configure%%'`"
+ mysubdirs=`echo $mysubdirs`
+diff --git a/configure.ac b/configure.ac
+index e73e4ad..066d3d7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -205,6 +205,42 @@ dnl # See if we have Git.
+ dnl #
+ AC_CHECK_PROG(GIT, git, yes, no)
+
++#### libtool stuff ####
++
++dnl set this shit so it doesn't force CFLAGS...
++LTCFLAGS=" "
++
++LT_PREREQ(2.2)
++LT_INIT([dlopen disable-static])
++
++dnl Unfortunately, even up to libtool 2.2.6a there is no way to know
++dnl exactly which version of libltdl is present in the system, so we
++dnl just assume that it's a working version as long as we have the
++dnl library and the header files.
++dnl
++dnl As an extra safety device, check for lt_dladvise_init() which is
++dnl only implemented in libtool 2.x, and refine as we go if we have
++dnl refined requirements.
++dnl
++dnl Check the header files first since the system may have a
++dnl libltdl.so for runtime, but no headers, and we want to bail out as
++dnl soon as possible.
++dnl
++dnl We don't need any special variable for this though, since the user
++dnl can give the proper place to find libltdl through the standard
++dnl variables like LDFLAGS and CPPFLAGS.
++
++AC_CHECK_HEADER([ltdl.h],
++ [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
++ [LIBLTDL=])
++
++AS_IF([test "x$LIBLTDL" = "x"],
++ [AC_MSG_ERROR([Unable to find libltdl version 2. Makes sure you have libtool 2.2 or later installed.])])
++AC_SUBST([LIBLTDL])
++LTDL_SUBDIRS=
++INCLTDL=-DWITH_SYSTEM_LTDL
++AC_SUBST(LTDL_SUBDIRS)
++
+ dnl Put this in later, when all distributed modules use autoconf.
+ dnl AC_ARG_WITH(disablemodulefoo,
+ dnl [ --without-rlm_foo Disables module compilation. Module list:]
+--
+1.8.3
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-libtool-do-not-use-jlibtool.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-libtool-do-not-use-jlibtool.patch
new file mode 100644
index 000000000..1954586b2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-libtool-do-not-use-jlibtool.patch
@@ -0,0 +1,160 @@
+From 16bf899447fc1524ffc3c79e1d35380e5285a552 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Thu, 7 Jan 2016 22:37:30 -0800
+Subject: [PATCH] libtool: do not use jlibtool
+
+jlibtool is hardcoded to be used but we need to use
+our libtool, so fix the makfiles to make it compatible
+with our libtool.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ Make.inc.in | 4 ++--
+ scripts/boiler.mk | 2 ++
+ scripts/install.mk | 14 +++++++-------
+ scripts/libtool.mk | 22 ++++++++++++++++------
+ 4 files changed, 27 insertions(+), 15 deletions(-)
+
+diff --git a/Make.inc.in b/Make.inc.in
+index 7a77625..fd8aa3e 100644
+--- a/Make.inc.in
++++ b/Make.inc.in
+@@ -57,7 +57,7 @@ CPPFLAGS = @CPPFLAGS@
+ LIBPREFIX = @LIBPREFIX@
+ EXEEXT = @EXEEXT@
+
+-LIBTOOL = JLIBTOOL
++LIBTOOL = @LIBTOOL@
+ ACLOCAL = @ACLOCAL@
+ AUTOCONF = @AUTOCONF@
+ AUTOHEADER = @AUTOHEADER@
+@@ -163,7 +163,7 @@ ANALYZE.c := @clang_path@
+ #
+ ifeq "$(USE_SHARED_LIBS)" "yes"
+ TESTBINDIR = ./$(BUILD_DIR)/bin/local
+- TESTBIN = FR_LIBRARY_PATH=./build/lib/.libs $(JLIBTOOL) --quiet --mode=execute $(TESTBINDIR)
++ TESTBIN = FR_LIBRARY_PATH=./build/lib/.libs $(LIBTOOL) --quiet --mode=execute $(TESTBINDIR)
+ else
+ TESTBINDIR = ./$(BUILD_DIR)/bin
+ TESTBIN = ./$(BUILD_DIR)/bin
+diff --git a/scripts/boiler.mk b/scripts/boiler.mk
+index bccec5e..926a13e 100644
+--- a/scripts/boiler.mk
++++ b/scripts/boiler.mk
+@@ -266,6 +266,7 @@ define COMPILE_C_CMDS
+ $(Q)$(ECHO) CC $<
+ $(Q)$(strip ${COMPILE.c} -o $@ -c -MD ${CPPFLAGS} ${CFLAGS} ${SRC_CFLAGS} ${INCDIRS} \
+ $(addprefix -I, ${SRC_INCDIRS}) ${SRC_DEFS} ${DEFS} $<)
++ ${Q}mv $(dir $@)/.libs/$(notdir $*.d) ${BUILD_DIR}/objs/$*.d
+ endef
+ else
+ #
+@@ -281,6 +282,7 @@ define COMPILE_C_CMDS
+ $(Q)cppcheck --enable=style -q ${CHECKFLAGS} $(filter -isystem%,${SRC_CFLAGS}) \
+ $(filter -I%,${SRC_CFLAGS}) $(filter -D%,${SRC_CFLAGS}) ${INCDIRS} \
+ $(addprefix -I,${SRC_INCDIRS}) ${SRC_DEFS} ${DEFS} --suppress=variableScope --suppress=invalidscanf $<
++ ${Q}mv $(dir $@)/.libs/$(notdir $*.d) ${BUILD_DIR}/objs/$*.d
+ endef
+ endif
+
+diff --git a/scripts/install.mk b/scripts/install.mk
+index 9164115..e38c1ed 100644
+--- a/scripts/install.mk
++++ b/scripts/install.mk
+@@ -46,7 +46,7 @@ define ADD_INSTALL_RULE.exe
+ install: $${${1}_INSTALLDIR}/$(notdir ${1})
+
+ # Install executable ${1}
+- $${${1}_INSTALLDIR}/$(notdir ${1}): ${JLIBTOOL} $${${1}_BUILD}/${1} | $${${1}_INSTALLDIR}
++ $${${1}_INSTALLDIR}/$(notdir ${1}): ${LIBTOOL} $${${1}_BUILD}/${1} | $${${1}_INSTALLDIR}
+ @$(ECHO) INSTALL ${1}
+ $(Q)$${PROGRAM_INSTALL} -c -m 755 $${BUILD_DIR}/bin/${1} $${${1}_INSTALLDIR}/
+ $(Q)$${${1}_POSTINSTALL}
+@@ -65,7 +65,7 @@ define ADD_INSTALL_RULE.a
+ install: $${${1}_INSTALLDIR}/$(notdir ${1})
+
+ # Install static library ${1}
+- $${${1}_INSTALLDIR}/$(notdir ${1}): ${JLIBTOOL} ${1} | $${${1}_INSTALLDIR}
++ $${${1}_INSTALLDIR}/$(notdir ${1}): ${LIBTOOL} ${1} | $${${1}_INSTALLDIR}
+ @$(ECHO) INSTALL ${1}
+ $(Q)$${PROGRAM_INSTALL} -c -m 755 $${BUILD_DIR}/lib/${1} $${${1}_INSTALLDIR}/
+ $(Q)$${${1}_POSTINSTALL}
+@@ -87,9 +87,9 @@ define ADD_INSTALL_RULE.la
+ install: $${${1}_INSTALLDIR}/$(notdir ${1})
+
+ # Install libtool library ${1}
+- $${${1}_INSTALLDIR}/$(notdir ${1}): ${JLIBTOOL} $${${1}_BUILD}/${1} | $${${1}_INSTALLDIR}
++ $${${1}_INSTALLDIR}/$(notdir ${1}): ${LIBTOOL} $${${1}_BUILD}/${1} | $${${1}_INSTALLDIR}
+ @$(ECHO) INSTALL ${1}
+- $(Q)$${PROGRAM_INSTALL} -c -m 755 $${LOCAL_FLAGS_MIN} $${BUILD_DIR}/lib/${1} $${${1}_INSTALLDIR}/
++ $(Q)$${PROGRAM_INSTALL} -c -m 755 $${BUILD_DIR}/lib/${1} $${${1}_INSTALLDIR}/
+ $(Q)$${${1}_POSTINSTALL}
+
+ endef
+@@ -107,7 +107,7 @@ define ADD_INSTALL_RULE.man
+ install: ${2}/$(notdir ${1})
+
+ # Install manual page ${1}
+- ${2}/$(notdir ${1}): ${JLIBTOOL} ${1} | ${2}
++ ${2}/$(notdir ${1}): ${LIBTOOL} ${1} | ${2}
+ @$(ECHO) INSTALL $(notdir ${1})
+ $(Q)$${PROGRAM_INSTALL} -c -m 644 ${1} ${2}/
+
+@@ -122,9 +122,9 @@ endef
+ define ADD_INSTALL_RULE.dir
+ # Install directory
+ .PHONY: ${1}
+- ${1}: ${JLIBTOOL}
++ ${1}: ${LIBTOOL}
+ @$(ECHO) INSTALL -d -m 755 ${1}
+- $(Q)$${PROGRAM_INSTALL} -d -m 755 ${1}
++ $(Q)$${INSTALL} -d -m 755 ${1}
+ endef
+
+
+diff --git a/scripts/libtool.mk b/scripts/libtool.mk
+index 57915e1..2cb2f7d 100644
+--- a/scripts/libtool.mk
++++ b/scripts/libtool.mk
+@@ -55,7 +55,9 @@ ifeq "${LIBTOOL}" "JLIBTOOL"
+ # Tell GNU Make to use this value, rather than anything specified
+ # on the command line.
+ override LIBTOOL := ${JLIBTOOL}
+-endif # else we're not using jlibtool
++else # else we're not using jlibtool
++ all install: ${LIBTOOL}
++endif
+
+ # When using libtool, it produces a '.libs' directory. Ensure that it
+ # is removed on "make clean", too.
+@@ -69,11 +71,19 @@ clean: .libs_clean
+ # Re-define compilers and linkers
+ #
+ OBJ_EXT = lo
+-COMPILE.c = ${LIBTOOL} --silent --mode=compile ${CC}
+-COMPILE.cxx = ${LIBTOOL} --mode=compile ${CXX}
+-LINK.c = ${LIBTOOL} --silent --mode=link ${CC}
+-LINK.cxx = ${LIBTOOL} --mode=link ${CXX}
+-PROGRAM_INSTALL = ${LIBTOOL} --silent --mode=install ${INSTALL}
++ifeq "${LIBTOOL}" "JLIBTOOL"
++ COMPILE.c = ${LIBTOOL} --silent --mode=compile ${CC}
++ COMPILE.cxx = ${LIBTOOL} --mode=compile ${CXX}
++ LINK.c = ${LIBTOOL} --silent --mode=link ${CC}
++ LINK.cxx = ${LIBTOOL} --mode=link ${CXX}
++ PROGRAM_INSTALL = ${LIBTOOL} --silent --mode=install ${INSTALL}
++else
++ COMPILE.c = ${LIBTOOL} --mode=compile --tag=CC ${CC}
++ COMPILE.cxx = ${LIBTOOL} --mode=compile --tag=CC ${CXX}
++ LINK.c = ${LIBTOOL} --mode=link --tag=CC ${CC} -module -export-dynamic
++ LINK.cxx = ${LIBTOOL} --mode=link --tag=CC ${CXX} -module -export-dynamic
++ PROGRAM_INSTALL = ${LIBTOOL} --mode=install ${INSTALL}
++endif
+
+
+ # LIBTOOL_ENDINGS - Given a library ending in ".a" or ".so", replace that
+--
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-rlm_python-add-PY_INC_DIR.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-rlm_python-add-PY_INC_DIR.patch
new file mode 100644
index 000000000..675940dd6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-rlm_python-add-PY_INC_DIR.patch
@@ -0,0 +1,33 @@
+From a0bf65e04d2bbd3271cab94bd5ac93f8e877bfc5 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Wed, 27 Jan 2016 05:07:19 -0500
+Subject: [PATCH] rlm_python: add PY_INC_DIR in search dir
+
+Upstream-Status: Pending
+
+configure option --with-rlm-python-include-dir is used to set
+PY_INC_DIR which is never used and it fails to find Python.h,
+so add it into search dir to fix it.
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ src/modules/rlm_python/configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/modules/rlm_python/configure.ac b/src/modules/rlm_python/configure.ac
+index 831a33a..c3792d8 100644
+--- a/src/modules/rlm_python/configure.ac
++++ b/src/modules/rlm_python/configure.ac
+@@ -93,7 +93,7 @@ if test x$with_[]modname != xno; then
+
+ old_CFLAGS=$CFLAGS
+ CFLAGS="$CFLAGS $PY_CFLAGS"
+- smart_try_dir="$PY_PREFIX/include/python$PY_SYS_VERSION"
++ smart_try_dir="$PY_PREFIX/include/python$PY_SYS_VERSION $PY_INC_DIR"
+ FR_SMART_CHECK_INCLUDE(Python.h)
+ CFLAGS=$old_CFLAGS
+
+--
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/radiusd-volatiles.conf b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/radiusd-volatiles.conf
new file mode 100644
index 000000000..fa6296297
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/radiusd-volatiles.conf
@@ -0,0 +1,2 @@
+d /var/log/radius 0755 radiusd radiusd -
+d /var/run/radiusd 0755 radiusd radiusd -
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/radiusd.service b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/radiusd.service
new file mode 100644
index 000000000..899c4e495
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/radiusd.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=FreeRADIUS high performance RADIUS server.
+After=syslog.target network.target
+
+[Service]
+Type=forking
+PIDFile=@STATEDIR@/run/radiusd/radiusd.pid
+ExecStartPre=-@BASE_BINDIR@/chown -R radiusd.radiusd @STATEDIR@/run/radiusd
+ExecStartPre=-@BASE_BINDIR@/sh -c "if [ ! -f @SYSCONFDIR@/raddb/certs/server.pem ]; then sudo -u radiusd @SYSCONFDIR@/raddb/certs/bootstrap; fi"
+ExecStartPre=@SBINDIR@/radiusd -C
+ExecStart=@SBINDIR@/radiusd -d @SYSCONFDIR@/raddb
+ExecReload=@SBINDIR@/radiusd -C
+ExecReload=@BASE_BINDIR@/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/volatiles.58_radiusd b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/volatiles.58_radiusd
new file mode 100644
index 000000000..8cbdae8a6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/volatiles.58_radiusd
@@ -0,0 +1,3 @@
+# <type> <owner> <group> <mode> <path> <linksource>
+d radiusd radiusd 0755 /var/run/radiusd none
+d radiusd radiusd 0755 /var/log/radius none
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.15.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.15.bb
new file mode 100644
index 000000000..4155a4059
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.15.bb
@@ -0,0 +1,222 @@
+DESCRIPTION = "FreeRADIUS is an Internet authentication daemon, which implements the RADIUS \
+protocol, as defined in RFC 2865 (and others). It allows Network Access \
+Servers (NAS boxes) to perform authentication for dial-up users. There are \
+also RADIUS clients available for Web servers, firewalls, Unix logins, and \
+more. Using RADIUS allows authentication and authorization for a network to \
+be centralized, and minimizes the amount of re-configuration which has to be \
+done when adding or deleting new users."
+
+SUMMARY = "High-performance and highly configurable RADIUS server"
+HOMEPAGE = "http://www.freeradius.org/"
+SECTION = "System/Servers"
+LICENSE = "GPLv2 & LGPLv2+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=eb723b61539feef013de476e68b5c50a"
+DEPENDS = "openssl-native openssl libidn libtool libpcap libtalloc"
+
+SRC_URI = "ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-${PV}.tar.bz2 \
+ file://freeradius \
+ file://volatiles.58_radiusd \
+ file://freeradius-enble-user-in-conf.patch \
+ file://freeradius-configure.ac-allow-cross-compilation.patch \
+ file://freeradius-fix-issues-related-to-m4-include-path.patch \
+ file://freeradius-libtool-detection.patch \
+ file://freeradius-configure.ac-add-option-for-libcap.patch \
+ file://freeradius-avoid-searching-host-dirs.patch \
+ file://freeradius-rlm_python-add-PY_INC_DIR.patch \
+ file://freeradius-libtool-do-not-use-jlibtool.patch \
+ file://freeradius-fix-quoting-for-BUILT_WITH.patch \
+ file://freeradius-fix-error-for-expansion-of-macro.patch \
+ file://0001-rlm_mschap-Use-includedir-instead-of-hardcoding-usr-.patch \
+ file://radiusd.service \
+ file://radiusd-volatiles.conf \
+"
+SRC_URI[md5sum] = "0c81a4464ccf1d04f7ef1218a029d37a"
+SRC_URI[sha256sum] = "23267d8505e7b2909f5bdbf3938ca077c1fe122290dc969304d4f3b594f7e3ba"
+
+PARALLEL_MAKE = ""
+
+S = "${WORKDIR}/freeradius-server-${PV}"
+
+EXTRA_OECONF = " --enable-strict-dependencies \
+ --with-docdir=${docdir}/freeradius-${PV} \
+ --with-openssl-includes=${STAGING_INCDIR} \
+ --with-openssl-libraries=${STAGING_LIBDIR} \
+ --without-rlm_ippool \
+ --without-rlm_cache_memcached \
+ --without-rlm_counter \
+ --without-rlm_couchbase \
+ --without-rlm_dbm \
+ --without-rlm_eap_tnc \
+ --without-rlm_eap_ikev2 \
+ --without-rlm_opendirectory \
+ --without-rlm_redis \
+ --without-rlm_rediswho \
+ --without-rlm_sql_db2 \
+ --without-rlm_sql_firebird \
+ --without-rlm_sql_freetds \
+ --without-rlm_sql_iodbc \
+ --without-rlm_sql_oracle \
+ --without-rlm_sql_sybase \
+ --without-rlm_sqlhpwippool \
+ ac_cv_path_PERL=${bindir}/perl \
+ ax_cv_cc_builtin_choose_expr=no \
+ ax_cv_cc_builtin_types_compatible_p=no \
+ ax_cv_cc_builtin_bswap64=no \
+ ax_cv_cc_bounded_attribute=no \
+"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
+ pcre libcap \
+"
+
+PACKAGECONFIG[krb5] = "--with-rlm_krb5,--without-rlm_krb5,krb5"
+PACKAGECONFIG[pam] = "--with-rlm_pam,--without-rlm_pam,libpam"
+PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
+PACKAGECONFIG[ldap] = "--with-rlm_ldap,--without-rlm_ldap,openldap"
+PACKAGECONFIG[mysql] = "--with-rlm_sql_mysql,--without-rlm_sql_mysql,mysql5"
+PACKAGECONFIG[sqlite] = "--with-rlm_sql_sqlite,--without-rlm_sql_sqlite,sqlite3"
+PACKAGECONFIG[unixodbc] = "--with-rlm_sql_unixodbc,--without-rlm_sql_unixodbc,unixodbc"
+PACKAGECONFIG[postgresql] = "--with-rlm_sql_postgresql,--without-rlm_sql_postgresql,postgresql"
+PACKAGECONFIG[pcre] = "--with-pcre,--without-pcre,libpcre"
+PACKAGECONFIG[perl] = "--with-perl=${STAGING_BINDIR_NATIVE}/perl-native/perl --with-rlm_perl,--without-rlm_perl,perl-native perl,perl"
+PACKAGECONFIG[python] = "--with-rlm_python --with-rlm-python-bin=${STAGING_BINDIR_NATIVE}/python-native/python --with-rlm-python-include-dir=${STAGING_INCDIR}/${PYTHON_DIR},--without-rlm_python,python-native python"
+PACKAGECONFIG[rest] = "--with-rlm_rest,--without-rlm_rest,curl json-c"
+PACKAGECONFIG[ruby] = "--with-rlm_ruby,--without-rlm_ruby,ruby"
+
+inherit useradd autotools-brokensep update-rc.d systemd
+
+# This is not a cpan or python based package, but it needs some definitions
+# from cpan-base and python-dir bbclasses for building rlm_perl and rlm_python
+# correctly.
+inherit cpan-base python-dir
+
+# The modules subdirs also need to be processed by autoreconf. Use autogen.sh
+# in order to handle the subdirs correctly.
+do_configure () {
+ ./autogen.sh
+
+ # the configure of rlm_perl needs this to get correct
+ # mod_cflags and mod_ldflags
+ if ${@bb.utils.contains('PACKAGECONFIG', 'perl', 'true', 'false', d)}; then
+ export PERL5LIB="${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}"
+ fi
+
+ oe_runconf
+
+ # we don't need dhcpclient
+ sed -i -e 's/dhcpclient.mk//' ${S}/src/modules/proto_dhcp/all.mk
+}
+
+INITSCRIPT_NAME = "radiusd"
+
+SYSTEMD_SERVICE_${PN} = "radiusd.service"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false --user-group radiusd"
+
+do_install() {
+ rm -rf ${D}
+ mkdir -p ${D}/${sysconfdir}/logrotate.d
+ mkdir -p ${D}/${sysconfdir}/pam.d
+ mkdir -p ${D}/${sysconfdir}/init.d
+ mkdir -p ${D}/${localstatedir}/lib/radiusd
+ mkdir -p ${D}${sysconfdir}/default/volatiles
+
+ export LD_LIBRARY_PATH=${D}/${libdir}
+ oe_runmake install R=${D} INSTALLSTRIP=""
+
+ # remove unsupported config files
+ rm -f ${D}/${sysconfdir}/raddb/experimental.conf
+
+ # remove scripts that required Perl(DBI)
+ rm -rf ${D}/${bindir}/radsqlrelay
+
+ cp -f ${WORKDIR}/freeradius ${D}/etc/init.d/radiusd
+ rm -f ${D}/${sbindir}/rc.radiusd
+ chmod +x ${D}/${sysconfdir}/init.d/radiusd
+ rm -rf ${D}/${localstatedir}/run/
+ install -m 0644 ${WORKDIR}/volatiles.58_radiusd ${D}${sysconfdir}/default/volatiles/58_radiusd
+
+ chown -R radiusd:radiusd ${D}/${sysconfdir}/raddb/
+ chown -R radiusd:radiusd ${D}/${localstatedir}/lib/radiusd
+
+ # For systemd
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/radiusd.service ${D}${systemd_unitdir}/system
+ sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
+ -e 's,@SBINDIR@,${sbindir},g' \
+ -e 's,@STATEDIR@,${localstatedir},g' \
+ -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ ${D}${systemd_unitdir}/system/radiusd.service
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/tmpfiles.d/
+ install -m 0644 ${WORKDIR}/radiusd-volatiles.conf ${D}${sysconfdir}/tmpfiles.d/
+ fi
+}
+
+# This is only needed when we install/update on a running target.
+#
+pkg_postinst_${PN} () {
+ if [ -z "$D" ]; then
+ if command -v systemd-tmpfiles >/dev/null; then
+ # create /var/log/radius, /var/run/radiusd
+ systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/radiusd-volatiles.conf
+ elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
+ ${sysconfdir}/init.d/populate-volatile.sh update
+ fi
+
+ # Fix ownership for /etc/raddb/*, /var/lib/radiusd
+ chown -R radiusd:radiusd ${sysconfdir}/raddb
+ chown -R radiusd:radiusd ${localstatedir}/lib/radiusd
+ fi
+}
+
+# We really need the symlink :(
+INSANE_SKIP_${PN} = "dev-so"
+INSANE_SKIP_${PN}-krb5 = "dev-so"
+INSANE_SKIP_${PN}-ldap = "dev-so"
+INSANE_SKIP_${PN}-mysql = "dev-so"
+INSANE_SKIP_${PN}-perl = "dev-so"
+INSANE_SKIP_${PN}-postgresql = "dev-so"
+INSANE_SKIP_${PN}-python = "dev-so"
+INSANE_SKIP_${PN}-unixodbc = "dev-so"
+
+PACKAGES =+ "${PN}-utils ${PN}-ldap ${PN}-krb5 ${PN}-perl \
+ ${PN}-python ${PN}-mysql ${PN}-postgresql ${PN}-unixodbc"
+
+FILES_${PN}-utils = "${bindir}/*"
+
+FILES_${PN}-ldap = "${libdir}/rlm_ldap.so* \
+ ${sysconfdir}/raddb/mods-available/ldap \
+"
+
+FILES_${PN}-krb5 = "${libdir}/rlm_krb5.so* \
+ ${sysconfdir}/raddb/mods-available/krb5 \
+"
+
+FILES_${PN}-perl = "${libdir}/rlm_perl.so* \
+ ${sysconfdir}/raddb/mods-config/perl \
+ ${sysconfdir}/raddb/mods-available/perl \
+"
+
+FILES_${PN}-python = "${libdir}/rlm_python.so* \
+ ${sysconfdir}/raddb/mods-config/python \
+ ${sysconfdir}/raddb/mods-available/python \
+"
+
+FILES_${PN}-mysql = "${libdir}/rlm_sql_mysql.so* \
+ ${sysconfdir}/raddb/mods-config/sql/*/mysql \
+ ${sysconfdir}/raddb/mods-available/sql \
+"
+
+FILES_${PN}-postgresql = "${libdir}/rlm_sql_postgresql.so* \
+ ${sysconfdir}/raddb/mods-config/sql/*/postgresql \
+"
+
+FILES_${PN}-unixodbc = "${libdir}/rlm_sql_unixodbc.so*"
+
+FILES_${PN} =+ "${libdir}/rlm_*.so* ${libdir}/proto_*so*"
+
+RDEPENDS_${PN} += "perl"
+RDEPENDS_${PN}-utils = "${PN}"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.12.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.12.bb
index f48b6553b..e579de507 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.12.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.12.bb
@@ -13,3 +13,4 @@ inherit autotools
acpaths = "-I ./config/"
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.0.bb
new file mode 100644
index 000000000..c6f36e137
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.0.bb
@@ -0,0 +1,37 @@
+SUMMARY = "Lightweight UPnP IGD daemon"
+DESCRIPTION = "The miniUPnP daemon is an UPnP IGD (internet gateway device) \
+which provide NAT traversal services to any UPnP enabled client on \
+the network."
+
+SECTION = "networking"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=aa71c78c373ccfe0ff207af0cd966d91"
+
+inherit autotools gettext pkgconfig
+
+DEPENDS += "iptables net-tools util-linux libmnl libnetfilter-conntrack"
+
+SRC_URI = "http://miniupnp.tuxfamily.org/files/download.php?file=${P}.tar.gz;downloadfilename=${P}.tar.gz \
+"
+SRC_URI[md5sum] = "1c07a215dd9b362e75a9efc05e2fb3b4"
+SRC_URI[sha256sum] = "d96aa3a00e0f5490826bba3cb97e68cd27479e5839adac4b9bcb66eae786bfb7"
+
+IPV6 = "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '--ipv6', '', d)}"
+
+do_compile() {
+ cd ${S}
+ CONFIG_OPTIONS="${IPV6} --leasefile --vendorcfg" oe_runmake -f Makefile.linux
+}
+
+do_install() {
+ install -d ${D}/${sbindir}
+ install ${S}/miniupnpd ${D}/${sbindir}
+ install -d ${D}/${sysconfdir}/${BPN}
+ install ${S}/netfilter/iptables_init.sh ${D}/${sysconfdir}/${BPN}
+ install ${S}/netfilter/iptables_removeall.sh ${D}/${sysconfdir}/${BPN}
+ install ${S}/netfilter/ip6tables_init.sh ${D}/${sysconfdir}/${BPN}
+ install ${S}/netfilter/ip6tables_removeall.sh ${D}/${sysconfdir}/${BPN}
+ install -m 0644 -b ${S}/miniupnpd.conf ${D}/${sysconfdir}/${BPN}
+ install -d ${D}/${sysconfdir}/init.d
+ install ${S}/linux/miniupnpd.init.d.script ${D}/${sysconfdir}/init.d/miniupnpd
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.8.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.8.bb
index cce3f9188..cce3f9188 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.8.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.8.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0001-adjust-net-headers-for-musl-compatibility.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-adjust-net-headers-for-musl-compatibility.patch
index ced0c7cff..ced0c7cff 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0001-adjust-net-headers-for-musl-compatibility.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-adjust-net-headers-for-musl-compatibility.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0001-check-for-strndupa-before-using-it.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-check-for-strndupa-before-using-it.patch
index 26f380bf9..26f380bf9 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0001-check-for-strndupa-before-using-it.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-check-for-strndupa-before-using-it.patch
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-dns-resolved-add-systemd-resolved-backend.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-dns-resolved-add-systemd-resolved-backend.patch
new file mode 100644
index 000000000..bd194a61d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-dns-resolved-add-systemd-resolved-backend.patch
@@ -0,0 +1,621 @@
+From: Sjoerd Simons <sjoerd@luon.net>
+Date: Sun, 21 Aug 2016 21:46:02 +0200
+Subject: [PATCH] dns/resolved: add systemd-resolved backend
+
+Add initial DNS backend that pushes DNS information into
+systemd-resolved. Backend is choosen by default if the systems
+resolv.conv is setup to pointing to one of the standard resolved
+locations.
+
+This doesn't handle global dns configuration.
+
+Signed-off-by: Sjoerd Simons <sjoerd@luon.net>
+
+https://bugzilla.gnome.org/show_bug.cgi?id=762540
+
+Upstream-Status: Backport
+
+---
+ man/NetworkManager.conf.xml | 10 +-
+ src/Makefile.am | 2 +
+ src/dns-manager/nm-dns-manager.c | 43 ++-
+ src/dns-manager/nm-dns-systemd-resolved.c | 427 ++++++++++++++++++++++++++++++
+ src/dns-manager/nm-dns-systemd-resolved.h | 45 ++++
+ 5 files changed, 523 insertions(+), 4 deletions(-)
+ create mode 100644 src/dns-manager/nm-dns-systemd-resolved.c
+ create mode 100644 src/dns-manager/nm-dns-systemd-resolved.h
+
+diff --git a/man/NetworkManager.conf.xml b/man/NetworkManager.conf.xml
+index 6295b82..0a67ae5 100644
+--- a/man/NetworkManager.conf.xml
++++ b/man/NetworkManager.conf.xml
+@@ -275,10 +275,12 @@ no-auto-default=*
+ <varlistentry>
+ <term><varname>dns</varname></term>
+ <listitem><para>Set the DNS (<filename>resolv.conf</filename>) processing mode.</para>
+- <para><literal>default</literal>: The default if the key is
+- not specified. NetworkManager will update
++ <para><literal>default</literal>: NetworkManager will update
+ <filename>resolv.conf</filename> to reflect the nameservers
+- provided by currently active connections.</para>
++ provided by currently active connections. This is the default
++ if the key is not specified, unless the system is configured
++ to use systemd-resolved; in this case the default is
++ <literal>systemd-resolved</literal></para>
+ <para><literal>dnsmasq</literal>: NetworkManager will run
+ dnsmasq as a local caching nameserver, using a "split DNS"
+ configuration if you are connected to a VPN, and then update
+@@ -288,6 +290,8 @@ no-auto-default=*
+ to unbound and dnssec-triggerd, providing a "split DNS"
+ configuration with DNSSEC support. The <filename>/etc/resolv.conf</filename>
+ will be managed by dnssec-trigger daemon.</para>
++ <para><literal>systemd-resolved</literal>: NetworkManager will
++ push the DNS configuration to systemd-resolved</para>
+ <para><literal>none</literal>: NetworkManager will not
+ modify resolv.conf. This implies
+ <literal>rc-manager</literal>&nbsp;<literal>unmanaged</literal></para>
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 8d29b19..10f63de 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -345,6 +345,8 @@ libNetworkManager_la_SOURCES = \
+ \
+ dns-manager/nm-dns-dnsmasq.c \
+ dns-manager/nm-dns-dnsmasq.h \
++ dns-manager/nm-dns-systemd-resolved.c \
++ dns-manager/nm-dns-systemd-resolved.h \
+ dns-manager/nm-dns-unbound.c \
+ dns-manager/nm-dns-unbound.h \
+ dns-manager/nm-dns-manager.c \
+diff --git a/src/dns-manager/nm-dns-manager.c b/src/dns-manager/nm-dns-manager.c
+index 5a758a9..38bc786 100644
+--- a/src/dns-manager/nm-dns-manager.c
++++ b/src/dns-manager/nm-dns-manager.c
+@@ -45,6 +45,7 @@
+
+ #include "nm-dns-plugin.h"
+ #include "nm-dns-dnsmasq.h"
++#include "nm-dns-systemd-resolved.h"
+ #include "nm-dns-unbound.h"
+
+ #if WITH_LIBSOUP
+@@ -1588,6 +1589,37 @@ _check_resconf_immutable (NMDnsManagerResolvConfManager rc_manager)
+
+ NM_DEFINE_SINGLETON_GETTER (NMDnsManager, nm_dns_manager_get, NM_TYPE_DNS_MANAGER);
+
++static gboolean
++_resolvconf_resolved_managed (void)
++{
++ static const char *const resolved_paths[] = {
++ "/run/systemd/resolve/resolv.conf",
++ "/lib/systemd/resolv.conf",
++ "/usr/lib/systemd/resolv.conf",
++ };
++ GFile *f;
++ GFileInfo *info;
++ gboolean ret = FALSE;
++
++ f = g_file_new_for_path (_PATH_RESCONF);
++ info = g_file_query_info (f,
++ G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK","\
++ G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET,
++ G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,
++ NULL, NULL);
++
++ if (info && g_file_info_get_is_symlink (info)) {
++ ret = _nm_utils_strv_find_first ((gchar **) resolved_paths,
++ G_N_ELEMENTS (resolved_paths),
++ g_file_info_get_symlink_target (info)) >= 0;
++ }
++
++ g_clear_object(&info);
++ g_clear_object(&f);
++
++ return ret;
++}
++
+ static void
+ init_resolv_conf_mode (NMDnsManager *self, gboolean force_reload_plugin)
+ {
+@@ -1633,7 +1665,16 @@ again:
+
+ rc_manager = _check_resconf_immutable (rc_manager);
+
+- if (nm_streq0 (mode, "dnsmasq")) {
++ if ( (!mode && _resolvconf_resolved_managed ())
++ || nm_streq0 (mode, "systemd-resolved")) {
++ if ( force_reload_plugin
++ || !NM_IS_DNS_SYSTEMD_RESOLVED (priv->plugin)) {
++ _clear_plugin (self);
++ priv->plugin = nm_dns_systemd_resolved_new ();
++ plugin_changed = TRUE;
++ }
++ mode = "systemd-resolved";
++ } else if (nm_streq0 (mode, "dnsmasq")) {
+ if (force_reload_plugin || !NM_IS_DNS_DNSMASQ (priv->plugin)) {
+ _clear_plugin (self);
+ priv->plugin = nm_dns_dnsmasq_new ();
+diff --git a/src/dns-manager/nm-dns-systemd-resolved.c b/src/dns-manager/nm-dns-systemd-resolved.c
+new file mode 100644
+index 0000000..6bdd5f6
+--- /dev/null
++++ b/src/dns-manager/nm-dns-systemd-resolved.c
+@@ -0,0 +1,427 @@
++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
++/*
++ * Copyright (C) 2010 Dan Williams <dcbw@redhat.com>
++ * Copyright (C) 2016 Sjoerd Simons <sjoerd@luon.net>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2, or (at your option)
++ * any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License along
++ * with this program; if not, write to the Free Software Foundation, Inc.,
++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
++ *
++ */
++
++#include "nm-default.h"
++
++#include "nm-dns-systemd-resolved.h"
++
++#include <stdlib.h>
++#include <unistd.h>
++#include <sys/types.h>
++#include <sys/wait.h>
++#include <arpa/inet.h>
++#include <sys/stat.h>
++#include <linux/if.h>
++
++#include "nm-core-internal.h"
++#include "nm-platform.h"
++#include "nm-utils.h"
++#include "nm-ip4-config.h"
++#include "nm-ip6-config.h"
++#include "nm-bus-manager.h"
++#include "nm-manager.h"
++#include "nm-device.h"
++#include "NetworkManagerUtils.h"
++
++G_DEFINE_TYPE (NMDnsSystemdResolved, nm_dns_systemd_resolved, NM_TYPE_DNS_PLUGIN)
++
++#define NM_DNS_SYSTEMD_RESOLVED_GET_PRIVATE(o) \
++ (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DNS_SYSTEMD_RESOLVED, \
++ NMDnsSystemdResolvedPrivate))
++
++#define SYSTEMD_RESOLVED_DBUS_SERVICE "org.freedesktop.resolve1"
++#define SYSTEMD_RESOLVED_DBUS_PATH "/org/freedesktop/resolve1"
++
++typedef struct {
++ int ifindex;
++ GList *configs;
++} InterfaceConfig;
++
++typedef struct {
++ GDBusProxy *resolve;
++ GCancellable *init_cancellable;
++ GCancellable *update_cancellable;
++ GQueue dns_updates;
++ GQueue domain_updates;
++} NMDnsSystemdResolvedPrivate;
++
++/*****************************************************************************/
++
++#define _NMLOG_DOMAIN LOGD_DNS
++#define _NMLOG_PREFIX_NAME "systemd-resolved"
++#define _NMLOG(level, ...) \
++ G_STMT_START { \
++ nm_log ((level), _NMLOG_DOMAIN, \
++ "%s[%p]: " _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
++ _NMLOG_PREFIX_NAME, \
++ (self) \
++ _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
++ } G_STMT_END
++
++/*****************************************************************************/
++
++static void
++call_done (GObject *source, GAsyncResult *r, gpointer user_data)
++{
++ GVariant *v;
++ GError *error = NULL;
++ NMDnsSystemdResolved *self = (NMDnsSystemdResolved *) user_data;
++
++ v = g_dbus_proxy_call_finish (G_DBUS_PROXY (source), r, &error);
++
++ if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
++ return;
++
++ if (error != NULL) {
++ _LOGW ("Failed: %s\n", error->message);
++ g_error_free (error);
++ }
++}
++
++static void
++add_interface_configuration (NMDnsSystemdResolved *self,
++ GArray *interfaces,
++ const NMDnsIPConfigData *data)
++{
++ int i;
++ InterfaceConfig *ic = NULL;
++ int ifindex;
++ NMDevice *device;
++
++ if (NM_IS_IP4_CONFIG (data->config))
++ ifindex = nm_ip4_config_get_ifindex (data->config);
++ else if (NM_IS_IP6_CONFIG (data->config))
++ ifindex = nm_ip6_config_get_ifindex (data->config);
++ else
++ g_return_if_reached ();
++
++ device = nm_manager_get_device_by_ifindex (nm_manager_get (), ifindex);
++
++ if (!nm_device_get_managed (device, FALSE))
++ return;
++
++ for (i = 0; i < interfaces->len; i++) {
++ InterfaceConfig *tic = &g_array_index (interfaces, InterfaceConfig, i);
++ if (ifindex == tic->ifindex) {
++ ic = tic;
++ break;
++ }
++ }
++
++ if (!ic) {
++ g_array_set_size (interfaces, interfaces->len + 1);
++ ic = &g_array_index (interfaces, InterfaceConfig,
++ interfaces->len - 1);
++ ic->ifindex = ifindex;
++ }
++
++ ic->configs = g_list_append (ic->configs, data->config);
++}
++
++static void
++add_domain (GVariantBuilder *domains,
++ const char *domain,
++ gboolean never_default)
++{
++ /* If this link is never the default (e.g. only used for resources on this
++ * network) add a routing domain. */
++ g_variant_builder_add (domains, "(sb)", domain, never_default);
++}
++
++static void
++update_add_ip6_config (NMDnsSystemdResolved *self,
++ GVariantBuilder *dns,
++ GVariantBuilder *domains,
++ const NMIP6Config *config)
++{
++ guint i, n;
++
++ n = nm_ip6_config_get_num_nameservers (config);
++ for (i = 0 ; i < n; i++) {
++ const struct in6_addr *ip;
++
++ g_variant_builder_open (dns, G_VARIANT_TYPE ("(iay)"));
++ g_variant_builder_add (dns, "i", AF_INET6);
++ ip = nm_ip6_config_get_nameserver (config, i),
++
++ g_variant_builder_add_value (dns, g_variant_new_fixed_array (G_VARIANT_TYPE_BYTE, ip, 16, 1));
++ g_variant_builder_close (dns);
++ }
++
++ n = nm_ip6_config_get_num_searches (config);
++ if (n > 0) {
++ for (i = 0; i < n; i++) {
++ add_domain (domains, nm_ip6_config_get_search (config, i),
++ nm_ip6_config_get_never_default (config));
++ }
++ } else {
++ n = nm_ip6_config_get_num_domains (config);
++ for (i = 0; i < n; i++) {
++ add_domain (domains, nm_ip6_config_get_domain (config, i),
++ nm_ip6_config_get_never_default (config));
++ }
++ }
++}
++
++static void
++update_add_ip4_config (NMDnsSystemdResolved *self,
++ GVariantBuilder *dns,
++ GVariantBuilder *domains,
++ const NMIP4Config *config)
++{
++ guint i, n;
++
++ n = nm_ip4_config_get_num_nameservers (config);
++ for (i = 0 ; i < n; i++) {
++ guint32 ns;
++
++ g_variant_builder_open (dns, G_VARIANT_TYPE ("(iay)"));
++ g_variant_builder_add (dns, "i", AF_INET);
++ ns = nm_ip4_config_get_nameserver (config, i),
++
++ g_variant_builder_add_value (dns, g_variant_new_fixed_array (G_VARIANT_TYPE_BYTE, &ns, 4, 1));
++ g_variant_builder_close (dns);
++ }
++
++ n = nm_ip4_config_get_num_searches (config);
++ if (n > 0) {
++ for (i = 0; i < n; i++) {
++ add_domain (domains, nm_ip4_config_get_search (config, i),
++ nm_ip4_config_get_never_default (config));
++ }
++ } else {
++ n = nm_ip4_config_get_num_domains (config);
++ for (i = 0; i < n; i++) {
++ add_domain (domains, nm_ip4_config_get_domain (config, i),
++ nm_ip4_config_get_never_default (config));
++ }
++ }
++}
++
++static void
++free_pending_updates (NMDnsSystemdResolved *self)
++{
++ NMDnsSystemdResolvedPrivate *priv = NM_DNS_SYSTEMD_RESOLVED_GET_PRIVATE (self);
++ GVariant *v;
++
++ while ((v = g_queue_pop_head (&priv->dns_updates)) != NULL)
++ g_variant_unref (v);
++
++ while ((v = g_queue_pop_head (&priv->domain_updates)) != NULL)
++ g_variant_unref (v);
++}
++
++static void
++prepare_one_interface (NMDnsSystemdResolved *self, InterfaceConfig *ic)
++{
++ NMDnsSystemdResolvedPrivate *priv = NM_DNS_SYSTEMD_RESOLVED_GET_PRIVATE (self);
++ GVariantBuilder dns, domains;
++ GList *l;
++
++ g_variant_builder_init (&dns, G_VARIANT_TYPE ("(ia(iay))"));
++ g_variant_builder_add (&dns, "i", ic->ifindex);
++ g_variant_builder_open (&dns, G_VARIANT_TYPE ("a(iay)"));
++
++ g_variant_builder_init (&domains, G_VARIANT_TYPE ("(ia(sb))"));
++ g_variant_builder_add (&domains, "i", ic->ifindex);
++ g_variant_builder_open (&domains, G_VARIANT_TYPE ("a(sb)"));
++
++ for (l = ic->configs ; l != NULL ; l = g_list_next (l)) {
++ if (NM_IS_IP4_CONFIG (l->data))
++ update_add_ip4_config (self, &dns, &domains, l->data);
++ else if (NM_IS_IP6_CONFIG (l->data))
++ update_add_ip6_config (self, &dns, &domains, l->data);
++ else
++ g_assert_not_reached ();
++ }
++ g_variant_builder_close (&dns);
++ g_variant_builder_close (&domains);
++
++ g_queue_push_tail (&priv->dns_updates,
++ g_variant_ref_sink (g_variant_builder_end (&dns)));
++ g_queue_push_tail (&priv->domain_updates,
++ g_variant_ref_sink (g_variant_builder_end (&domains)));
++}
++
++static void
++send_updates (NMDnsSystemdResolved *self)
++{
++ NMDnsSystemdResolvedPrivate *priv = NM_DNS_SYSTEMD_RESOLVED_GET_PRIVATE (self);
++ GVariant *v;
++
++ nm_clear_g_cancellable (&priv->update_cancellable);
++
++ if (!priv->resolve)
++ return;
++
++ priv->update_cancellable = g_cancellable_new ();
++
++ while ((v = g_queue_pop_head (&priv->dns_updates)) != NULL) {
++ g_dbus_proxy_call (priv->resolve, "SetLinkDNS", v,
++ G_DBUS_CALL_FLAGS_NONE,
++ -1, priv->update_cancellable, call_done, self);
++ g_variant_unref (v);
++ }
++
++ while ((v = g_queue_pop_head (&priv->domain_updates)) != NULL) {
++ g_dbus_proxy_call (priv->resolve, "SetLinkDomains", v,
++ G_DBUS_CALL_FLAGS_NONE,
++ -1, priv->update_cancellable, call_done, self);
++ g_variant_unref (v);
++ }
++}
++
++static gboolean
++update (NMDnsPlugin *plugin,
++ const NMDnsIPConfigData **configs,
++ const NMGlobalDnsConfig *global_config,
++ const char *hostname)
++{
++ NMDnsSystemdResolved *self = NM_DNS_SYSTEMD_RESOLVED (plugin);
++ GArray *interfaces = g_array_new (TRUE, TRUE, sizeof (InterfaceConfig));
++ const NMDnsIPConfigData **c;
++ int i;
++
++ for (c = configs; *c != NULL; c++)
++ add_interface_configuration (self, interfaces, *c);
++
++ free_pending_updates (self);
++
++ for (i = 0; i < interfaces->len; i++) {
++ InterfaceConfig *ic = &g_array_index (interfaces, InterfaceConfig, i);
++
++ prepare_one_interface (self, ic);
++ g_list_free (ic->configs);
++ }
++
++ g_array_free (interfaces, TRUE);
++
++ send_updates (self);
++
++ return TRUE;
++}
++
++/****************************************************************/
++
++static gboolean
++is_caching (NMDnsPlugin *plugin)
++{
++ return TRUE;
++}
++
++static const char *
++get_name (NMDnsPlugin *plugin)
++{
++ return "systemd-resolved";
++}
++
++/****************************************************************/
++
++NMDnsPlugin *
++nm_dns_systemd_resolved_new (void)
++{
++ return g_object_new (NM_TYPE_DNS_SYSTEMD_RESOLVED, NULL);
++}
++
++static void
++resolved_proxy_created (GObject *source, GAsyncResult *r, gpointer user_data)
++{
++ NMDnsSystemdResolved *self = (NMDnsSystemdResolved *) user_data;
++ NMDnsSystemdResolvedPrivate *priv;
++ gs_free_error GError *error = NULL;
++ GDBusProxy *resolve;
++
++ resolve = g_dbus_proxy_new_finish (r, &error);
++ if ( !resolve
++ && g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
++ return;
++
++ priv = NM_DNS_SYSTEMD_RESOLVED_GET_PRIVATE (self);
++ g_clear_object (&priv->init_cancellable);
++ if (!resolve) {
++ _LOGW ("failed to connect to resolved via DBus: %s", error->message);
++ g_signal_emit_by_name (self, NM_DNS_PLUGIN_FAILED);
++ return;
++ }
++
++ priv->resolve = resolve;
++ send_updates (self);
++}
++
++
++static void
++nm_dns_systemd_resolved_init (NMDnsSystemdResolved *self)
++{
++ NMDnsSystemdResolvedPrivate *priv = NM_DNS_SYSTEMD_RESOLVED_GET_PRIVATE (self);
++ NMBusManager *dbus_mgr;
++ GDBusConnection *connection;
++
++ g_queue_init (&priv->dns_updates);
++ g_queue_init (&priv->domain_updates);
++
++ dbus_mgr = nm_bus_manager_get ();
++ g_return_if_fail (dbus_mgr);
++
++ connection = nm_bus_manager_get_connection (dbus_mgr);
++ g_return_if_fail (connection);
++
++ priv->init_cancellable = g_cancellable_new ();
++ g_dbus_proxy_new (connection,
++ G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES |
++ G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS,
++ NULL,
++ SYSTEMD_RESOLVED_DBUS_SERVICE,
++ SYSTEMD_RESOLVED_DBUS_PATH,
++ SYSTEMD_RESOLVED_DBUS_SERVICE ".Manager",
++ priv->init_cancellable,
++ resolved_proxy_created,
++ self);
++}
++
++static void
++dispose (GObject *object)
++{
++ NMDnsSystemdResolved *self = NM_DNS_SYSTEMD_RESOLVED (object);
++ NMDnsSystemdResolvedPrivate *priv = NM_DNS_SYSTEMD_RESOLVED_GET_PRIVATE (self);
++
++ free_pending_updates (self);
++ g_clear_object (&priv->resolve);
++ nm_clear_g_cancellable (&priv->init_cancellable);
++ nm_clear_g_cancellable (&priv->update_cancellable);
++
++ G_OBJECT_CLASS (nm_dns_systemd_resolved_parent_class)->dispose (object);
++}
++
++static void
++nm_dns_systemd_resolved_class_init (NMDnsSystemdResolvedClass *dns_class)
++{
++ NMDnsPluginClass *plugin_class = NM_DNS_PLUGIN_CLASS (dns_class);
++ GObjectClass *object_class = G_OBJECT_CLASS (dns_class);
++
++ g_type_class_add_private (dns_class, sizeof (NMDnsSystemdResolvedPrivate));
++
++ object_class->dispose = dispose;
++
++ plugin_class->is_caching = is_caching;
++ plugin_class->update = update;
++ plugin_class->get_name = get_name;
++}
++
+diff --git a/src/dns-manager/nm-dns-systemd-resolved.h b/src/dns-manager/nm-dns-systemd-resolved.h
+new file mode 100644
+index 0000000..45c64b3
+--- /dev/null
++++ b/src/dns-manager/nm-dns-systemd-resolved.h
+@@ -0,0 +1,45 @@
++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
++/* This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2, or (at your option)
++ * any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License along
++ * with this program; if not, write to the Free Software Foundation, Inc.,
++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
++ *
++ * Copyright (C) 2010 Red Hat, Inc.
++ * Copyright (C) 2016 Sjoerd Simons <sjoerd@luon.net>
++ */
++
++#ifndef __NETWORKMANAGER_DNS_SYSTEMD_RESOLVED_H__
++#define __NETWORKMANAGER_DNS_SYSTEMD_RESOLVED_H__
++
++#include "nm-dns-plugin.h"
++
++#define NM_TYPE_DNS_SYSTEMD_RESOLVED (nm_dns_systemd_resolved_get_type ())
++#define NM_DNS_SYSTEMD_RESOLVED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_DNS_SYSTEMD_RESOLVED, NMDnsSystemdResolved))
++#define NM_DNS_SYSTEMD_RESOLVED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_DNS_SYSTEMD_RESOLVED, NMDnsSystemdResolvedClass))
++#define NM_IS_DNS_SYSTEMD_RESOLVED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_DNS_SYSTEMD_RESOLVED))
++#define NM_IS_DNS_SYSTEMD_RESOLVED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_DNS_SYSTEMD_RESOLVED))
++#define NM_DNS_SYSTEMD_RESOLVED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_DNS_SYSTEMD_RESOLVED, NMDnsSystemdResolvedClass))
++
++typedef struct {
++ NMDnsPlugin parent;
++} NMDnsSystemdResolved;
++
++typedef struct {
++ NMDnsPluginClass parent;
++} NMDnsSystemdResolvedClass;
++
++GType nm_dns_systemd_resolved_get_type (void);
++
++NMDnsPlugin *nm_dns_systemd_resolved_new (void);
++
++#endif /* __NETWORKMANAGER_DNS_SYSTEMD_RESOLVED_H__ */
++
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-dns-resolved-also-check-for-etc-resolv-conf.systemd.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-dns-resolved-also-check-for-etc-resolv-conf.systemd.patch
new file mode 100644
index 000000000..ca7e4a496
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-dns-resolved-also-check-for-etc-resolv-conf.systemd.patch
@@ -0,0 +1,29 @@
+From 6f799f1f0e68cc7bf89c0a56aec5ecf46937619d Mon Sep 17 00:00:00 2001
+From: Ricardo Salveti <rsalveti@rsalveti.net>
+Date: Thu, 15 Jun 2017 10:02:38 -0300
+Subject: [PATCH] dns/resolved: also check for /etc/resolv-conf.systemd
+
+OE specific resolv.conf path, so it can be enabled by default if available.
+
+Upstream-Status: Inappropriate [OE config specific]
+
+Signed-off-by: Ricardo Salveti <rsalveti@rsalveti.net>
+---
+ src/dns-manager/nm-dns-manager.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/dns-manager/nm-dns-manager.c b/src/dns-manager/nm-dns-manager.c
+index c1d2bf7..d70d4b4 100644
+--- a/src/dns-manager/nm-dns-manager.c
++++ b/src/dns-manager/nm-dns-manager.c
+@@ -1596,6 +1596,7 @@ _resolvconf_resolved_managed (void)
+ "/run/systemd/resolve/resolv.conf",
+ "/lib/systemd/resolv.conf",
+ "/usr/lib/systemd/resolv.conf",
++ "/etc/resolv-conf.systemd",
+ };
+ GFile *f;
+ GFileInfo *info;
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0001-don-t-try-to-run-sbin-dhclient-to-get-the-version-nu.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-don-t-try-to-run-sbin-dhclient-to-get-the-version-nu.patch
index 5c9ed92b8..5c9ed92b8 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0001-don-t-try-to-run-sbin-dhclient-to-get-the-version-nu.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-don-t-try-to-run-sbin-dhclient-to-get-the-version-nu.patch
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-systemd-xlocale.h-is-dropped-by-newer-glibc.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-systemd-xlocale.h-is-dropped-by-newer-glibc.patch
new file mode 100644
index 000000000..4234e2be2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-systemd-xlocale.h-is-dropped-by-newer-glibc.patch
@@ -0,0 +1,29 @@
+From a9bfe6f2029d75caf28fcdf3e740843cf6359615 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 27 Jun 2017 07:31:25 -0700
+Subject: [PATCH 1/2] systemd: xlocale.h is dropped by newer glibc
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/systemd/src/basic/parse-util.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/src/systemd/src/basic/parse-util.c b/src/systemd/src/basic/parse-util.c
+index 9c21e5a..dd95d1f 100644
+--- a/src/systemd/src/basic/parse-util.c
++++ b/src/systemd/src/basic/parse-util.c
+@@ -25,11 +25,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+-#ifdef __GLIBC__
+-#include <xlocale.h>
+-#else
+ #include <locale.h>
+-#endif
+ #include "alloc-util.h"
+ #include "extract-word.h"
+ #include "macro.h"
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-Fix-nm-version-macro-includes.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Fix-nm-version-macro-includes.patch
index aa57c832c..aa57c832c 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-Fix-nm-version-macro-includes.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Fix-nm-version-macro-includes.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-socket-util.h-Include-linux-sockios.h-on-musl.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-socket-util.h-Include-linux-sockios.h-on-musl.patch
index 22bc6e8bd..22bc6e8bd 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-socket-util.h-Include-linux-sockios.h-on-musl.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-socket-util.h-Include-linux-sockios.h-on-musl.patch
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-user-format-string-in-g_dbus_message_new_method_erro.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-user-format-string-in-g_dbus_message_new_method_erro.patch
new file mode 100644
index 000000000..e32b5c00d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-user-format-string-in-g_dbus_message_new_method_erro.patch
@@ -0,0 +1,67 @@
+From adc0668b854289a11cfc29597b5566ba1869d17e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 27 Jun 2017 07:32:09 -0700
+Subject: [PATCH 2/2] user format string in g_dbus_message_new_method_error ()
+
+This fixes format errors with -Werror=format-security
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/nm-manager.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/nm-manager.c b/src/nm-manager.c
+index c3d65cd..e814912 100644
+--- a/src/nm-manager.c
++++ b/src/nm-manager.c
+@@ -4871,6 +4871,7 @@ prop_set_auth_done_cb (NMAuthChain *chain,
+ if (error || (result != NM_AUTH_CALL_RESULT_YES)) {
+ reply = g_dbus_message_new_method_error (pfd->message,
+ NM_PERM_DENIED_ERROR,
++ "%s",
+ (error_message = "Not authorized to perform this operation"));
+ if (error)
+ error_message = error->message;
+@@ -4882,6 +4883,7 @@ prop_set_auth_done_cb (NMAuthChain *chain,
+ if (!object) {
+ reply = g_dbus_message_new_method_error (pfd->message,
+ "org.freedesktop.DBus.Error.UnknownObject",
++ "%s",
+ (error_message = "Object doesn't exist."));
+ goto done;
+ }
+@@ -4890,6 +4892,7 @@ prop_set_auth_done_cb (NMAuthChain *chain,
+ if (!nm_exported_object_get_interface_by_type (object, pfd->interface_type)) {
+ reply = g_dbus_message_new_method_error (pfd->message,
+ "org.freedesktop.DBus.Error.InvalidArgs",
++ "%s",
+ (error_message = "Object is of unexpected type."));
+ goto done;
+ }
+@@ -4905,6 +4908,7 @@ prop_set_auth_done_cb (NMAuthChain *chain,
+ if (global_dns && !nm_global_dns_config_is_internal (global_dns)) {
+ reply = g_dbus_message_new_method_error (pfd->message,
+ NM_PERM_DENIED_ERROR,
++ "%s",
+ (error_message = "Global DNS configuration already set via configuration file"));
+ goto done;
+ }
+@@ -4949,6 +4953,7 @@ do_set_property_check (gpointer user_data)
+ if (!pfd->subject) {
+ reply = g_dbus_message_new_method_error (pfd->message,
+ NM_PERM_DENIED_ERROR,
++ "%s",
+ (error_message = "Could not determine request UID."));
+ goto out;
+ }
+@@ -4958,6 +4963,7 @@ do_set_property_check (gpointer user_data)
+ if (!chain) {
+ reply = g_dbus_message_new_method_error (pfd->message,
+ NM_PERM_DENIED_ERROR,
++ "%s",
+ (error_message = "Could not authenticate request."));
+ goto out;
+ }
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0003-Define-ETH_ALEN.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-Define-ETH_ALEN.patch
index 236914f75..236914f75 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0003-Define-ETH_ALEN.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-Define-ETH_ALEN.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0004-Define-missing-features-to-cater-for-musl.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0004-Define-missing-features-to-cater-for-musl.patch
index 27c9ae962..27c9ae962 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0004-Define-missing-features-to-cater-for-musl.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0004-Define-missing-features-to-cater-for-musl.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0005-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0005-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch
index f4a04c782..f4a04c782 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0005-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0005-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.4.4.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.4.4.bb
new file mode 100644
index 000000000..d5f456f37
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.4.4.bb
@@ -0,0 +1,136 @@
+SUMMARY = "NetworkManager"
+HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager"
+SECTION = "net/misc"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=cbbffd568227ada506640fe950a4823b \
+ file://libnm-util/COPYING;md5=1c4fa765d6eb3cd2fbd84344a1b816cd \
+ file://docs/api/html/license.html;md5=8eb8e72bab097b9d11763002cb003697 \
+"
+
+DEPENDS = " \
+ intltool-native \
+ libnl \
+ dbus \
+ dbus-glib \
+ dbus-glib-native \
+ libgudev \
+ util-linux \
+ libndp \
+ libnewt \
+ polkit \
+ jansson \
+"
+
+inherit gnomebase gettext systemd bluetooth bash-completion vala gobject-introspection
+
+GI_DATA_ENABLED_libc-musl = "False"
+
+SRC_URI = "${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \
+ file://0001-don-t-try-to-run-sbin-dhclient-to-get-the-version-nu.patch \
+ file://0002-Fix-nm-version-macro-includes.patch \
+ file://0001-adjust-net-headers-for-musl-compatibility.patch \
+ file://0002-socket-util.h-Include-linux-sockios.h-on-musl.patch \
+ file://0003-Define-ETH_ALEN.patch \
+ file://0004-Define-missing-features-to-cater-for-musl.patch \
+ file://0005-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch \
+ file://0001-check-for-strndupa-before-using-it.patch \
+ file://0001-dns-resolved-add-systemd-resolved-backend.patch \
+ file://0001-dns-resolved-also-check-for-etc-resolv-conf.systemd.patch \
+ file://0001-systemd-xlocale.h-is-dropped-by-newer-glibc.patch \
+ file://0002-user-format-string-in-g_dbus_message_new_method_erro.patch \
+ "
+SRC_URI[md5sum] = "63f1e0d6d7e9099499d062c84c927a75"
+SRC_URI[sha256sum] = "829378f318cc008d138a23ca6a9191928ce75344e7e47a2f2c35f4ac82133309"
+
+S = "${WORKDIR}/NetworkManager-${PV}"
+
+EXTRA_OECONF = " \
+ --disable-ifcfg-rh \
+ --disable-ifnet \
+ --disable-ifcfg-suse \
+ --disable-more-warnings \
+ --with-iptables=${sbindir}/iptables \
+ --with-tests \
+ --with-nmtui=yes \
+"
+
+do_compile_prepend() {
+ export GIR_EXTRA_LIBS_PATH="${B}/libnm-util/.libs"
+}
+
+PACKAGECONFIG ??= "nss ifupdown netconfig dhclient dnsmasq \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', \
+ bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'wifi', d)} \
+"
+PACKAGECONFIG[systemd] = " \
+ --with-systemdsystemunitdir=${systemd_unitdir}/system --with-session-tracking=systemd --enable-polkit, \
+ --without-systemdsystemunitdir, \
+ polkit \
+"
+PACKAGECONFIG[bluez5] = "--enable-bluez5-dun,--disable-bluez5-dun,bluez5"
+# consolekit is not picked by shlibs, so add it to RDEPENDS too
+PACKAGECONFIG[consolekit] = "--with-session-tracking=consolekit,,consolekit,consolekit"
+PACKAGECONFIG[concheck] = "--with-libsoup=yes,--with-libsoup=no,libsoup-2.4"
+PACKAGECONFIG[modemmanager] = "--with-modem-manager-1=yes,--with-modem-manager-1=no,modemmanager"
+PACKAGECONFIG[ppp] = "--enable-ppp,--disable-ppp,ppp,ppp"
+# Use full featured dhcp client instead of internal one
+PACKAGECONFIG[dhclient] = "--with-dhclient=${base_sbindir}/dhclient,,,dhcp-client"
+PACKAGECONFIG[dnsmasq] = "--with-dnsmasq=${bindir}/dnsmasq"
+PACKAGECONFIG[nss] = "--with-crypto=nss,,nss"
+PACKAGECONFIG[gnutls] = "--with-crypto=gnutls,,gnutls"
+PACKAGECONFIG[wifi] = "--enable-wifi=yes,--enable-wifi=no,wireless-tools,wpa-supplicant wireless-tools"
+PACKAGECONFIG[ifupdown] = "--enable-ifupdown,--disable-ifupdown"
+PACKAGECONFIG[netconfig] = "--with-netconfig=yes,--with-netconfig=no"
+PACKAGECONFIG[qt4-x11-free] = "--enable-qt,--disable-qt,qt4-x11-free"
+
+PACKAGES =+ "libnmutil libnmglib libnmglib-vpn \
+ ${PN}-nmtui ${PN}-nmtui-doc \
+ ${PN}-adsl \
+"
+
+FILES_libnmutil += "${libdir}/libnm-util.so.*"
+FILES_libnmglib += "${libdir}/libnm-glib.so.*"
+FILES_libnmglib-vpn += "${libdir}/libnm-glib-vpn.so.*"
+
+FILES_${PN}-adsl = "${libdir}/NetworkManager/libnm-device-plugin-adsl.so"
+
+FILES_${PN} += " \
+ ${libexecdir} \
+ ${libdir}/pppd/*/nm-pppd-plugin.so \
+ ${libdir}/NetworkManager/*.so \
+ ${datadir}/polkit-1 \
+ ${datadir}/dbus-1 \
+ ${base_libdir}/udev/* \
+ ${systemd_unitdir}/system \
+"
+
+RRECOMMENDS_${PN} += "iptables \
+ ${@bb.utils.filter('PACKAGECONFIG', 'dnsmasq', d)} \
+"
+RCONFLICTS_${PN} = "connman"
+
+FILES_${PN}-dev += " \
+ ${datadir}/NetworkManager/gdb-cmd \
+ ${libdir}/pppd/*/*.la \
+ ${libdir}/NetworkManager/*.la \
+"
+
+FILES_${PN}-nmtui = " \
+ ${bindir}/nmtui \
+ ${bindir}/nmtui-edit \
+ ${bindir}/nmtui-connect \
+ ${bindir}/nmtui-hostname \
+"
+
+FILES_${PN}-nmtui-doc = " \
+ ${mandir}/man1/nmtui* \
+"
+
+SYSTEMD_SERVICE_${PN} = "NetworkManager.service NetworkManager-dispatcher.service"
+
+do_install_append() {
+ rm -rf ${D}/run ${D}${localstatedir}/run
+}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_git.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_git.bb
index 3a1f0f30f..c944144e2 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
@@ -14,9 +14,9 @@ PACKAGECONFIG[libproxy] = "--with-libproxy,--without-libproxy,libproxy,"
# not config defaults
PACKAGECONFIG[pcsc-lite] = "--with-libpcsclite,--without-libpcsclite,pcsc-lite,"
-PV = "7.06"
+PV = "7.08"
-SRCREV = "35542d52202672b8c12ecc63867432128244013a"
+SRCREV = "9697bea0e50952cab57063238b43a7099e498cbb"
SRC_URI = "git://git.infradead.org/users/dwmw2/openconnect.git"
S = "${WORKDIR}/git"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/python-networkmanager/python-networkmanager_2.0.1.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/python-networkmanager/python-networkmanager_2.0.1.bb
new file mode 100644
index 000000000..4e41aa576
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/python-networkmanager/python-networkmanager_2.0.1.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Easy communication with NetworkManager from Python"
+HOMEPAGE = "https://github.com/seveas/python-networkmanager"
+LICENSE = "Zlib"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=8d8bac174bf8422b151200e6cc78ebe4"
+
+SRC_URI[md5sum] = "5fc644a65463031295c6b7dd51a0f1bd"
+SRC_URI[sha256sum] = "bc36507506ad29bfdac941b0987ebd1cc9633c9a9291d7378e229e4515a0a517"
+
+PYPI_PACKAGE = "python-networkmanager"
+inherit pypi setuptools
+
+RDEPENDS_${PN} = "networkmanager python-dbus python-six"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdate/rdate/0001-rdate-define-logwtmp-on-libc-glibc.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdate/rdate/0001-rdate-define-logwtmp-on-libc-glibc.patch
new file mode 100644
index 000000000..08ba2c31e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdate/rdate/0001-rdate-define-logwtmp-on-libc-glibc.patch
@@ -0,0 +1,40 @@
+From e0c690acfcddd3c3421f6eb0182c54815fd70f8f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 14 Jul 2017 23:21:08 -0700
+Subject: [PATCH] rdate: define logwtmp on libc != glibc
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/rdate.c | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+diff --git a/src/rdate.c b/src/rdate.c
+index 943d481..685b1b8 100644
+--- a/src/rdate.c
++++ b/src/rdate.c
+@@ -41,7 +41,22 @@ static int print_mode = 0; // display the time
+ static int timeout = 10; // timeout for each connection attempt
+ static char *service = DEFAULT_SERVICE;
+
++#ifndef __GLIBC__
++static void logwtmp(const char * line, const char * name, const char * host)
++{
++ struct utmp u;
++ memset(&u, 0, sizeof(u));
++
++ u.ut_pid = getpid();
++ u.ut_type = name[0] ? USER_PROCESS : DEAD_PROCESS;
++ strncpy(u.ut_line, line, sizeof(u.ut_line));
++ strncpy(u.ut_name, name, sizeof(u.ut_name));
++ strncpy(u.ut_host, host, sizeof(u.ut_host));
++ gettimeofday(&(u.ut_tv), NULL);
+
++ updwtmp(_PATH_WTMP, &u);
++}
++#endif /* __GLIBC__ */
+
+ // Returns string from address info pointer
+ static char*
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdate/rdate/0001-src-rdate-Fix-printf-format-errors.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdate/rdate/0001-src-rdate-Fix-printf-format-errors.patch
new file mode 100644
index 000000000..2f6518984
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdate/rdate/0001-src-rdate-Fix-printf-format-errors.patch
@@ -0,0 +1,33 @@
+From f58bcb43c31d08de58853b088681cbe4df36cbf9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 26 Jun 2017 22:50:56 -0700
+Subject: [PATCH] src/rdate: Fix printf format errors
+
+Fixes
+
+rdate.c:85:41: error: format not a string literal and no format arguments [-Werror=format-security]
+| syslog(is_error?LOG_WARNING:LOG_INFO, buf);
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted
+
+ src/rdate.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/rdate.c b/src/rdate.c
+index 5c3e829..943d481 100644
+--- a/src/rdate.c
++++ b/src/rdate.c
+@@ -82,7 +82,7 @@ write_log(int is_error, char *format, ...)
+ return; /* Error, which we can't report because this _is_ the error
+ reporting mechanism */
+ if(log_mode)
+- syslog(is_error?LOG_WARNING:LOG_INFO, buf);
++ syslog(is_error?LOG_WARNING:LOG_INFO, "%s", buf);
+ if(is_error || print_mode)
+ fprintf(is_error?stderr:stdout, "%s: %s\n", argv0, buf);
+ }
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdate/rdate_1.5.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdate/rdate_1.5.bb
new file mode 100644
index 000000000..cd4db12c0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdate/rdate_1.5.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Tool for getting the date/time from a remote machine."
+DESCRIPTION = "The rdate utility retrieves the date and time from \
+ another machine on your network, using the protocol described in RFC 868. \
+ If you run rdate as root, it will set your machine local time to the \
+ time of the machine that you queried. \
+"
+
+HOMEPAGE= "https://www.aelius.com/njh/rdate/"
+SECTION = "Applications/System"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
+
+SRC_URI = "https://www.aelius.com/njh/${BPN}/${BP}.tar.gz \
+ file://0001-src-rdate-Fix-printf-format-errors.patch \
+ file://0001-rdate-define-logwtmp-on-libc-glibc.patch \
+ "
+SRC_URI[md5sum] = "0a4f612480777fdf25264ac03c57eae6"
+SRC_URI[sha256sum] = "6e800053eaac2b21ff4486ec42f0aca7214941c7e5fceedd593fa0be99b9227d"
+
+inherit autotools
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-bb-build.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-bb-build.patch
new file mode 100644
index 000000000..c95eaf8f5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-bb-build.patch
@@ -0,0 +1,75 @@
+From 244861e2c9bb9cc44f4bd246964ba850a7cf1216 Mon Sep 17 00:00:00 2001
+From: Xin Ouyang <Xin.Ouyang@windriver.com>
+Date: Tue, 15 May 2012 15:06:43 +0800
+Subject: [PATCH] rdist: bitbake build
+
+Upstream-Status: Inappropriate [OE specific]
+
+---
+ Makefile.local | 8 ++++----
+ doc/Makefile.real | 4 +++-
+ src/Makefile.real | 1 +
+ 3 files changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/Makefile.local b/Makefile.local
+index 26092b2..389cb84 100644
+--- a/Makefile.local
++++ b/Makefile.local
+@@ -14,7 +14,7 @@
+ # BIN_DIR variable, you would uncomment the following line
+ # or add your own line.
+ #
+-#BIN_DIR = /usr/bin
++BIN_DIR = ${DESTDIR}/${bindir}
+
+ #
+ # Add any local definitions you want pass to the compiler to DEFS_LOCAL
+@@ -46,13 +46,13 @@ LIBS_LOCAL =
+ # Set a site specific install program to use. Must support BSD style
+ # install(1) arguments.
+ #
+-#INSTALL = install
++INSTALL = install
+
+ #
+ # Site specific Man Page configuration.
+ #
+-#MAN_1_DIR = /usr/local/man/man1
+-#MAN_8_DIR = /usr/local/man/man8
++MAN_1_DIR = ${DESTDIR}/${mandir}/man1
++MAN_8_DIR = ${DESTDIR}/${mandir}/man8
+ #MAN_OWNER = bin
+ #MAN_GROUP = bin
+ #MAN_MODE = 644
+diff --git a/doc/Makefile.real b/doc/Makefile.real
+index 42cabec..e32c30b 100644
+--- a/doc/Makefile.real
++++ b/doc/Makefile.real
+@@ -16,9 +16,11 @@ all:
+
+ doc:
+
+-install:
++install: install.man
+
+ install.man: rdist.man rdistd.man
++ test -d ${MAN_1_DIR} || ${INSTALL} -d ${MAN_1_DIR}
++ test -d ${MAN_8_DIR} || ${INSTALL} -d ${MAN_8_DIR}
+ ${INSTALL} ${INSTALL_ARGS} rdist.man ${CLIENT_DEST}
+ ${INSTALL} ${INSTALL_ARGS} rdistd.man ${SERVER_DEST}
+
+diff --git a/src/Makefile.real b/src/Makefile.real
+index 02179e4..9ec551d 100644
+--- a/src/Makefile.real
++++ b/src/Makefile.real
+@@ -52,6 +52,7 @@ clean:
+ $(COMMONOBJS) $(MISSINGOBJS)
+
+ install:
++ test -d $(BIN_DIR) || $(INSTALL) -d $(BIN_DIR)
+ $(INSTALL) ${IN_ARGS} -o $(BIN_OWNER) -m ${RDIST_MODE} \
+ $(CLIENT_BIN) $(BIN_DIR)/$(CLIENT)
+ $(INSTALL) ${IN_ARGS} -o ${BIN_OWNER} -m ${RDISTD_MODE} \
+--
+1.7.5.4
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-bison.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-bison.patch
new file mode 100644
index 000000000..435491221
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-bison.patch
@@ -0,0 +1,147 @@
+Upstream-Status: Inappropriate [1]
+
+[1] Not the author, the patch is from:
+http://vault.centos.org/5.8/os/SRPMS/rdist-6.1.5-44.src.rpm
+
+--- rdist-6.1.5/src/gram.y.bison 1998-11-10 05:10:42.000000000 +0100
++++ rdist-6.1.5/src/gram.y 2003-06-04 16:02:19.000000000 +0200
+@@ -90,10 +90,10 @@
+ struct namelist *namel;
+ }
+
+-%type <optval> OPTION, options
+-%type <string> NAME, STRING
+-%type <subcmd> INSTALL, NOTIFY, EXCEPT, PATTERN, SPECIAL, CMDSPECIAL, cmdlist, cmd
+-%type <namel> namelist, names, opt_namelist nlist
++%type <optval> OPTION options
++%type <string> NAME STRING
++%type <subcmd> INSTALL NOTIFY EXCEPT PATTERN SPECIAL CMDSPECIAL cmdlist cmd
++%type <namel> namelist names opt_namelist nlist
+
+ %%
+
+@@ -101,19 +101,19 @@
+ | file command
+ ;
+
+-command: NAME '=' namelist = {
++command: NAME '=' namelist {
+ (void) lookup($1, INSERT, $3);
+ }
+- | namelist ARROW namelist cmdlist = {
++ | namelist ARROW namelist cmdlist {
+ insert((char *)NULL, $1, $3, $4);
+ }
+- | NAME COLON namelist ARROW namelist cmdlist = {
++ | NAME COLON namelist ARROW namelist cmdlist {
+ insert($1, $3, $5, $6);
+ }
+- | namelist DCOLON NAME cmdlist = {
++ | namelist DCOLON NAME cmdlist {
+ append((char *)NULL, $1, $3, $4);
+ }
+- | NAME COLON namelist DCOLON NAME cmdlist = {
++ | NAME COLON namelist DCOLON NAME cmdlist {
+ append($1, $3, $5, $6);
+ }
+ | error
+@@ -133,10 +133,10 @@
+ }
+ ;
+
+-nlist: NAME = {
++nlist: NAME {
+ $$ = makenl($1);
+ }
+- | '(' names ')' = {
++ | '(' names ')' {
+ $$ = $2;
+ }
+ ;
+@@ -144,7 +144,7 @@
+ names: /* VOID */ {
+ $$ = last_n = NULL;
+ }
+- | names NAME = {
++ | names NAME {
+ if (last_n == NULL)
+ $$ = last_n = makenl($2);
+ else {
+@@ -158,7 +158,7 @@
+ cmdlist: /* VOID */ {
+ $$ = last_sc = NULL;
+ }
+- | cmdlist cmd = {
++ | cmdlist cmd {
+ if (last_sc == NULL)
+ $$ = last_sc = $2;
+ else {
+@@ -169,7 +169,7 @@
+ }
+ ;
+
+-cmd: INSTALL options opt_namelist ';' = {
++cmd: INSTALL options opt_namelist ';' {
+ register struct namelist *nl;
+
+ $1->sc_options = $2 | options;
+@@ -185,17 +185,17 @@
+ }
+ $$ = $1;
+ }
+- | NOTIFY namelist ';' = {
++ | NOTIFY namelist ';' {
+ if ($2 != NULL)
+ $1->sc_args = expand($2, E_VARS);
+ $$ = $1;
+ }
+- | EXCEPT namelist ';' = {
++ | EXCEPT namelist ';' {
+ if ($2 != NULL)
+ $1->sc_args = expand($2, E_ALL);
+ $$ = $1;
+ }
+- | PATTERN namelist ';' = {
++ | PATTERN namelist ';' {
+ struct namelist *nl;
+ char *cp, *re_comp();
+
+@@ -205,13 +205,13 @@
+ $1->sc_args = expand($2, E_VARS);
+ $$ = $1;
+ }
+- | SPECIAL opt_namelist STRING ';' = {
++ | SPECIAL opt_namelist STRING ';' {
+ if ($2 != NULL)
+ $1->sc_args = expand($2, E_ALL);
+ $1->sc_name = $3;
+ $$ = $1;
+ }
+- | CMDSPECIAL opt_namelist STRING ';' = {
++ | CMDSPECIAL opt_namelist STRING ';' {
+ if ($2 != NULL)
+ $1->sc_args = expand($2, E_ALL);
+ $1->sc_name = $3;
+@@ -219,18 +219,18 @@
+ }
+ ;
+
+-options: /* VOID */ = {
++options: /* VOID */ {
+ $$ = 0;
+ }
+- | options OPTION = {
++ | options OPTION {
+ $$ |= $2;
+ }
+ ;
+
+-opt_namelist: /* VOID */ = {
++opt_namelist: /* VOID */ {
+ $$ = NULL;
+ }
+- | namelist = {
++ | namelist {
+ $$ = $1;
+ }
+ ;
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-cleanup.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-cleanup.patch
new file mode 100644
index 000000000..ed3d7f1b3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-cleanup.patch
@@ -0,0 +1,2087 @@
+Upstream-Status: Inappropriate [1]
+
+[1] Not the author, the patch is from:
+http://vault.centos.org/5.8/os/SRPMS/rdist-6.1.5-44.src.rpm
+
+--- rdist-6.1.5/src/gram.y.cleanup 2003-12-17 11:38:16.000000000 +0100
++++ rdist-6.1.5/src/gram.y 2003-12-17 11:38:16.000000000 +0100
+@@ -40,7 +40,7 @@
+ * SUCH DAMAGE.
+ */
+
+-#ifndef lint
++#if 0
+ static char RCSid[] =
+ "$Id: gram.y,v 6.30 1998/11/10 04:10:42 mcooper Exp $";
+
+@@ -170,7 +170,7 @@
+ ;
+
+ cmd: INSTALL options opt_namelist ';' {
+- register struct namelist *nl;
++ struct namelist *nl;
+
+ $1->sc_options = $2 | options;
+ if ($3 != NULL) {
+@@ -240,11 +240,11 @@
+ int yylineno = 1;
+ extern FILE *fin;
+
+-yylex()
++int yylex()
+ {
+ static char yytext[INMAX];
+- register int c;
+- register char *cp1, *cp2;
++ int c;
++ char *cp1, *cp2;
+ static char quotechars[] = "[]{}*?$";
+
+ again:
+@@ -409,8 +409,8 @@
+ * some of the characters we use.
+ */
+ extern int any(c, str)
+- register int c;
+- register char *str;
++ int c;
++ char *str;
+ {
+ while (*str)
+ if (c == *str++)
+@@ -421,13 +421,14 @@
+ /*
+ * Insert or append ARROW command to list of hosts to be updated.
+ */
++void
+ insert(label, files, hosts, subcmds)
+ char *label;
+ struct namelist *files, *hosts;
+ struct subcmd *subcmds;
+ {
+- register struct cmd *c, *prev, *nc;
+- register struct namelist *h, *lasth;
++ struct cmd *c, *prev, *nc;
++ struct namelist *h, *lasth;
+
+ debugmsg(DM_CALL, "insert(%s, %x, %x, %x) start, files = %s",
+ label == NULL ? "(null)" : label,
+@@ -475,13 +476,14 @@
+ * Append DCOLON command to the end of the command list since these are always
+ * executed in the order they appear in the distfile.
+ */
++void
+ append(label, files, stamp, subcmds)
+ char *label;
+ struct namelist *files;
+ char *stamp;
+ struct subcmd *subcmds;
+ {
+- register struct cmd *c;
++ struct cmd *c;
+
+ c = ALLOC(cmd);
+ c->c_type = DCOLON;
+@@ -501,6 +503,7 @@
+ /*
+ * Error printing routine in parser.
+ */
++void
+ yyerror(s)
+ char *s;
+ {
+@@ -530,7 +533,7 @@
+ makenl(name)
+ char *name;
+ {
+- register struct namelist *nl;
++ struct namelist *nl;
+
+ debugmsg(DM_CALL, "makenl(%s)", name == NULL ? "null" : name);
+
+@@ -627,7 +630,7 @@
+ makesubcmd(type)
+ int type;
+ {
+- register struct subcmd *sc;
++ struct subcmd *sc;
+
+ sc = ALLOC(subcmd);
+ sc->sc_type = type;
+--- rdist-6.1.5/src/rdist.c.cleanup 1998-11-10 05:13:50.000000000 +0100
++++ rdist-6.1.5/src/rdist.c 2003-12-17 11:38:16.000000000 +0100
+@@ -38,7 +38,7 @@
+ * SUCH DAMAGE.
+ */
+
+-#ifndef lint
++#if 0
+ static char RCSid[] =
+ "$Id: rdist.c,v 6.66 1998/11/10 04:13:49 mcooper Exp $";
+
+@@ -80,7 +80,7 @@
+ char *name;
+ struct namelist **hostlist;
+ {
+- register struct namelist *ptr, *new;
++ struct namelist *ptr, *new;
+
+ if (!name || !hostlist)
+ return;
+@@ -97,14 +97,15 @@
+ *hostlist = new;
+ }
+
++int
+ main(argc, argv, envp)
+ int argc;
+ char *argv[];
+ char **envp;
+ {
+ struct namelist *hostlist = NULL;
+- register int x;
+- register char *cp;
++ int x;
++ char *cp;
+ int cmdargs = 0;
+ int c;
+
+@@ -114,7 +115,7 @@
+ */
+ setprogname(argv);
+
+- if (cp = msgparseopts(localmsglist, TRUE)) {
++ if ((cp = msgparseopts(localmsglist, TRUE))) {
+ error("Bad builtin log option (%s): %s.",
+ localmsglist, cp);
+ usage();
+@@ -158,7 +159,7 @@
+ while ((c = getopt(argc, argv, optchars)) != -1)
+ switch (c) {
+ case 'l':
+- if (cp = msgparseopts(optarg, TRUE)) {
++ if ((cp = msgparseopts(optarg, TRUE))) {
+ error("Bad log option \"%s\": %s.", optarg,cp);
+ usage();
+ }
+@@ -206,7 +207,7 @@
+
+ case 'D':
+ debug = DM_ALL;
+- if (cp = msgparseopts("stdout=all,debug", TRUE)) {
++ if ((cp = msgparseopts("stdout=all,debug", TRUE))) {
+ error("Enable debug messages failed: %s.", cp);
+ usage();
+ }
+@@ -245,7 +246,7 @@
+ error("No path specified to \"-P\".");
+ usage();
+ }
+- if (cp = searchpath(optarg))
++ if ((cp = searchpath(optarg)))
+ path_remsh = strdup(cp);
+ else {
+ error("No component of path \"%s\" exists.",
+@@ -297,7 +298,7 @@
+ else {
+ if (fin == NULL)
+ fin = opendist(distfile);
+- (void) yyparse();
++ yyparse();
+ /*
+ * Need to keep stdin open for child processing later
+ */
+@@ -348,6 +349,7 @@
+ /*
+ * Print usage message and exit.
+ */
++void
+ usage()
+ {
+ char *sopts = "cDFnv";
+@@ -379,12 +381,13 @@
+ /*
+ * rcp like interface for distributing files.
+ */
++void
+ docmdargs(nargs, args)
+ int nargs;
+ char *args[];
+ {
+- register struct namelist *nl, *prev;
+- register char *cp;
++ struct namelist *nl, *prev;
++ char *cp;
+ struct namelist *files, *hosts;
+ struct subcmd *cmds;
+ char *dest;
+@@ -433,10 +436,10 @@
+ * Get a list of NAME blocks (mostly for debugging).
+ */
+ extern char *getnlstr(nl)
+- register struct namelist *nl;
++ struct namelist *nl;
+ {
+ static char buf[16384];
+- register int count = 0, len = 0;
++ int count = 0, len = 0;
+
+ (void) sprintf(buf, "(");
+
+--- rdist-6.1.5/src/client.c.cleanup 2003-12-17 11:38:16.000000000 +0100
++++ rdist-6.1.5/src/client.c 2003-12-17 11:38:16.000000000 +0100
+@@ -38,7 +38,7 @@
+ * SUCH DAMAGE.
+ */
+
+-#ifndef lint
++#if 0
+ static char RCSid[] =
+ "$Id: client.c,v 6.82 1998/11/10 04:08:47 mcooper Exp $";
+
+@@ -84,7 +84,7 @@
+ int destdir;
+ {
+ extern struct namelist *filelist;
+- register char *lname, *cp;
++ char *lname, *cp;
+ static char buff[BUFSIZ];
+ int srclen, pathlen;
+ char *p;
+@@ -146,7 +146,7 @@
+ struct namelist *list;
+ char *file;
+ {
+- register struct namelist *nl;
++ struct namelist *nl;
+
+ for (nl = list; nl != NULL; nl = nl->n_next)
+ if (strcmp(file, nl->n_name) == 0)
+@@ -163,7 +163,7 @@
+ char *rname;
+ int destdir;
+ {
+- register struct subcmd *sc;
++ struct subcmd *sc;
+ extern struct subcmd *subcmds;
+ char *rfile;
+
+@@ -200,7 +200,7 @@
+ {
+ char *rfile;
+ struct namelist *new;
+- register struct subcmd *sc;
++ struct subcmd *sc;
+ extern struct subcmd *subcmds;
+ int isokay = 0;
+
+@@ -227,7 +227,7 @@
+ */
+ static void freecmdspecialfiles()
+ {
+- register struct namelist *ptr, *save;
++ struct namelist *ptr, *save;
+
+ for (ptr = updfilelist; ptr; ) {
+ if (ptr->n_name) (void) free(ptr->n_name);
+@@ -249,10 +249,8 @@
+ char **filev;
+ opt_t opts;
+ {
+- register struct subcmd *sc;
+- register struct namelist *f;
+- register char **cpp;
+- char *file;
++ struct subcmd *sc;
++ struct namelist *f;
+ int first = TRUE;
+
+ for (sc = cmd->c_cmds; sc != NULL; sc = sc->sc_next) {
+@@ -294,7 +292,7 @@
+ int checkfilename(name)
+ char *name;
+ {
+- register char *cp;
++ char *cp;
+
+ if (strchr(name, '\n')) {
+ for (cp = name; *cp; cp++)
+@@ -501,7 +499,7 @@
+ static int rmchk(opts)
+ opt_t opts;
+ {
+- register u_char *s;
++ u_char *s;
+ struct stat stb;
+ int didupdate = 0;
+ int n;
+@@ -618,7 +616,7 @@
+
+ optarget = ptarget;
+ len = ptarget - target;
+- while (dp = readdir(d)) {
++ while ((dp = readdir(d))) {
+ if (!strcmp(dp->d_name, ".") ||
+ !strcmp(dp->d_name, ".."))
+ continue;
+@@ -631,7 +629,7 @@
+ if (ptarget[-1] != '/')
+ *ptarget++ = '/';
+ cp = dp->d_name;
+- while (*ptarget++ = *cp++)
++ while ((*ptarget++ = *cp++))
+ ;
+ ptarget--;
+ if (sendit(dp->d_name, opts, destdir) > 0)
+@@ -770,13 +768,13 @@
+ opt_t opts;
+ struct stat *statp;
+ {
+- register off_t size;
+- register time_t mtime;
++ off_t size;
++ time_t mtime;
+ unsigned short lmode;
+ unsigned short rmode;
+ char *owner = NULL, *group = NULL;
+ int done, n;
+- u_char *cp;
++ char *cp;
+
+ debugmsg(DM_CALL, "update(%s, 0x%x, 0x%x)\n", rname, opts, statp);
+
+@@ -1035,7 +1033,6 @@
+ int destdir;
+ {
+ static struct stat stb;
+- extern struct subcmd *subcmds;
+ char *user, *group;
+ int u, len;
+ int didupdate = 0;
+@@ -1157,7 +1154,7 @@
+ (void) unlink(statfile);
+ #endif
+
+- if (file = getnotifyfile())
++ if ((file = getnotifyfile()))
+ (void) unlink(file);
+ }
+
+--- rdist-6.1.5/src/child.c.cleanup 1998-11-10 05:18:57.000000000 +0100
++++ rdist-6.1.5/src/child.c 2003-12-17 11:38:16.000000000 +0100
+@@ -38,7 +38,7 @@
+ * SUCH DAMAGE.
+ */
+
+-#ifndef lint
++#if 0
+ static char RCSid[] =
+ "$Id: child.c,v 6.29 1998/11/10 04:18:56 mcooper Exp $";
+
+@@ -90,7 +90,7 @@
+ static void removechild(child)
+ CHILD *child;
+ {
+- register CHILD *pc, *prevpc;
++ CHILD *pc, *prevpc;
+
+ debugmsg(DM_CALL, "removechild(%s, %d, %d) start",
+ child->c_name, child->c_pid, child->c_readfd);
+@@ -148,7 +148,7 @@
+ static CHILD *copychild(child)
+ CHILD *child;
+ {
+- register CHILD *newc;
++ CHILD *newc;
+
+ newc = (CHILD *) xmalloc(sizeof(CHILD));
+
+@@ -167,7 +167,7 @@
+ static void addchild(child)
+ CHILD *child;
+ {
+- register CHILD *pc;
++ CHILD *pc;
+
+ debugmsg(DM_CALL, "addchild() start\n");
+
+@@ -280,7 +280,7 @@
+ */
+ static void reap()
+ {
+- register CHILD *pc;
++ CHILD *pc;
+ int status = 0;
+ pid_t pid;
+
+@@ -336,7 +336,7 @@
+ */
+ static void childscan()
+ {
+- register CHILD *pc, *nextpc;
++ CHILD *pc, *nextpc;
+
+ debugmsg(DM_CALL, "childscan() start");
+
+@@ -366,8 +366,8 @@
+ extern void waitup()
+ {
+ #if defined(HAVE_SELECT)
+- register int count;
+- register CHILD *pc;
++ int count;
++ CHILD *pc;
+ fd_set rchildfds;
+
+ debugmsg(DM_CALL, "waitup() start\n");
+--- rdist-6.1.5/src/docmd.c.cleanup 2003-12-17 11:38:16.000000000 +0100
++++ rdist-6.1.5/src/docmd.c 2003-12-17 11:38:16.000000000 +0100
+@@ -38,7 +38,7 @@
+ * SUCH DAMAGE.
+ */
+
+-#ifndef lint
++#if 0
+ static char RCSid[] =
+ "$Id: docmd.c,v 6.87 1998/11/10 04:08:32 mcooper Exp $";
+
+@@ -99,10 +99,10 @@
+ */
+ static void notify(rhost, to, lmod)
+ char *rhost;
+- register struct namelist *to;
++ struct namelist *to;
+ time_t lmod;
+ {
+- register int fd, len;
++ int fd, len;
+ FILE *pf, *popen();
+ struct stat stb;
+ static char buf[BUFSIZ];
+@@ -221,7 +221,7 @@
+ struct cmd *cmd;
+ struct cmd *cmdlist;
+ {
+- register struct cmd *pcmd;
++ struct cmd *pcmd;
+
+ for (pcmd = cmdlist; pcmd; pcmd = pcmd->c_next) {
+ checkcmd(pcmd);
+@@ -238,7 +238,7 @@
+ struct cmd *cmd;
+ struct cmd *cmdlist;
+ {
+- register struct cmd *pc;
++ struct cmd *pc;
+
+ if (!cmd) {
+ debugmsg(DM_MISC, "markfailed() NULL cmd parameter");
+@@ -309,7 +309,7 @@
+ static int makeconn(rhost)
+ char *rhost;
+ {
+- register char *ruser, *cp;
++ char *ruser, *cp;
+ static char *cur_host = NULL;
+ extern char *locuser;
+ extern long min_freefiles, min_freespace;
+@@ -430,9 +430,9 @@
+ struct cmd *cmd;
+ char **filev;
+ {
+- register struct namelist *f;
+- register struct subcmd *sc;
+- register char **cpp;
++ struct namelist *f;
++ struct subcmd *sc;
++ char **cpp;
+ int n, ddir, destdir, opts = options;
+ struct namelist *files;
+ struct subcmd *sbcmds;
+@@ -567,7 +567,6 @@
+ }
+ }
+
+-done:
+ /*
+ * Run any commands for the entire cmd
+ */
+@@ -584,7 +583,7 @@
+ notify(rhost, sc->sc_args, (time_t) 0);
+
+ if (!nflag) {
+- register struct linkbuf *nextl, *l;
++ struct linkbuf *nextl, *l;
+
+ for (l = ihead; l != NULL; freelinkinfo(l), l = nextl) {
+ nextl = l->nextp;
+@@ -601,11 +600,12 @@
+ setjmp_ok = FALSE;
+ }
+
++int
+ okname(name)
+- register char *name;
++ char *name;
+ {
+- register char *cp = name;
+- register int c, isbad;
++ char *cp = name;
++ int c, isbad;
+
+ for (isbad = FALSE; *cp && !isbad; ++cp) {
+ c = *cp;
+@@ -627,9 +627,9 @@
+ struct subcmd *sbcmds;
+ char **env;
+ {
+- register DIR *d;
+- register DIRENTRY *dp;
+- register char *cp;
++ DIR *d;
++ DIRENTRY *dp;
++ char *cp;
+ char *optarget;
+ int len;
+
+@@ -641,7 +641,7 @@
+ }
+ optarget = ptarget;
+ len = ptarget - target;
+- while (dp = readdir(d)) {
++ while ((dp = readdir(d))) {
+ if (!strcmp(dp->d_name, ".") || !strcmp(dp->d_name, ".."))
+ continue;
+ if (len + 1 + (int)strlen(dp->d_name) >= BUFSIZ - 1) {
+@@ -651,7 +651,7 @@
+ ptarget = optarget;
+ *ptarget++ = '/';
+ cp = dp->d_name;
+- while (*ptarget++ = *cp++)
++ while ((*ptarget++ = *cp++))
+ ;
+ ptarget--;
+ cmptime(target, sbcmds, env);
+@@ -740,9 +740,9 @@
+ struct cmd *cmd;
+ char **filev;
+ {
+- register struct subcmd *sc;
+- register struct namelist *f;
+- register char *cp, **cpp;
++ struct subcmd *sc;
++ struct namelist *f;
++ char *cp, **cpp;
+ struct stat stb;
+ struct namelist *files = cmd->c_files;
+ struct subcmd *sbcmds = cmd->c_cmds;
+@@ -824,8 +824,8 @@
+ extern int except(file)
+ char *file;
+ {
+- register struct subcmd *sc;
+- register struct namelist *nl;
++ struct subcmd *sc;
++ struct namelist *nl;
+
+ debugmsg(DM_CALL, "except(%s)", file);
+
+@@ -918,8 +918,8 @@
+ int argc;
+ char **argv;
+ {
+- register struct namelist *f;
+- register int i;
++ struct namelist *f;
++ int i;
+
+ if (argc) {
+ for (i = 0; i < argc; i++) {
+@@ -962,9 +962,9 @@
+ int argc;
+ char **argv;
+ {
+- register struct cmd *c;
+- register char *cp;
+- register int i;
++ struct cmd *c;
++ char *cp;
++ int i;
+
+ (void) signal(SIGHUP, sighandler);
+ (void) signal(SIGINT, sighandler);
+@@ -1032,7 +1032,7 @@
+
+ if (hostlist) {
+ /* Do specific hosts as specified on command line */
+- register struct namelist *nlptr;
++ struct namelist *nlptr;
+
+ for (nlptr = hostlist; nlptr; nlptr = nlptr->n_next)
+ /*
+--- rdist-6.1.5/src/distopt.c.cleanup 1998-11-10 05:09:11.000000000 +0100
++++ rdist-6.1.5/src/distopt.c 2003-12-17 11:38:16.000000000 +0100
+@@ -6,7 +6,7 @@
+ * appropriately.
+ */
+
+-#ifndef lint
++#if 0
+ static char RCSid[] =
+ "$Id: distopt.c,v 6.12 1998/11/10 04:09:11 mcooper Exp $";
+
+@@ -55,7 +55,7 @@
+ extern DISTOPTINFO *getdistopt(name)
+ char *name;
+ {
+- register int i;
++ int i;
+
+ for (i = 0; distoptinfo[i].do_name; ++i)
+ if (strcasecmp(name, distoptinfo[i].do_name) == 0)
+@@ -74,7 +74,7 @@
+ opt_t *optptr;
+ int doerrs;
+ {
+- register char *string, *optstr;
++ char *string, *optstr;
+ DISTOPTINFO *distopt;
+ int negate;
+
+@@ -93,7 +93,7 @@
+ * and the option starts with "no", strip "no"
+ * from option and retry lookup.
+ */
+- if (distopt = getdistopt(optstr)) {
++ if ((distopt = getdistopt(optstr))) {
+ FLAG_ON(*optptr, distopt->do_value);
+ continue;
+ }
+@@ -116,7 +116,7 @@
+ */
+ extern char *getdistoptlist()
+ {
+- register int i;
++ int i;
+ static char buf[1024];
+
+ for (i = 0, buf[0] = CNULL; distoptinfo[i].do_name; ++i) {
+@@ -138,7 +138,7 @@
+ extern char *getondistoptlist(opts)
+ opt_t opts;
+ {
+- register int i;
++ int i;
+ static char buf[1024];
+
+ for (i = 0, buf[0] = CNULL; distoptinfo[i].do_name; ++i) {
+--- rdist-6.1.5/src/expand.c.cleanup 1998-11-10 05:09:31.000000000 +0100
++++ rdist-6.1.5/src/expand.c 2003-12-17 11:38:16.000000000 +0100
+@@ -38,7 +38,7 @@
+ * SUCH DAMAGE.
+ */
+
+-#ifndef lint
++#if 0
+ static char RCSid[] =
+ "$Id: expand.c,v 6.19 1998/11/10 04:09:31 mcooper Exp $";
+
+@@ -81,9 +81,9 @@
+ sizeof(*sortbase), argcmp), sortbase = &eargv[eargc]
+
+ static void Cat(s1, s2) /* quote in s1 and s2 */
+- register u_char *s1, *s2;
++ u_char *s1, *s2;
+ {
+- register char *cp;
++ char *cp;
+ int len = strlen((char *)s1) + strlen((char *)s2) + 2;
+
+ if ((eargc + 1) >= MAXEARGS) {
+@@ -97,12 +97,12 @@
+ do {
+ if (*s1 == QUOTECHAR)
+ s1++;
+- } while (*cp++ = *s1++);
++ } while ((*cp++ = *s1++));
+ cp--;
+ do {
+ if (*s2 == QUOTECHAR)
+ s2++;
+- } while (*cp++ = *s2++);
++ } while ((*cp++ = *s2++));
+ }
+
+ static void addpath(c)
+@@ -131,8 +131,8 @@
+ struct namelist *list;
+ int wh;
+ {
+- register struct namelist *nl, *prev;
+- register int n;
++ struct namelist *nl, *prev;
++ int n;
+ char pathbuf[BUFSIZ];
+
+ if (debug)
+@@ -182,7 +182,7 @@
+ u_char *str;
+ int ch;
+ {
+- register u_char *cp;
++ u_char *cp;
+
+ for (cp = str; cp && *cp != CNULL; ++cp)
+ if (ch == *cp)
+@@ -194,8 +194,8 @@
+ void expstr(s)
+ u_char *s;
+ {
+- register u_char *cp, *cp1;
+- register struct namelist *tp;
++ u_char *cp, *cp1;
++ struct namelist *tp;
+ u_char *tail;
+ u_char ebuf[BUFSIZ];
+ u_char varbuff[BUFSIZ];
+@@ -302,7 +302,7 @@
+ cp1 = (u_char *)pw->pw_dir;
+ s = cp;
+ }
+- for (cp = (u_char *)path; *cp++ = *cp1++; )
++ for (cp = (u_char *)path; (*cp++ = *cp1++); )
+ ;
+ tpathp = pathp = (char *)cp - 1;
+ } else {
+@@ -326,7 +326,7 @@
+ sort();
+ }
+
+-static
++static int
+ argcmp(a1, a2)
+ char **a1, **a2;
+ {
+@@ -341,8 +341,8 @@
+ void expsh(s) /* quote in s */
+ u_char *s;
+ {
+- register u_char *cp, *oldcp;
+- register char *spathp;
++ u_char *cp, *oldcp;
++ char *spathp;
+ struct stat stb;
+
+ spathp = pathp;
+@@ -380,7 +380,7 @@
+ char *pattern;
+ {
+ struct stat stb;
+- register DIRENTRY *dp;
++ DIRENTRY *dp;
+ DIR *dirp;
+
+ dirp = opendir(path);
+@@ -417,11 +417,12 @@
+ yyerror(path);
+ }
+
++int
+ execbrc(p, s) /* quote in p */
+ u_char *p, *s;
+ {
+ u_char restbuf[BUFSIZ + 2];
+- register u_char *pe, *pm, *pl;
++ u_char *pe, *pm, *pl;
+ int brclev = 0;
+ u_char *lm, savec;
+ char *spathp;
+@@ -507,11 +508,12 @@
+ return (0);
+ }
+
++int
+ match(s, p) /* quote in p */
+ char *s, *p;
+ {
+- register int c;
+- register char *sentp;
++ int c;
++ char *sentp;
+ char sexpany = expany;
+
+ if (*s == '.' && *p != '.')
+@@ -524,11 +526,12 @@
+ return (c);
+ }
+
++int
+ amatch(s, p) /* quote in p */
+- register char *s;
+- register u_char *p;
++ char *s;
++ u_char *p;
+ {
+- register int scc;
++ int scc;
+ int ok, lc;
+ char *spathp;
+ struct stat stb;
+@@ -545,7 +548,7 @@
+ case '[':
+ ok = 0;
+ lc = 077777;
+- while (cc = *p++) {
++ while ((cc = *p++)) {
+ if (cc == ']') {
+ if (ok)
+ break;
+@@ -599,7 +602,7 @@
+ while (*s)
+ addpath(*s++);
+ addpath('/');
+- if (stat(path, &stb) == 0 && S_ISDIR(stb.st_mode))
++ if (stat(path, &stb) == 0 && S_ISDIR(stb.st_mode)) {
+ if (*p == CNULL) {
+ if (which & E_TILDE)
+ Cat((u_char *)path,
+@@ -609,6 +612,7 @@
+ (u_char *)tpathp);
+ } else
+ expsh(p);
++ }
+ pathp = spathp;
+ *pathp = CNULL;
+ return (0);
+--- rdist-6.1.5/src/lookup.c.cleanup 1998-11-10 05:12:56.000000000 +0100
++++ rdist-6.1.5/src/lookup.c 2003-12-17 11:38:16.000000000 +0100
+@@ -38,7 +38,7 @@
+ * SUCH DAMAGE.
+ */
+
+-#ifndef lint
++#if 0
+ static char RCSid[] =
+ "$Id: lookup.c,v 6.9 1998/11/10 04:12:56 mcooper Exp $";
+
+@@ -68,11 +68,12 @@
+ /*
+ * Define a variable from a command line argument.
+ */
++void
+ define(name)
+ char *name;
+ {
+- register char *cp, *s;
+- register struct namelist *nl;
++ char *cp, *s;
++ struct namelist *nl;
+ struct namelist *value;
+
+ debugmsg(DM_CALL, "define(%s)", name);
+@@ -137,9 +138,9 @@
+ int action;
+ struct namelist *value;
+ {
+- register unsigned n;
+- register char *cp;
+- register struct syment *s;
++ unsigned n;
++ char *cp;
++ struct syment *s;
+ char ebuf[BUFSIZ];
+
+ debugmsg(DM_CALL, "lookup(%s, %d, %x)", name, action, value);
+--- rdist-6.1.5/src/isexec.c.cleanup 1998-11-10 05:11:42.000000000 +0100
++++ rdist-6.1.5/src/isexec.c 2003-12-17 11:38:16.000000000 +0100
+@@ -37,7 +37,7 @@
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+-#ifndef lint
++#if 0
+ static char RCSid[] =
+ "$Id: isexec.c,v 6.22 1998/11/10 04:11:42 mcooper Exp $";
+
+--- rdist-6.1.5/src/signal.c.cleanup 1998-11-10 05:16:13.000000000 +0100
++++ rdist-6.1.5/src/signal.c 2003-12-17 11:38:16.000000000 +0100
+@@ -38,7 +38,7 @@
+ * SUCH DAMAGE.
+ */
+
+-#ifndef lint
++#if 0
+ static char RCSid[] =
+ "$Id: signal.c,v 6.2 1998/11/10 04:16:13 mcooper Exp $";
+
+--- rdist-6.1.5/src/rshrcmd.c.cleanup 1998-11-10 05:15:07.000000000 +0100
++++ rdist-6.1.5/src/rshrcmd.c 2003-12-17 11:38:16.000000000 +0100
+@@ -10,7 +10,7 @@
+ * Chris Siebenmann <cks@utcc.utoronto.ca>.
+ */
+
+-#ifndef lint
++#if 0
+ static char RCSid[] =
+ "$Id: rshrcmd.c,v 1.9 1998/11/10 04:15:07 mcooper Exp $";
+
+@@ -34,6 +34,7 @@
+ * program in place of a direct rcmd() function call so as to
+ * avoid having to be root.
+ */
++int
+ rshrcmd(ahost, port, luser, ruser, cmd, fd2p)
+ char **ahost;
+ u_short port;
+@@ -108,6 +109,7 @@
+ (void) wait(0);
+ return sp[0];
+ }
++ return -1;
+ /*NOTREACHED*/
+ }
+
+--- rdist-6.1.5/src/common.c.cleanup 1998-11-10 05:09:01.000000000 +0100
++++ rdist-6.1.5/src/common.c 2003-12-17 11:38:16.000000000 +0100
+@@ -38,7 +38,7 @@
+ * SUCH DAMAGE.
+ */
+
+-#ifndef lint
++#if 0
+ static char RCSid[] =
+ "$Id: common.c,v 6.84 1998/11/10 04:09:01 mcooper Exp $";
+
+@@ -87,14 +87,14 @@
+ /*
+ * Front end to write() that handles partial write() requests.
+ */
+-extern WRITE_RETURN_T xwrite(fd, buf, len)
++WRITE_RETURN_T xwrite(fd, buf, len)
+ int fd;
+ void *buf;
+ WRITE_AMT_T len;
+ {
+ WRITE_AMT_T nleft = len;
+ WRITE_RETURN_T nwritten;
+- register char *ptr = buf;
++ char *ptr = buf;
+
+ while (nleft > 0) {
+ if ((nwritten = write(fd, ptr, nleft)) <= 0) {
+@@ -110,14 +110,14 @@
+ /*
+ * Set program name
+ */
+-extern void setprogname(argv)
++void setprogname(argv)
+ char **argv;
+ {
+- register char *cp;
++ char *cp;
+
+ if (!progname) {
+ progname = strdup(argv[0]);
+- if (cp = strrchr(progname, '/'))
++ if ((cp = strrchr(progname, '/')))
+ progname = cp + 1;
+ }
+ }
+@@ -125,14 +125,14 @@
+ /*
+ * Do run-time initialization
+ */
+-extern int init(argc, argv, envp)
++int init(argc, argv, envp)
+ /*ARGSUSED*/
+ int argc;
+ char **argv;
+ char **envp;
+ {
+- register int i;
+- register char *cp;
++ int i;
++ char *cp;
+
+ if (!isserver)
+ (void) signal(SIGSEGV, sighandler);
+@@ -182,7 +182,7 @@
+ /*
+ * Finish things up before ending.
+ */
+-extern void finish()
++void finish()
+ {
+ extern jmp_buf finish_jmpbuf;
+
+@@ -216,7 +216,7 @@
+ /*
+ * Handle lost connections
+ */
+-extern void lostconn()
++void lostconn()
+ {
+ /* Prevent looping */
+ (void) signal(SIGPIPE, SIG_IGN);
+@@ -232,7 +232,7 @@
+ /*
+ * Do a core dump
+ */
+-extern void coredump()
++void coredump()
+ {
+ error("Segmentation violation - dumping core [PID = %d, %s]",
+ getpid(),
+@@ -245,7 +245,7 @@
+ /*
+ * General signal handler
+ */
+-extern void sighandler(sig)
++void sighandler(sig)
+ int sig;
+ {
+ debugmsg(DM_CALL, "sighandler() received signal %d\n", sig);
+@@ -325,7 +325,7 @@
+ /*
+ * Stdarg frontend to sendcmdmsg()
+ */
+-extern int sendcmd(char cmd, char *fmt, ...)
++int sendcmd(char cmd, char *fmt, ...)
+ {
+ static char buf[BUFSIZ];
+ va_list args;
+@@ -345,7 +345,7 @@
+ /*
+ * Varargs frontend to sendcmdmsg()
+ */
+-extern int sendcmd(va_alist)
++int sendcmd(va_alist)
+ va_dcl
+ {
+ static char buf[BUFSIZ];
+@@ -372,7 +372,7 @@
+ * Stupid frontend to sendcmdmsg()
+ */
+ /*VARARGS2*/
+-extern int sendcmd(cmd, fmt, a1, a2, a3, a4, a5, a6, a7, a8)
++int sendcmd(cmd, fmt, a1, a2, a3, a4, a5, a6, a7, a8)
+ char cmd;
+ char *fmt;
+ {
+@@ -433,13 +433,13 @@
+ * errors, call cleanup() or lostconn(). In other words, unless
+ * the third argument is nonzero, this routine never returns failure.
+ */
+-extern int remline(buffer, space, doclean)
+- register u_char *buffer;
++int remline(buffer, space, doclean)
++ u_char *buffer;
+ int space;
+ int doclean;
+ {
+- register int c, left = space;
+- register u_char *p = buffer;
++ int c, left = space;
++ u_char *p = buffer;
+
+ if (rem_r < 0) {
+ error("Cannot read remote input: Remote descriptor not open.");
+@@ -494,9 +494,9 @@
+ /*
+ * Non-line-oriented remote read.
+ */
+-readrem(p, space)
++int readrem(p, space)
+ char *p;
+- register int space;
++ int space;
+ {
+ if (remleft <= 0) {
+ /*
+@@ -527,7 +527,7 @@
+ /*
+ * Get the user name for the uid.
+ */
+-extern char *getusername(uid, file, opts)
++char *getusername(uid, file, opts)
+ UID_T uid;
+ char *file;
+ opt_t opts;
+@@ -566,7 +566,7 @@
+ /*
+ * Get the group name for the gid.
+ */
+-extern char *getgroupname(gid, file, opts)
++char *getgroupname(gid, file, opts)
+ GID_T gid;
+ char *file;
+ opt_t opts;
+@@ -604,7 +604,7 @@
+ /*
+ * Read a response from the remote host.
+ */
+-extern int response()
++int response()
+ {
+ static u_char resp[BUFSIZ];
+ u_char *s;
+@@ -646,6 +646,7 @@
+ message(MT_FERROR, "%s", s);
+ finish();
+ }
++ return -1;
+ /*NOTREACHED*/
+ }
+
+@@ -657,11 +658,11 @@
+ * user's home directory path name. Return a pointer in buf to the
+ * part corresponding to `file'.
+ */
+-extern char *exptilde(ebuf, file)
++char *exptilde(ebuf, file)
+ char *ebuf;
+- register char *file;
++ char *file;
+ {
+- register char *s1, *s2, *s3;
++ char *s1, *s2, *s3;
+ extern char *homedir;
+
+ if (*file != '~') {
+@@ -694,12 +695,12 @@
+ *s3 = '/';
+ s2 = pw->pw_dir;
+ }
+- for (s1 = ebuf; *s1++ = *s2++; )
++ for (s1 = ebuf; (*s1++ = *s2++); )
+ ;
+ s2 = --s1;
+ if (s3 != NULL) {
+ s2++;
+- while (*s1++ = *s3++)
++ while ((*s1++ = *s3++))
+ ;
+ }
+ return(s2);
+@@ -710,7 +711,7 @@
+ * Set our effective user id to the user running us.
+ * This should be the uid we do most of our work as.
+ */
+-extern int becomeuser()
++int becomeuser()
+ {
+ int r = 0;
+
+@@ -732,7 +733,7 @@
+ /*
+ * Set our effective user id to "root" (uid = 0)
+ */
+-extern int becomeroot()
++int becomeroot()
+ {
+ int r = 0;
+
+@@ -753,7 +754,7 @@
+ /*
+ * Set access and modify times of a given file
+ */
+-extern int setfiletime(file, atime, mtime)
++int setfiletime(file, atime, mtime)
+ char *file;
+ time_t atime;
+ time_t mtime;
+@@ -790,7 +791,7 @@
+ /*
+ * Get version info
+ */
+-extern char *getversion()
++char *getversion()
+ {
+ static char buff[BUFSIZ];
+
+@@ -811,7 +812,7 @@
+ {
+ int fd[2], pid, i;
+ int status;
+- register char *cp, *s;
++ char *cp, *s;
+ char sbuf[BUFSIZ], buf[BUFSIZ];
+
+ if (pipe(fd) < 0) {
+@@ -933,12 +934,12 @@
+ /*
+ * Private version of basename()
+ */
+-extern char *xbasename(path)
++char *xbasename(path)
+ char *path;
+ {
+- register char *cp;
++ char *cp;
+
+- if (cp = strrchr(path, '/'))
++ if ((cp = strrchr(path, '/')))
+ return(cp+1);
+ else
+ return(path);
+@@ -949,11 +950,11 @@
+ * search until a component of that path is found and
+ * return the found file name.
+ */
+-extern char *searchpath(path)
++char *searchpath(path)
+ char *path;
+ {
+- register char *cp;
+- register char *file;
++ char *cp;
++ char *file;
+ struct stat statbuf;
+
+ for (; ;) {
+@@ -977,8 +978,7 @@
+ /*
+ * Set line buffering.
+ */
+-extern void
+-mysetlinebuf(fp)
++void mysetlinebuf(fp)
+ FILE *fp;
+ {
+ #if SETBUF_TYPE == SETBUF_SETLINEBUF
+@@ -995,8 +995,7 @@
+ /*
+ * Our interface to system call to get a socket pair.
+ */
+-int
+-getsocketpair(domain, type, protocol, sv)
++int getsocketpair(domain, type, protocol, sv)
+ int domain;
+ int type;
+ int protocol;
+--- rdist-6.1.5/src/message.c.cleanup 1998-11-10 05:13:30.000000000 +0100
++++ rdist-6.1.5/src/message.c 2003-12-17 11:38:16.000000000 +0100
+@@ -38,7 +38,7 @@
+ * SUCH DAMAGE.
+ */
+
+-#ifndef lint
++#if 0
+ static char RCSid[] =
+ "$Id: message.c,v 6.25 1998/11/10 04:13:30 mcooper Exp $";
+
+@@ -97,7 +97,7 @@
+ */
+ extern void msgprusage()
+ {
+- register int i, x;
++ int i, x;
+
+ (void) fprintf(stderr, "\nWhere <msgopt> is of form\n");
+ (void) fprintf(stderr,
+@@ -120,7 +120,7 @@
+ */
+ extern void msgprconfig()
+ {
+- register int i, x;
++ int i, x;
+ static char buf[MSGBUFSIZ];
+
+ debugmsg(DM_MISC, "Current message logging config:");
+@@ -145,7 +145,7 @@
+ static MSGFACILITY *getmsgfac(name)
+ char *name;
+ {
+- register int i;
++ int i;
+
+ for (i = 0; msgfacility[i].mf_name; ++i)
+ if (strcasecmp(name, msgfacility[i].mf_name) == 0)
+@@ -160,7 +160,7 @@
+ static MSGTYPE *getmsgtype(name)
+ char *name;
+ {
+- register int i;
++ int i;
+
+ for (i = 0; msgtypes[i].mt_name; ++i)
+ if (strcasecmp(name, msgtypes[i].mt_name) == 0)
+@@ -178,9 +178,9 @@
+ char *str;
+ {
+ static char ebuf[BUFSIZ];
+- register char *cp;
+- register char *strptr, *word;
+- register MSGTYPE *mtp;
++ char *cp;
++ char *strptr, *word;
++ MSGTYPE *mtp;
+
+ /*
+ * MF_SYSLOG is the only supported message facility for the server
+@@ -240,11 +240,11 @@
+ msgfac->mf_msgtypes = 0; /* Start from scratch */
+ while (strptr) {
+ word = strptr;
+- if (cp = strchr(strptr, ','))
++ if ((cp = strchr(strptr, ',')))
+ *cp++ = CNULL;
+ strptr = cp;
+
+- if (mtp = getmsgtype(word)) {
++ if ((mtp = getmsgtype(word))) {
+ msgfac->mf_msgtypes |= mtp->mt_type;
+ /*
+ * XXX This is really a kludge until we add real
+@@ -272,8 +272,8 @@
+ int doset;
+ {
+ static char ebuf[BUFSIZ], msgbuf[MSGBUFSIZ];
+- register char *cp, *optstr;
+- register char *word;
++ char *cp, *optstr;
++ char *word;
+ MSGFACILITY *msgfac;
+
+ if (msgstr == NULL)
+@@ -308,7 +308,7 @@
+ if (doset) {
+ char *mcp;
+
+- if (mcp = setmsgtypes(msgfac, cp))
++ if ((mcp = setmsgtypes(msgfac, cp)))
+ return(mcp);
+ }
+ }
+@@ -462,8 +462,9 @@
+ return;
+
+ if (!msgfac->mf_fptr) {
+- register char *cp;
++ char *cp;
+ char *getenv();
++ int fd;
+
+ /*
+ * Create and open a new temporary file
+@@ -475,7 +476,10 @@
+ (void) sprintf(tempfile, "%s/%s", cp, _RDIST_TMP);
+
+ msgfac->mf_filename = tempfile;
+- (void) mktemp(msgfac->mf_filename);
++ fd = mkstemp(msgfac->mf_filename);
++ if (fd < 0)
++ fatalerr("Cannot open notify file for writing: %s: %s.", msgfac->mf_filename, SYSERR);
++ close(fd);
+ if ((msgfac->mf_fptr = fopen(msgfac->mf_filename, "w"))==NULL)
+ fatalerr("Cannot open notify file for writing: %s: %s.",
+ msgfac->mf_filename, SYSERR);
+@@ -515,15 +519,15 @@
+ int flags;
+ char *msgbuf;
+ {
+- register int i, x;
+- register char *cp;
++ int i, x;
++ char *cp;
+ static char mbuf[2048];
+
+ if (msgbuf && *msgbuf) {
+ /*
+ * Ensure no stray newlines are present
+ */
+- if (cp = strchr(msgbuf, '\n'))
++ if ((cp = strchr(msgbuf, '\n')))
+ *cp = CNULL;
+
+ checkhostname();
+@@ -863,7 +867,7 @@
+ */
+ extern char *getnotifyfile()
+ {
+- register int i;
++ int i;
+
+ for (i = 0; msgfacility[i].mf_name; i++)
+ if (msgfacility[i].mf_msgfac == MF_NOTIFY &&
+--- rdist-6.1.5/src/setargs.c.cleanup 2003-12-17 11:38:16.000000000 +0100
++++ rdist-6.1.5/src/setargs.c 2003-12-17 11:38:16.000000000 +0100
+@@ -38,7 +38,7 @@
+ * SUCH DAMAGE.
+ */
+
+-#ifndef lint
++#if 0
+ static char RCSid[] =
+ "$Id: setargs.c,v 6.5 1998/11/10 04:15:56 mcooper Exp $";
+
+@@ -66,12 +66,12 @@
+ /*
+ * Settup things for using setproctitle()
+ */
+-setargs_settup(argc, argv, envp)
++void setargs_settup(argc, argv, envp)
+ int argc;
+ char **argv;
+ char **envp;
+ {
+- register int i;
++ int i;
+ extern char **environ;
+
+ /* Remember the User Environment */
+@@ -92,10 +92,10 @@
+ /*
+ * Set process title
+ */
+-extern void _setproctitle(msg)
++void _setproctitle(msg)
+ char *msg;
+ {
+- register int i;
++ int i;
+ char *p;
+
+ p = Argv[0];
+@@ -119,7 +119,7 @@
+ /*
+ * Varargs front-end to _setproctitle()
+ */
+-extern void setproctitle(va_alist)
++void setproctitle(va_alist)
+ va_dcl
+ {
+ static char buf[BUFSIZ];
+@@ -138,7 +138,7 @@
+ /*
+ * Stdarg front-end to _setproctitle()
+ */
+-extern void setproctitle(char *fmt, ...)
++void setproctitle(char *fmt, ...)
+ {
+ static char buf[BUFSIZ];
+ va_list args;
+@@ -155,7 +155,7 @@
+ * Non-Varargs front-end to _setproctitle()
+ */
+ /*VARARGS1*/
+-extern void setproctitle(fmt, a1, a2, a3, a4, a5, a6)
++void setproctitle(fmt, a1, a2, a3, a4, a5, a6)
+ char *fmt;
+ {
+ static char buf[BUFSIZ];
+--- rdist-6.1.5/src/rdistd.c.cleanup 1998-11-10 05:14:06.000000000 +0100
++++ rdist-6.1.5/src/rdistd.c 2003-12-17 11:38:16.000000000 +0100
+@@ -38,7 +38,7 @@
+ * SUCH DAMAGE.
+ */
+
+-#ifndef lint
++#if 0
+ static char RCSid[] =
+ "$Id: rdistd.c,v 6.23 1998/11/10 04:14:06 mcooper Exp $";
+
+@@ -53,21 +53,12 @@
+
+ #include "defs.h"
+
+-/*
+- * Print usage message
+- */
+-static void usage()
+-{
+- fprintf(stderr, "usage: %s -S [ -DV ]\n", progname);
+- exit(1);
+-}
+-
+ char localmsglist[] = "syslog=ferror";
+
+ /*
+ * The Beginning
+ */
+-main(argc, argv, envp)
++int main(argc, argv, envp)
+ int argc;
+ char **argv;
+ char **envp;
+@@ -95,7 +86,8 @@
+ case '?':
+ default:
+ error("Bad command line option.");
+- usage();
++ fprintf(stderr, "usage: %s -S [ -DV ]\n", progname);
++ exit(1);
+ }
+
+ if (!isserver) {
+@@ -108,7 +100,7 @@
+ rem_w = fileno(stdout);
+
+ /* Set logging */
+- if (cp = msgparseopts(localmsglist, TRUE))
++ if ((cp = msgparseopts(localmsglist, TRUE)))
+ fatalerr("Bad message logging option (%s): %s",
+ localmsglist, cp);
+
+--- rdist-6.1.5/src/server.c.cleanup 2003-12-17 11:38:16.000000000 +0100
++++ rdist-6.1.5/src/server.c 2003-12-17 11:38:16.000000000 +0100
+@@ -37,7 +37,7 @@
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+-#ifndef lint
++#if 0
+ static char RCSid[] =
+ "$Id: server.c,v 6.86 1998/11/10 04:15:31 mcooper Exp $";
+
+@@ -197,7 +197,7 @@
+ static UID_T last_uid = (UID_T)-2;
+ static GID_T last_primegid;
+ extern char *locuser;
+- register int i;
++ int i;
+ UID_T uid;
+ GID_T gid;
+ GID_T primegid = (GID_T)-2;
+@@ -252,7 +252,7 @@
+ /*
+ * Invalid cached values so we need to do a new lookup.
+ */
+- if (gr = mygetgroup(group)) {
++ if ((gr = mygetgroup(group))) {
+ last_gid = gid = gr->gr_gid;
+ strcpy(last_group, gr->gr_name);
+ } else {
+@@ -325,7 +325,7 @@
+ {
+ DIR *d;
+ static DIRENTRY *dp;
+- register char *cp;
++ char *cp;
+ struct stat stb;
+ char *optarget;
+ int len, failures = 0;
+@@ -362,7 +362,7 @@
+
+ optarget = ptarget;
+ len = ptarget - target;
+- while (dp = readdir(d)) {
++ while ((dp = readdir(d))) {
+ if ((D_NAMLEN(dp) == 1 && dp->d_name[0] == '.') ||
+ (D_NAMLEN(dp) == 2 && dp->d_name[0] == '.' &&
+ dp->d_name[1] == '.'))
+@@ -376,7 +376,7 @@
+ ptarget = optarget;
+ *ptarget++ = '/';
+ cp = dp->d_name;;
+- while (*ptarget++ = *cp++)
++ while ((*ptarget++ = *cp++))
+ ;
+ ptarget--;
+ if (lstat(target, &stb) < 0) {
+@@ -414,10 +414,10 @@
+ * for extraneous files and remove them.
+ */
+ static void doclean(cp)
+- register char *cp;
++ char *cp;
+ {
+ DIR *d;
+- register DIRENTRY *dp;
++ DIRENTRY *dp;
+ struct stat stb;
+ char *optarget, *ep;
+ int len;
+@@ -436,7 +436,7 @@
+
+ optarget = ptarget;
+ len = ptarget - target;
+- while (dp = readdir(d)) {
++ while ((dp = readdir(d))) {
+ if ((D_NAMLEN(dp) == 1 && dp->d_name[0] == '.') ||
+ (D_NAMLEN(dp) == 2 && dp->d_name[0] == '.' &&
+ dp->d_name[1] == '.'))
+@@ -450,7 +450,7 @@
+ ptarget = optarget;
+ *ptarget++ = '/';
+ cp = dp->d_name;;
+- while (*ptarget++ = *cp++)
++ while ((*ptarget++ = *cp++))
+ ;
+ ptarget--;
+ if (lstat(target, &stb) < 0) {
+@@ -481,7 +481,7 @@
+ * Frontend to doclean().
+ */
+ static void clean(cp)
+- register char *cp;
++ char *cp;
+ {
+ doclean(cp);
+ (void) sendcmd(CC_END, NULL);
+@@ -509,7 +509,7 @@
+ */
+ static void docmdspecial()
+ {
+- register char *cp;
++ char *cp;
+ char *cmd, *env = NULL;
+ int n;
+ int len;
+@@ -667,7 +667,7 @@
+ char *name;
+ opt_t opts;
+ {
+- register char *cp;
++ char *cp;
+ struct stat stb;
+ int r = -1;
+
+@@ -760,7 +760,7 @@
+ {
+ int f, wrerr, olderrno, lastwashole = 0, wassparse = 0;
+ off_t i;
+- register char *cp;
++ char *cp;
+ char *savefile = NULL;
+ static struct stat statbuff;
+
+@@ -987,7 +987,7 @@
+ char *owner, *group;
+ {
+ static char lowner[100], lgroup[100];
+- register char *cp;
++ char *cp;
+ struct stat stb;
+ int s;
+
+@@ -1044,7 +1044,7 @@
+
+ o = (owner[0] == ':') ? opts & DO_NUMCHKOWNER :
+ opts;
+- if (cp = getusername(stb.st_uid, target, o))
++ if ((cp = getusername(stb.st_uid, target, o)))
+ if (strcmp(owner, cp))
+ (void) strcpy(lowner, cp);
+ }
+@@ -1053,7 +1053,7 @@
+
+ o = (group[0] == ':') ? opts & DO_NUMCHKGROUP :
+ opts;
+- if (cp = getgroupname(stb.st_gid, target, o))
++ if ((cp = getgroupname(stb.st_gid, target, o)))
+ if (strcmp(group, cp))
+ (void) strcpy(lgroup, cp);
+ }
+@@ -1107,8 +1107,8 @@
+ if (s < 0) {
+ if (errno == ENOENT) {
+ if (mkdir(target, mode) == 0 ||
+- chkparent(target, opts) == 0 &&
+- mkdir(target, mode) == 0) {
++ (chkparent(target, opts) == 0 &&
++ mkdir(target, mode) == 0)) {
+ message(MT_NOTICE, "%s: mkdir", target);
+ (void) fchog(-1, target, owner, group, mode);
+ ack();
+@@ -1304,7 +1304,7 @@
+ static void setconfig(cmd)
+ char *cmd;
+ {
+- register char *cp = cmd;
++ char *cp = cmd;
+ char *estr;
+
+ switch (*cp++) {
+@@ -1338,7 +1338,7 @@
+ break;
+
+ case SC_LOGGING: /* Logging options */
+- if (estr = msgparseopts(cp, TRUE)) {
++ if ((estr = msgparseopts(cp, TRUE))) {
+ fatalerr("Bad message option string (%s): %s",
+ cp, estr);
+ return;
+@@ -1455,7 +1455,7 @@
+ sptarget[catname] = ptarget;
+ if (catname++) {
+ *ptarget++ = '/';
+- while (*ptarget++ = *file++)
++ while ((*ptarget++ = *file++))
+ ;
+ ptarget--;
+ }
+@@ -1463,6 +1463,7 @@
+ /*
+ * Create name of temporary file
+ */
++ int fd;
+ if (catname && cattarget(file) < 0) {
+ error("Cannot set file name.");
+ return;
+@@ -1477,7 +1478,12 @@
+ (void) sprintf(new, "%s/%s", target, tempname);
+ *file = '/';
+ }
+- (void) mktemp(new);
++ fd = mkstemp(new);
++ if (fd < 0) {
++ error("Cannot set file name.");
++ return;
++ }
++ close(fd);
+ }
+
+ /*
+@@ -1581,8 +1587,8 @@
+ extern void server()
+ {
+ static char cmdbuf[BUFSIZ];
+- register char *cp;
+- register int n;
++ char *cp;
++ int n;
+ extern jmp_buf finish_jmpbuf;
+
+ if (setjmp(finish_jmpbuf)) {
+--- rdist-6.1.5/src/filesys.c.cleanup 1998-11-10 05:10:18.000000000 +0100
++++ rdist-6.1.5/src/filesys.c 2003-12-17 11:38:16.000000000 +0100
+@@ -38,7 +38,7 @@
+ * SUCH DAMAGE.
+ */
+
+-#ifndef lint
++#if 0
+ static char RCSid[] =
+ "$Id: filesys.c,v 6.25 1998/11/10 04:10:17 mcooper Exp $";
+
+@@ -72,7 +72,7 @@
+ static char last_pathname[MAXPATHLEN];
+ static char file[MAXPATHLEN + 3];
+ static struct stat filestat;
+- register char *p;
++ char *p;
+
+ /*
+ * Mark the statbuf as invalid to start with.
+@@ -125,7 +125,7 @@
+ * Normally we want to change /dir1/dir2/file
+ * into "/dir1/dir2/."
+ */
+- if (p = (char *) strrchr(file, '/')) {
++ if ((p = (char *) strrchr(file, '/'))) {
+ *++p = '.';
+ *++p = CNULL;
+ } else {
+@@ -183,7 +183,7 @@
+ struct stat *filest;
+ struct mntinfo *mntinfo;
+ {
+- register struct mntinfo *mi;
++ struct mntinfo *mi;
+
+ for (mi = mntinfo; mi; mi = mi->mi_nxt) {
+ if (mi->mi_mnt->me_flags & MEFLAG_IGNORE)
+@@ -202,7 +202,7 @@
+ mntent_t *mnt;
+ struct mntinfo *mntinfo;
+ {
+- register struct mntinfo *m;
++ struct mntinfo *m;
+
+ for (m = mntinfo; m; m = m->mi_nxt)
+ if (strcmp(m->mi_mnt->me_path, mnt->me_path) == 0)
+@@ -247,7 +247,7 @@
+ }
+
+ mntinfo = mi;
+- while (mnt = getmountent(mfp)) {
++ while ((mnt = getmountent(mfp))) {
+ debugmsg(DM_MISC, "mountent = '%s' (%s)",
+ mnt->me_path, mnt->me_type);
+
+@@ -308,7 +308,7 @@
+ static struct stat filestat;
+ struct stat *pstat;
+ struct mntinfo *tmpmi;
+- register mntent_t *mnt;
++ mntent_t *mnt;
+
+ /*
+ * Use the supplied stat buffer if not NULL or our own.
+@@ -330,16 +330,16 @@
+ /*
+ * Find the mnt that pathname is on.
+ */
+- if (mnt = findmnt(pstat, mntinfo))
++ if ((mnt = findmnt(pstat, mntinfo)))
+ return(mnt);
+
+ /*
+ * We failed to find correct mnt, so maybe it's a newly
+ * mounted filesystem. We rebuild mntinfo and try again.
+ */
+- if (tmpmi = makemntinfo(mntinfo)) {
++ if ((tmpmi = makemntinfo(mntinfo))) {
+ mntinfo = tmpmi;
+- if (mnt = findmnt(pstat, mntinfo))
++ if ((mnt = findmnt(pstat, mntinfo)))
+ return(mnt);
+ }
+
+--- rdist-6.1.5/src/filesys-os.c.cleanup 1998-11-10 05:09:59.000000000 +0100
++++ rdist-6.1.5/src/filesys-os.c 2003-12-17 11:38:16.000000000 +0100
+@@ -38,7 +38,7 @@
+ * SUCH DAMAGE.
+ */
+
+-#ifndef lint
++#if 0
+ static char RCSid[] =
+ "$Id: filesys-os.c,v 6.18 1998/11/10 04:09:58 mcooper Exp $";
+
+@@ -314,7 +314,7 @@
+
+ bzero((char *)&me, sizeof(mntent_t));
+
+- if (mntent = getmntent(fptr)) {
++ if ((mntent = getmntent(fptr))) {
+ me.me_path = mntent->mnt_dir;
+ me.me_type = mntent->mnt_type;
+ if (mntent->mnt_opts && hasmntopt(mntent, MNTOPT_RO))
+--- rdist-6.1.5/src/strcasecmp.c.cleanup 1998-11-10 05:16:52.000000000 +0100
++++ rdist-6.1.5/src/strcasecmp.c 2003-12-17 11:38:16.000000000 +0100
+@@ -51,9 +51,9 @@
+ };
+
+ strcasecmp(s1, s2)
+- register char *s1, *s2;
++ char *s1, *s2;
+ {
+- register char *cm = charmap;
++ char *cm = charmap;
+
+ while (cm[*s1] == cm[*s2++])
+ if (*s1++ == '\0')
+@@ -62,10 +62,10 @@
+ }
+
+ strncasecmp(s1, s2, n)
+- register char *s1, *s2;
+- register int n;
++ char *s1, *s2;
++ int n;
+ {
+- register char *cm = charmap;
++ char *cm = charmap;
+
+ while (--n >= 0 && cm[*s1] == cm[*s2++])
+ if (*s1++ == '\0')
+--- rdist-6.1.5/src/strtol.c.cleanup 1994-03-17 00:25:50.000000000 +0100
++++ rdist-6.1.5/src/strtol.c 2003-12-17 11:38:16.000000000 +0100
+@@ -54,13 +54,13 @@
+ strtol(nptr, endptr, base)
+ char *nptr;
+ char **endptr;
+- register int base;
++ int base;
+ {
+- register char *s = nptr;
+- register unsigned long acc;
+- register int c;
+- register unsigned long cutoff;
+- register int neg = 0, any, cutlim;
++ char *s = nptr;
++ unsigned long acc;
++ int c;
++ unsigned long cutoff;
++ int neg = 0, any, cutlim;
+
+ /*
+ * Skip white space and pick up leading +/- sign if any.
+--- rdist-6.1.5/src/regex.c.cleanup 1998-11-10 05:14:28.000000000 +0100
++++ rdist-6.1.5/src/regex.c 2003-12-17 11:39:14.000000000 +0100
+@@ -142,10 +142,8 @@
+ */
+ char *
+ re_comp(sp)
+- register char *sp;
+ {
+- register int c;
+- register char *ep = expbuf;
++ char *ep = expbuf;
+ int cclcnt, numbra = 0;
+ char *lastep = 0;
+ char bracket[NBRA];
+@@ -266,10 +264,10 @@
+ */
+ int
+ re_exec(p1)
+- register char *p1;
++ char *p1;
+ {
+- register char *p2 = expbuf;
+- register int c;
++ char *p2 = expbuf;
++ int c;
+ int rv;
+
+ for (c = 0; c < NBRA; c++) {
+@@ -306,9 +304,9 @@
+ */
+ static int
+ advance(lp, ep)
+- register char *lp, *ep;
++ char *lp, *ep;
+ {
+- register char *curlp;
++ char *curlp;
+ int ct, i;
+ int rv;
+
+@@ -413,10 +411,10 @@
+ }
+
+ backref(i, lp)
+- register int i;
+- register char *lp;
++ int i;
++ char *lp;
+ {
+- register char *bp;
++ char *bp;
+
+ bp = braslist[i];
+ while (*bp++ == *lp++)
+@@ -427,10 +425,10 @@
+
+ int
+ cclass(set, c, af)
+- register char *set, c;
++ char *set, c;
+ int af;
+ {
+- register int n;
++ int n;
+
+ if (c == 0)
+ return(0);
+--- rdist-6.1.5/include/defs.h.cleanup 2003-12-17 11:38:16.000000000 +0100
++++ rdist-6.1.5/include/defs.h 2003-12-17 11:38:16.000000000 +0100
+@@ -30,11 +30,13 @@
+ #include <grp.h>
+ #include <syslog.h>
+ #include <setjmp.h>
++#include <time.h>
+ #include <sys/types.h>
+ #include <sys/param.h>
+ #include <sys/file.h>
+-#include <sys/time.h>
+ #include <sys/stat.h>
++#include <sys/wait.h>
++#include <sys/socket.h>
+
+ #include "version.h"
+ #include "config-def.h"
+@@ -48,6 +50,9 @@
+ #endif /* yacc */
+
+ #include <signal.h>
++#define _REGEX_RE_COMP
++#include <regex.h>
++
+
+ /*
+ * This belongs in os-svr4.h but many SVR4 OS's
+@@ -321,12 +326,11 @@
+ /*
+ * Our own declarations.
+ */
+-char *exptilde();
+ char *makestr();
+ char *xcalloc();
+ char *xmalloc();
+ char *xrealloc();
+-extern char *xbasename();
++extern char *exptilde();
+ extern char *getdistoptlist();
+ extern char *getgroupname();
+ extern char *getnlstr();
+@@ -336,44 +340,75 @@
+ extern char *getversion();
+ extern char *msgparseopts();
+ extern char *searchpath();
++extern char *xbasename();
++extern int amatch();
+ extern int any();
++extern int becomeroot();
++extern int becomeuser();
++extern int except();
++extern int execbrc();
++extern int getfilesysinfo();
++extern int getsocketpair();
+ extern int init();
+ extern int install();
+ extern int isexec();
++extern int is_nfs_mounted();
++extern int is_ro_mounted();
++extern int is_symlinked();
++extern int match();
++extern int okname();
+ extern int parsedistopts();
++extern int readrem();
+ extern int remline();
++extern int response();
++extern int rshrcmd();
+ extern int setfiletime();
++extern int setnonblocking();
+ extern int spawn();
++extern int yylex();
++extern int yyparse();
+ extern struct subcmd *makesubcmd();
++extern void append();
+ extern void checkhostname();
+ extern void cleanup();
+ extern void complain();
++extern void coredump();
++extern void define();
++extern void docmdargs();
+ extern void docmds();
+ extern void finish();
+-extern void log();
++extern void freelinkinfo();
++extern void insert();
+ extern void logmsg();
+ extern void lostconn();
+ extern void markassigned();
++extern void msgprconfig();
+ extern void msgprusage();
++extern void mysetlinebuf();
+ extern void note();
+ extern void runcmdspecial();
+ extern void runcommand();
+ extern void server();
++extern void setargs_settup();
+ extern void setprogname();
+ extern void sighandler();
++extern void usage();
+ extern void waitup();
++extern void yyerror();
++extern WRITE_RETURN_T xwrite();
+ struct namelist *expand();
+ struct namelist *lookup();
+ struct namelist *makenl();
+-extern WRITE_RETURN_T xwrite();
+
+ #if defined(ARG_TYPE) && ARG_TYPE == ARG_STDARG
++extern int sendcmd(char cmd, char *fmt, ...);
+ extern void debugmsg(int, char *, ...);
+ extern void error(char *, ...);
+ extern void fatalerr(char *, ...);
+ extern void message(int, char *, ...);
+ extern void setproctitle(char *fmt, ...);
+ #else
++extern int sendcmd(va_alist);
+ extern void debugmsg();
+ extern void error();
+ extern void fatalerr();
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-fix-msgsndnotify-loop.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-fix-msgsndnotify-loop.patch
new file mode 100644
index 000000000..d183d9183
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-fix-msgsndnotify-loop.patch
@@ -0,0 +1,37 @@
+Upstream-Status: Inappropriate [1]
+
+[1] Not the author, the patch is from:
+http://vault.centos.org/5.8/os/SRPMS/rdist-6.1.5-44.src.rpm
+
+--- rdist-6.1.5/src/message.c.thestokes 2006-04-19 17:30:39.000000000 -0400
++++ rdist-6.1.5/src/message.c 2006-04-19 17:36:37.000000000 -0400
+@@ -793,15 +793,20 @@
+ char *msg;
+ {
+ static char buf[MSGBUFSIZ];
+-
+- ++nerrs;
+-
+- if (isserver)
+- (void) sprintf(buf, "REMOTE ERROR: %s", msg);
+- else
+- (void) sprintf(buf, "LOCAL ERROR: %s", msg);
+-
+- _message(MT_FERROR, buf);
++ /* Don't reenter this function. There is a nasty infinite recursion
++ case that pops up when msgsndnotify tries to exit. */
++ static int inside=0;
++
++ if(inside==0){
++ ++nerrs;
++ inside=1;
++
++ if (isserver)
++ (void) sprintf(buf, "REMOTE ERROR: %s", msg);
++ else
++ (void) sprintf(buf, "LOCAL ERROR: %s", msg);
++ _message(MT_FERROR, buf);
++ }
+
+ exit(nerrs);
+ }
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-hardlink.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-hardlink.patch
new file mode 100644
index 000000000..baf8e3030
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-hardlink.patch
@@ -0,0 +1,25 @@
+Upstream-Status: Inappropriate [1]
+
+[1] Not the author, the patch is from:
+http://vault.centos.org/5.8/os/SRPMS/rdist-6.1.5-44.src.rpm
+
+--- rdist-6.1.5/src/client.c.hardlink Thu Jun 3 13:56:31 1999
++++ rdist-6.1.5/src/client.c Thu Jun 3 14:00:06 1999
+@@ -348,7 +348,7 @@
+ lp->target = strdup(Tdest);
+ else
+ lp->target = NULL;
+- if (!lp->pathname || !lp->src || !(Tdest && lp->target))
++ if (!lp->pathname || !lp->src || (Tdest && !lp->target))
+ fatalerr("Cannot malloc memory in linkinfo.");
+
+ return((struct linkbuf *) NULL);
+@@ -370,7 +370,7 @@
+ "sendhardlink: rname='%s' pathname='%s' src='%s' target='%s'\n",
+ rname, lp->pathname, lp->src, lp->target);
+
+- if (*lp->target == CNULL)
++ if (lp->target == NULL || *lp->target == CNULL)
+ (void) sendcmd(C_RECVHARDLINK, "%o %s %s",
+ opts, lp->pathname, rname);
+ else {
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-lfs.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-lfs.patch
new file mode 100644
index 000000000..3fa8db8cd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-lfs.patch
@@ -0,0 +1,142 @@
+Upstream-Status: Inappropriate [1]
+
+[1] Not the author, the patch is from:
+http://vault.centos.org/5.8/os/SRPMS/rdist-6.1.5-44.src.rpm
+
+--- rdist-6.1.5/src/client.c.lfs 2003-12-16 23:43:56.000000000 +0100
++++ rdist-6.1.5/src/client.c 2003-12-16 23:46:56.000000000 +0100
+@@ -414,9 +414,9 @@
+ /*
+ * Send file info
+ */
+- (void) sendcmd(C_RECVREG, "%o %04o %ld %ld %ld %s %s %s",
++ (void) sendcmd(C_RECVREG, "%o %04o %lld %ld %ld %s %s %s",
+ opts, stb->st_mode & 07777,
+- (long) stb->st_size,
++ (off_t) stb->st_size,
+ stb->st_mtime, stb->st_atime,
+ user, group, rname);
+ if (response() < 0) {
+@@ -424,8 +424,8 @@
+ return(-1);
+ }
+
+- debugmsg(DM_MISC, "Send file '%s' %d bytes\n",
+- rname, (long) stb->st_size);
++ debugmsg(DM_MISC, "Send file '%s' %lld bytes\n",
++ rname, (off_t) stb->st_size);
+
+ /*
+ * Set remote time out alarm handler.
+@@ -676,9 +676,9 @@
+ /*
+ * Gather and send basic link info
+ */
+- (void) sendcmd(C_RECVSYMLINK, "%o %04o %ld %ld %ld %s %s %s",
++ (void) sendcmd(C_RECVSYMLINK, "%o %04o %lld %ld %ld %s %s %s",
+ opts, stb->st_mode & 07777,
+- (long) stb->st_size,
++ (off_t) stb->st_size,
+ stb->st_mtime, stb->st_atime,
+ user, group, rname);
+ if (response() < 0)
+@@ -858,7 +858,7 @@
+ /*
+ * Parse size
+ */
+- size = strtol(cp, &cp, 10);
++ size = strtoll(cp, &cp, 10);
+ if (*cp++ != ' ') {
+ error("update: size not delimited");
+ return(US_NOTHING);
+@@ -910,8 +910,8 @@
+
+ debugmsg(DM_MISC, "update(%s,) local mode %04o remote mode %04o\n",
+ rname, lmode, rmode);
+- debugmsg(DM_MISC, "update(%s,) size %d mtime %d owner '%s' grp '%s'\n",
+- rname, (int) size, mtime, owner, group);
++ debugmsg(DM_MISC, "update(%s,) size %lld mtime %d owner '%s' grp '%s'\n",
++ rname, (off_t) size, mtime, owner, group);
+
+ if (statp->st_mtime != mtime) {
+ if (statp->st_mtime < mtime && IS_ON(opts, DO_YOUNGER)) {
+@@ -937,8 +937,8 @@
+ }
+
+ if (statp->st_size != size) {
+- debugmsg(DM_MISC, "size does not match (%d != %d).\n",
+- (int) statp->st_size, size);
++ debugmsg(DM_MISC, "size does not match (%lld != %lld).\n",
++ statp->st_size, size);
+ return(US_OUTDATE);
+ }
+
+--- rdist-6.1.5/src/server.c.lfs 1998-11-10 05:15:31.000000000 +0100
++++ rdist-6.1.5/src/server.c 2003-12-16 23:50:19.000000000 +0100
+@@ -645,8 +645,8 @@
+ case S_IFLNK:
+ case S_IFDIR:
+ case S_IFREG:
+- (void) sendcmd(QC_YES, "%ld %ld %o %s %s",
+- (long) stb.st_size,
++ (void) sendcmd(QC_YES, "%lld %ld %o %s %s",
++ (off_t) stb.st_size,
+ stb.st_mtime,
+ stb.st_mode & 07777,
+ getusername(stb.st_uid, target, options),
+@@ -1388,7 +1388,7 @@
+ /*
+ * Get file size
+ */
+- size = strtol(cp, &cp, 10);
++ size = strtoll(cp, &cp, 10);
+ if (*cp++ != ' ') {
+ error("recvit: size not delimited");
+ return;
+@@ -1441,7 +1441,7 @@
+ }
+
+ debugmsg(DM_MISC,
+- "recvit: opts = %04o mode = %04o size = %d mtime = %d",
++ "recvit: opts = %04o mode = %04o size = %lld mtime = %d",
+ opts, mode, size, mtime);
+ debugmsg(DM_MISC,
+ "recvit: owner = '%s' group = '%s' file = '%s' catname = %d isdir = %d",
+--- rdist-6.1.5/include/defs.h.lfs 2003-12-16 23:43:56.000000000 +0100
++++ rdist-6.1.5/include/defs.h 2003-12-16 23:43:56.000000000 +0100
+@@ -22,6 +22,8 @@
+ #include <stdlib.h>
+ #endif /* _POSIX_SOURCE */
+ #include <stdio.h>
++#include <string.h>
++#include <mntent.h>
+ #include <ctype.h>
+ #include <errno.h>
+ #include <pwd.h>
+@@ -317,15 +319,6 @@
+ #endif /* USE_STATDB */
+
+ /*
+- * System function declarations
+- */
+-char *hasmntopt();
+-char *strchr();
+-char *strdup();
+-char *strrchr();
+-char *strtok();
+-
+-/*
+ * Our own declarations.
+ */
+ char *exptilde();
+--- rdist-6.1.5/Makefile.local.lfs 1998-11-10 04:36:31.000000000 +0100
++++ rdist-6.1.5/Makefile.local 2003-12-16 23:43:56.000000000 +0100
+@@ -20,7 +20,7 @@
+ # Add any local definitions you want pass to the compiler to DEFS_LOCAL
+ # below. This includes those items found in "config/config.h".
+ #
+-#DEFS_LOCAL = -DDIRECT_RCMD
++DEFS_LOCAL = -O2 -g -pipe -Wall -D_POSIX_SOURCE -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
+
+ #
+ # Add any local libraries that your system might need to LIBS_LOCAL below.
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-links.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-links.patch
new file mode 100644
index 000000000..e9994f2c9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-links.patch
@@ -0,0 +1,79 @@
+Upstream-Status: Inappropriate [1]
+
+[1] Not the author, the patch is from:
+http://vault.centos.org/5.8/os/SRPMS/rdist-6.1.5-44.src.rpm
+
+--- rdist-6.1.5/src/client.c.links Wed Feb 17 17:46:09 1999
++++ rdist-6.1.5/src/client.c Wed Feb 17 17:51:15 1999
+@@ -309,6 +309,18 @@
+ return(0);
+ }
+
++void freelinkinfo(lp)
++ struct linkbuf *lp;
++{
++ if (lp->pathname)
++ free(lp->pathname);
++ if (lp->src)
++ free(lp->src);
++ if (lp->target)
++ free(lp->target);
++ free(lp);
++}
++
+ /*
+ * Save and retrieve hard link info
+ */
+@@ -317,6 +329,7 @@
+ {
+ struct linkbuf *lp;
+
++ /* xxx: linear search doesn't scale with many links */
+ for (lp = ihead; lp != NULL; lp = lp->nextp)
+ if (lp->inum == statp->st_ino && lp->devnum == statp->st_dev) {
+ lp->count--;
+@@ -329,12 +342,14 @@
+ lp->inum = statp->st_ino;
+ lp->devnum = statp->st_dev;
+ lp->count = statp->st_nlink - 1;
+- (void) strcpy(lp->pathname, target);
+- (void) strcpy(lp->src, source);
++ lp->pathname = strdup(target);
++ lp->src = strdup(source);
+ if (Tdest)
+- (void) strcpy(lp->target, Tdest);
++ lp->target = strdup(Tdest);
+ else
+- *lp->target = CNULL;
++ lp->target = NULL;
++ if (!lp->pathname || !lp->src || !(Tdest && lp->target))
++ fatalerr("Cannot malloc memory in linkinfo.");
+
+ return((struct linkbuf *) NULL);
+ }
+--- rdist-6.1.5/src/docmd.c.links Wed Feb 17 17:51:23 1999
++++ rdist-6.1.5/src/docmd.c Wed Feb 17 17:52:44 1999
+@@ -586,7 +586,7 @@
+ if (!nflag) {
+ register struct linkbuf *nextl, *l;
+
+- for (l = ihead; l != NULL; free((char *)l), l = nextl) {
++ for (l = ihead; l != NULL; freelinkinfo(l), l = nextl) {
+ nextl = l->nextp;
+ if (contimedout || IS_ON(opts, DO_IGNLNKS) ||
+ l->count == 0)
+--- rdist-6.1.5/include/defs.h.links Wed Feb 17 17:52:58 1999
++++ rdist-6.1.5/include/defs.h Wed Feb 17 17:53:47 1999
+@@ -276,9 +276,9 @@
+ ino_t inum;
+ dev_t devnum;
+ int count;
+- char pathname[BUFSIZ];
+- char src[BUFSIZ];
+- char target[BUFSIZ];
++ char *pathname;
++ char *src;
++ char *target;
+ struct linkbuf *nextp;
+ };
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-linux.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-linux.patch
new file mode 100644
index 000000000..b56fd38b9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-linux.patch
@@ -0,0 +1,28 @@
+Upstream-Status: Inappropriate [1]
+
+[1] Not the author, the patch is from:
+http://vault.centos.org/5.8/os/SRPMS/rdist-6.1.5-44.src.rpm
+
+diff: rdist-6.1.5/config/mf: No such file or directory
+--- rdist-6.1.5/config/os-linux.h.linux Mon Nov 9 22:59:59 1998
++++ rdist-6.1.5/config/os-linux.h Thu Nov 12 14:50:35 1998
+@@ -58,7 +58,7 @@
+ /*
+ * Select the type of executable file format.
+ */
+-#define EXE_TYPE EXE_AOUT
++#define EXE_TYPE EXE_ELF
+
+ /*
+ * Select the type of statfs() system call (if any).
+--- rdist-6.1.5/mf/Makefile.var.linux Tue Nov 10 00:02:11 1998
++++ rdist-6.1.5/mf/Makefile.var Thu Nov 12 14:50:35 1998
+@@ -67,7 +67,7 @@
+ #
+ # Name of YACC.
+ #
+-#YACC = bison -y
++YACC = bison -y
+
+ OPT = -g
+ RM = rm
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-makefile-add-ldflags.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-makefile-add-ldflags.patch
new file mode 100644
index 000000000..cc82e16cc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-makefile-add-ldflags.patch
@@ -0,0 +1,23 @@
+Add LDFLAGS variable to Makefile so that extra linker flags can be sent via this variable.
+
+Upstream-Status: Inappropriate [no upstream]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+
+diff --git a/src/Makefile.real b/src/Makefile.real
+index 02179e4..9070974 100644
+--- a/src/Makefile.real
++++ b/src/Makefile.real
+@@ -36,10 +36,10 @@ all: src
+ src: $(CLIENT_BIN) $(SERVER_BIN)
+
+ $(SERVER_BIN): $(SERVEROBJS) $(COMMONOBJS) $(MISSINGOBJS)
+- $(CC) -o $@ $(SERVEROBJS) $(COMMONOBJS) $(MISSINGOBJS) $(LIBS)
++ $(CC) -o $@ $(SERVEROBJS) $(COMMONOBJS) $(MISSINGOBJS) $(LIBS) $(LDFLAGS)
+
+ $(CLIENT_BIN): $(CLIENTOBJS) $(COMMONOBJS) $(MISSINGOBJS)
+- $(CC) -o $@ $(CLIENTOBJS) $(COMMONOBJS) $(MISSINGOBJS) $(LIBS)
++ $(CC) -o $@ $(CLIENTOBJS) $(COMMONOBJS) $(MISSINGOBJS) $(LIBS) $(LDFLAGS)
+
+ $(CLIENTOBJS) $(SERVEROBJS): $(HFILES) y.tab.h
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-maxargs.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-maxargs.patch
new file mode 100644
index 000000000..e81639446
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-maxargs.patch
@@ -0,0 +1,16 @@
+Upstream-Status: Inappropriate [1]
+
+[1] Not the author, the patch is from:rdist
+http://vault.centos.org/5.8/os/SRPMS/rdist-6.1.5-44.src.rpm
+
+--- rdist-6.1.5/src/setargs.c.maxargs 1998-11-10 05:15:56.000000000 +0100
++++ rdist-6.1.5/src/setargs.c 2003-09-04 14:39:03.000000000 +0200
+@@ -58,7 +58,7 @@
+ * Set process argument functions
+ */
+
+-#define MAXUSERENVIRON 40
++#define MAXUSERENVIRON 1024
+ char **Argv = NULL;
+ char *LastArgv = NULL;
+ char *UserEnviron[MAXUSERENVIRON+1];
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-mkstemp.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-mkstemp.patch
new file mode 100644
index 000000000..e49e3e4d1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-mkstemp.patch
@@ -0,0 +1,28 @@
+Upstream-Status: Inappropriate [1]
+
+[1] Not the author, the patch is from:
+http://vault.centos.org/5.8/os/SRPMS/rdist-6.1.5-44.src.rpm
+
+--- rdist-6.1.5/src/server.c.mkstemp 2004-05-25 14:29:37.279312752 +0200
++++ rdist-6.1.5/src/server.c 2004-05-25 14:31:27.050744340 +0200
+@@ -1479,11 +1479,18 @@
+ *file = '/';
+ }
+ fd = mkstemp(new);
+- if (fd < 0) {
++ /*
++ * Don't consider it a fatal error if mkstemp() fails
++ * because parent directory didn't exist. (Missing
++ * parents are created later (in recvfile())
++ */
++ if ((fd < 0) && (errno != ENOENT)) {
+ error("Cannot set file name.");
+ return;
++ } else if (fd >= 0) {
++ close(fd);
++ unlink(new); /* Or symlink() will fail */
+ }
+- close(fd);
+ }
+
+ /*
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-oldpath.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-oldpath.patch
new file mode 100644
index 000000000..493b18397
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-oldpath.patch
@@ -0,0 +1,59 @@
+Upstream-Status: Inappropriate [1]
+
+[1] Not the author, the patch is from:
+http://vault.centos.org/5.8/os/SRPMS/rdist-6.1.5-44.src.rpm
+
+--- rdist-6.1.5/config/config.h.oldpath Tue Nov 10 04:59:48 1998
++++ rdist-6.1.5/config/config.h Thu Jan 31 17:33:21 2002
+@@ -39,7 +39,7 @@
+ * don't have the old rdist, then uncomment the "#undef" line.
+ */
+ #ifndef _PATH_OLDRDIST
+-#define _PATH_OLDRDIST "/usr/ucb/oldrdist" /* Enable compat */
++#define _PATH_OLDRDIST "/usr/bin/oldrdist" /* Enable compat */
+ #endif
+ /*#undef _PATH_OLDRDIST*/ /* Disable compat */
+
+--- rdist-6.1.5/doc/rdist.man.oldpath Tue Nov 10 06:38:53 1998
++++ rdist-6.1.5/doc/rdist.man Thu Jan 31 17:36:57 2002
+@@ -170,10 +170,9 @@
+ This option will only work if
+ .I rdist
+ was compiled with the location of the old rdist
+-(usually either
+-.I /usr/ucb/oldrdist
+-or
+-.I /usr/old/rdist)
++(the path
++.I /usr/bin/oldrdist
++is used on Red Hat linux)
+ and that program is available at run time.
+ .PP
+ .I Rdist
+@@ -558,7 +557,7 @@
+ should be of form
+ .sp
+ .RS
+-\fIfacility\fB=\fItypes\fB:\fIfacility\fB=\fItypes...
++\fIfacility\fB=\fItypes\fB:\fIfacility\fB=\fItypes...\fR
+ .RE
+ .sp
+ The valid facility names are:
+--- rdist-6.1.5/README.oldpath Fri Jul 19 19:24:09 1996
++++ rdist-6.1.5/README Thu Jan 31 17:33:21 2002
+@@ -65,12 +65,12 @@
+
+ The way the old rdist started a server rdist is to run "rdist
+ -Server". If the new rdist is run with the "-Server" option, then it
+-will exec a copy of the old rdist (usually /usr/old/rdist or
+-/usr/ucb/oldrdist). In this way, you get compatibility with hosts
++will exec a copy of the old rdist (the path /usr/bin/oldrdist in Red
++Hat linux). In this way, you get compatibility with hosts
+ running the old rdist attempting to rdist to a machine running new
+ rdist. If your host running new rdist wants to rdist to a host
+ running the old rdist, then it must run the old rdist program
+-(/usr/old/rdist or /usr/ucb/oldrdist).
++(/usr/bin/oldrdist in Red Hat linux).
+
+ The definition _PATH_OLDRDIST in "config/config.h" controls the
+ location of the old rdist. If this is not defined, or the defined
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-ssh.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-ssh.patch
new file mode 100644
index 000000000..d3982cf41
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-ssh.patch
@@ -0,0 +1,14 @@
+Upstream-Status: Inappropriate [1]
+
+[1] Not the author, the patch is from:
+http://vault.centos.org/5.8/os/SRPMS/rdist-6.1.5-44.src.rpm
+
+--- rdist-6.1.5/src/rshrcmd.c.dist Tue Dec 12 08:20:56 1995
++++ rdist-6.1.5/src/rshrcmd.c Wed Dec 11 07:14:13 1996
+@@ -64,5 +64,5 @@
+ sp[0]. */
+ (void) close(sp[0]);
+- if (dup2(sp[1], 0) < 0 || dup2(0,1) < 0 || dup2(0, 2) < 0) {
++ if (dup2(sp[1], 0) < 0 || dup2(0,1) < 0) {
+ error("dup2 failed: %s.", SYSERR);
+ _exit(255);
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-stat64.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-stat64.patch
new file mode 100644
index 000000000..b20953ef3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-stat64.patch
@@ -0,0 +1,85 @@
+Upstream-Status: Inappropriate [1]
+
+[1] Not the author, the patch is from:
+http://vault.centos.org/5.8/os/SRPMS/rdist-6.1.5-44.src.rpm
+
+--- rdist-6.1.5/src/filesys.c.stat64 2005-05-04 14:11:03.000000000 +0200
++++ rdist-6.1.5/src/filesys.c 2005-05-04 14:11:10.000000000 +0200
+@@ -430,8 +430,8 @@
+ */
+ int getfilesysinfo(file, freespace, freefiles)
+ char *file;
+- long *freespace;
+- long *freefiles;
++ fsblkcnt_t *freespace;
++ fsfilcnt_t *freefiles;
+ {
+ #if defined(STATFS_TYPE)
+ static statfs_t statfsbuf;
+--- rdist-6.1.5/src/server.c.stat64 2005-05-04 14:11:23.000000000 +0200
++++ rdist-6.1.5/src/server.c 2005-05-04 14:20:34.000000000 +0200
+@@ -62,8 +62,8 @@
+ int catname = 0; /* cat name to target name */
+ char *sptarget[32]; /* stack of saved ptarget's for directories */
+ char *fromhost = NULL; /* Client hostname */
+-static long min_freespace = 0; /* Minimium free space on a filesystem */
+-static long min_freefiles = 0; /* Minimium free # files on a filesystem */
++static fsblkcnt_t min_freespace = 0; /* Minimium free space on a filesystem */
++static fsfilcnt_t min_freefiles = 0; /* Minimium free # files on a filesystem */
+ int oumask; /* Old umask */
+
+ /*
+@@ -1326,7 +1326,7 @@
+ fatalerr("Expected digit, got '%s'.", cp);
+ return;
+ }
+- min_freespace = (unsigned long) atoi(cp);
++ min_freespace = (fsblkcnt_t) atoll(cp);
+ break;
+
+ case SC_FREEFILES: /* Minimium free files */
+@@ -1334,7 +1334,7 @@
+ fatalerr("Expected digit, got '%s'.", cp);
+ return;
+ }
+- min_freefiles = (unsigned long) atoi(cp);
++ min_freefiles = (fsfilcnt_t) atoll(cp);
+ break;
+
+ case SC_LOGGING: /* Logging options */
+@@ -1364,7 +1364,8 @@
+ time_t mtime, atime;
+ char *owner, *group, *file;
+ char new[MAXPATHLEN];
+- long freespace = -1, freefiles = -1;
++ fsfilcnt_t freefiles = -1;
++ fsblkcnt_t freespace = -1;
+ char *cp = cmd;
+
+ /*
+@@ -1499,7 +1500,7 @@
+ */
+ if (min_freespace || min_freefiles) {
+ /* Convert file size to kilobytes */
+- long fsize = (long) (size / 1024);
++ fsblkcnt_t fsize = (fsblkcnt_t) (size / 1024);
+
+ if (getfilesysinfo(target, &freespace, &freefiles) != 0)
+ return;
+@@ -1511,14 +1512,14 @@
+ if (min_freespace && (freespace >= 0) &&
+ (freespace - fsize < min_freespace)) {
+ error(
+- "%s: Not enough free space on filesystem: min %d free %d",
++ "%s: Not enough free space on filesystem: min %lld free %lld",
+ target, min_freespace, freespace);
+ return;
+ }
+ if (min_freefiles && (freefiles >= 0) &&
+ (freefiles - 1 < min_freefiles)) {
+ error(
+- "%s: Not enough free files on filesystem: min %d free %d",
++ "%s: Not enough free files on filesystem: min %lld free %lld",
+ target, min_freefiles, freefiles);
+ return;
+ }
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-svr4.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-svr4.patch
new file mode 100644
index 000000000..bf73b71e1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-svr4.patch
@@ -0,0 +1,15 @@
+Upstream-Status: Inappropriate [1]
+
+[1] Not the author, the patch is from:
+http://vault.centos.org/5.8/os/SRPMS/rdist-6.1.5-44.src.rpm
+
+--- rdist-6.1.5/build/os-type.svr4 2003-12-17 12:44:18.000000000 +0100
++++ rdist-6.1.5/build/os-type 2003-12-17 12:44:29.000000000 +0100
+@@ -83,7 +83,6 @@
+ if [ -z "${OS}" -a ! -z "${uname}" ]; then
+ case "`$uname -a | tr '[A-Z]' '[a-z]'`" in
+ osf1*) OS=break;;
+- *"4.0"*) OS=svr4;; # There has to be a better way
+ *" dcosx "*) OS=dcosx;;
+ *"cx/ux"*) OS=cxux;;
+ *"hp-ux"*) # HP-UX 9.x
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-varargs.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-varargs.patch
new file mode 100644
index 000000000..e6edbc44d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist-6.1.5/rdist-6.1.5-varargs.patch
@@ -0,0 +1,16 @@
+Upstream-Status: Inappropriate [1]
+
+[1] Not the author, the patch is from:
+http://vault.centos.org/5.8/os/SRPMS/rdist-6.1.5-44.src.rpm
+
+--- rdist-6.1.5/config/os-linux.h.varargs 2003-06-17 17:52:33.000000000 +0200
++++ rdist-6.1.5/config/os-linux.h 2003-06-17 17:53:07.000000000 +0200
+@@ -68,7 +68,7 @@
+ /*
+ * Type of arg functions we have.
+ */
+-#define ARG_TYPE ARG_VARARGS
++#define ARG_TYPE ARG_STDARG
+
+ /*
+ * Do we have select()?
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist_6.1.5.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist_6.1.5.bb
new file mode 100644
index 000000000..cea1f08f9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist_6.1.5.bb
@@ -0,0 +1,37 @@
+SUMMARY = "Remote file distribution client and server"
+DESCRIPTION = "\
+Rdist is a program to maintain identical copies of files over multiple \
+hosts. It preserves the owner, group, mode, and mtime of files if \
+possible and can update programs that are executing. \
+"
+SECTION = "console/network"
+LICENSE = "BSD-4-Clause"
+LIC_FILES_CHKSUM = "file://Copyright;md5=3f47ec9f64b11c8192ee05a66b5c2755"
+
+SRC_URI = "http://www.magnicomp.com/download/${BPN}/${BP}.tar.gz"
+SRC_URI[md5sum] = "546779700af70aa5f9103e08782cdcac"
+SRC_URI[sha256sum] = "2bb0d0f5904eadc9e7fe3d60c15389d6897fcf884211070e289a6c710ff37f96"
+
+SRC_URI += "file://rdist-6.1.5-linux.patch \
+ file://rdist-6.1.5-links.patch \
+ file://rdist-6.1.5-oldpath.patch \
+ file://rdist-6.1.5-hardlink.patch \
+ file://rdist-6.1.5-bison.patch \
+ file://rdist-6.1.5-varargs.patch \
+ file://rdist-6.1.5-maxargs.patch \
+ file://rdist-6.1.5-lfs.patch \
+ file://rdist-6.1.5-cleanup.patch \
+ file://rdist-6.1.5-svr4.patch \
+ file://rdist-6.1.5-ssh.patch \
+ file://rdist-6.1.5-mkstemp.patch \
+ file://rdist-6.1.5-stat64.patch \
+ file://rdist-6.1.5-fix-msgsndnotify-loop.patch \
+ file://rdist-6.1.5-bb-build.patch \
+ file://rdist-6.1.5-makefile-add-ldflags.patch \
+"
+
+DEPENDS = "bison-native"
+
+inherit autotools-brokensep
+
+EXTRA_OEMAKE = "BIN_GROUP=root MAN_GROUP=root RDIST_MODE=755 RDISTD_MODE=755 MAN_MODE=644"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/relayd/relayd/0001-rtnl_flush-Error-on-failed-write.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/relayd/relayd/0001-rtnl_flush-Error-on-failed-write.patch
new file mode 100644
index 000000000..eaaf30460
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/relayd/relayd/0001-rtnl_flush-Error-on-failed-write.patch
@@ -0,0 +1,34 @@
+From 2fa326b26dc479942367dc4283e2f87372403988 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 17 Jun 2017 09:32:04 -0700
+Subject: [PATCH] rtnl_flush: Error on failed write()
+
+Fixes
+route.c:45:2: error: ignoring return value of 'write', declared with attribute warn_unused_result [-Werror=unused-result]
+| write(fd, "-1", 2);
+| ^~~~~~~~~~~~~~~~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted
+
+ route.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/route.c b/route.c
+index c552d1f..fc5c31e 100644
+--- a/route.c
++++ b/route.c
+@@ -42,7 +42,8 @@ static void rtnl_flush(void)
+ if (fd < 0)
+ return;
+
+- write(fd, "-1", 2);
++ if (write(fd, "-1", 2) < 0 )
++ perror("write");
+ close(fd);
+ }
+
+--
+2.13.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/relayd/relayd_git.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/relayd/relayd_git.bb
index 50297f38d..98dc41a09 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/relayd/relayd_git.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/relayd/relayd_git.bb
@@ -5,9 +5,11 @@ LIC_FILES_CHKSUM = "file://main.c;endline=17;md5=86aad799085683e0a2e1c2684a20bab
DEPENDS = "libubox"
-SRC_URI = "git://nbd.name/relayd.git"
+SRC_URI = "git://git.openwrt.org/project/relayd.git \
+ file://0001-rtnl_flush-Error-on-failed-write.patch \
+"
-SRCREV = "2970ff60bac6b70ecb682779d5c776dc559dc0b9"
+SRCREV = "ad0b25ad74345d367c62311e14b279f5ccb8ef13"
PV = "0.0.1+git${SRCPV}"
S = "${WORKDIR}/git"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/00-fix-typos-in-man-pages.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/00-fix-typos-in-man-pages.patch
deleted file mode 100644
index c94bc3185..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/00-fix-typos-in-man-pages.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-From 1573638212a9733a44939a4d38a226f38dca36f1 Mon Sep 17 00:00:00 2001
-From: Michele Baldessari <michele@acksyn.org>
-Date: Tue, 9 Jul 2013 23:23:33 +0200
-Subject: [PATCH] Fix typos in man-pages
-
-Fix some typos in the man-pages.
-
-Signed-off-by: Michele Baldessari <michele@acksyn.org>
-Reviewed-by: Simo Sorce <idra@samba.org>
-
-Autobuild-User(master): Simo Sorce <idra@samba.org>
-Autobuild-Date(master): Wed Jul 10 16:45:07 CEST 2013 on sn-devel-104
----
- docs-xml/manpages/dbwrap_tool.1.xml | 2 +-
- docs-xml/manpages/idmap_autorid.8.xml | 2 +-
- docs-xml/manpages/net.8.xml | 2 +-
- docs-xml/manpages/pdbedit.8.xml | 2 +-
- docs-xml/manpages/samba.7.xml | 2 +-
- docs-xml/manpages/smbclient.1.xml | 2 +-
- docs-xml/manpages/smbpasswd.5.xml | 2 +-
- docs-xml/manpages/vfs_smb_traffic_analyzer.8.xml | 2 +-
- 8 files changed, 8 insertions(+), 8 deletions(-)
-
-Index: samba-4.1.11/docs-xml/manpages/smbstatus.1.xml
-===================================================================
---- samba-4.1.11.orig/docs-xml/manpages/smbstatus.1.xml
-+++ samba-4.1.11/docs-xml/manpages/smbstatus.1.xml
-@@ -137,6 +137,13 @@
- </listitem>
- </varlistentry>
-
-+ <varlistentry>
-+ <term>-n|--numeric</term>
-+ <listitem><para>causes smbstatus to display numeric UIDs and GIDs instead of
-+ resolving them to names.</para>
-+ </listitem>
-+ </varlistentry>
-+
- </variablelist>
- </refsect1>
-
-Index: samba-4.1.11/docs-xml/manpages/sharesec.1.xml
-===================================================================
---- samba-4.1.11.orig/docs-xml/manpages/sharesec.1.xml
-+++ samba-4.1.11/docs-xml/manpages/sharesec.1.xml
-@@ -129,6 +129,13 @@
- </para></listitem>
- </varlistentry>
-
-+ <varlistentry>
-+ <term>-S|--setsddl=STRING</term>
-+ <listitem><para>
-+ Set security descriptor by providing ACL in SDDL format.
-+ </para></listitem>
-+ </varlistentry>
-+
- &stdarg.help;
- &stdarg.server.debug;
- &popt.common.samba;
-Index: samba-4.1.11/docs-xml/build/DTD/samba.entities
-===================================================================
---- samba-4.1.11.orig/docs-xml/build/DTD/samba.entities
-+++ samba-4.1.11/docs-xml/build/DTD/samba.entities
-@@ -270,6 +270,44 @@ file.
- &popt.common.samba;
- '>
-
-+<!ENTITY stdarg.signing '
-+<varlistentry>
-+<term>-S|--signing on|off|required</term>
-+<listitem><para>Set the client signing state.
-+</para></listitem>
-+</varlistentry>
-+'>
-+
-+<!ENTITY stdarg.machinepass '
-+<varlistentry>
-+<term>-P|--machine-pass</term>
-+<listitem><para>Use stored machine account password.
-+</para></listitem>
-+</varlistentry>
-+'>
-+
-+<!ENTITY stdarg.encrypt '
-+<varlistentry>
-+<term>-e|--encrypt</term>
-+<listitem><para>
-+This command line parameter requires the remote
-+server support the UNIX extensions or that the SMB3 protocol has been selected.
-+Requests that the connection be encrypted. Negotiates SMB encryption using either
-+SMB3 or POSIX extensions via GSSAPI. Uses the given credentials for
-+the encryption negotiation (either kerberos or NTLMv1/v2 if given
-+domain/username/password triple. Fails the connection if encryption
-+cannot be negotiated.
-+</para></listitem>
-+</varlistentry>
-+'>
-+
-+<!ENTITY stdarg.pwnthash '
-+<varlistentry>
-+<term>--pw-nt-hash</term>
-+<listitem><para>The supplied password is the NT hash.
-+</para></listitem>
-+</varlistentry>
-+'>
-
- <!ENTITY stdarg.resolve.order '
- <varlistentry>
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.6.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.6.2.bb
deleted file mode 100644
index 7574aefb4..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.6.2.bb
+++ /dev/null
@@ -1,254 +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://0001-packaging-Avoid-timeout-for-nmbd-if-started-offline-.patch \
- file://0006-avoid-using-colon-in-the-checking-msg.patch \
- file://netdb_defines.patch \
- file://glibc_only.patch \
- file://volatiles.03_samba \
- "
-SRC_URI_append_libc-musl = " \
- file://samba-4.2.7-pam.patch \
- file://samba-4.3.9-remove-getpwent_r.patch \
- "
-SRC_URI[md5sum] = "461def8190ffc651fd8458b24ca2a622"
-SRC_URI[sha256sum] = "927afcc16e444718985e3952de92d34e7b776b9ca0238179d866da18a6441c35"
-
-inherit systemd waf-samba cpan-base perlnative update-rc.d
-# remove default added RDEPENDS on perl
-RDEPENDS_${PN}_remove = "perl"
-
-DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libldb krb5 libbsd libaio libpam"
-DEPENDS_append_libc-musl = " libtirpc"
-CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc"
-LDFLAGS_append_libc-musl = " -ltirpc"
-
-LSB = ""
-LSB_linuxstdbase = "lsb"
-
-INITSCRIPT_NAME = "samba"
-INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ."
-
-SYSTEMD_PACKAGES = "${PN}-base winbind"
-SYSTEMD_SERVICE_${PN}-base = "nmb.service smb.service"
-SYSTEMD_SERVICE_winbind = "winbind.service"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd zeroconf', d)} \
- acl cups ldap \
-"
-
-RDEPENDS_${PN}-base += "${LSB}"
-RDEPENDS_${PN}-ctdb-tests += "bash util-linux-getopt"
-
-PACKAGECONFIG[acl] = "--with-acl-support,--without-acl-support,acl"
-PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin"
-PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups"
-PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
-PACKAGECONFIG[sasl] = ",,cyrus-sasl"
-PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd"
-PACKAGECONFIG[dmapi] = "--with-dmapi,--without-dmapi,dmapi"
-PACKAGECONFIG[zeroconf] = "--enable-avahi,--disable-avahi,avahi"
-PACKAGECONFIG[valgrind] = ",--without-valgrind,valgrind,"
-PACKAGECONFIG[lttng] = "--with-lttng, --without-lttng,lttng-ust"
-PACKAGECONFIG[archive] = "--with-libarchive, --without-libarchive, libarchive"
-
-
-SAMBA4_IDMAP_MODULES="idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2"
-SAMBA4_PDB_MODULES="pdb_tdbsam,${@bb.utils.contains('PACKAGECONFIG', 'ldap', 'pdb_ldap,', '', d)}pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4"
-SAMBA4_AUTH_MODULES="auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4"
-SAMBA4_MODULES="${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MODULES}"
-
-SAMBA4_LIBS="heimdal,!zlib,!popt,!talloc,!pytalloc,!pytalloc-util,!tevent,!pytevent,!tdb,!pytdb,!ldb,!pyldb"
-
-EXTRA_OECONF += "--enable-fhs \
- --with-piddir=/run \
- --with-sockets-dir=/run/samba \
- --with-modulesdir=${libdir}/samba \
- --with-lockdir=${localstatedir}/lib/samba \
- --with-cachedir=${localstatedir}/lib/samba \
- --disable-gnutls \
- --disable-rpath-install \
- --with-shared-modules=${SAMBA4_MODULES} \
- --bundled-libraries=${SAMBA4_LIBS} \
- --with-system-mitkrb5 \
- --without-ad-dc \
- ${@base_conditional('TARGET_ARCH', 'x86_64', '', '--disable-glusterfs', d)} \
- --with-cluster-support \
- --with-profiling-data \
- --with-libiconv=${STAGING_DIR_HOST}${prefix} \
- --with-pam --with-pammodulesdir=${base_libdir}/security \
- "
-
-LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
-
-do_install_append() {
- for section in 1 5 7; do
- install -d ${D}${mandir}/man$section
- install -m 0644 ctdb/doc/*.$section ${D}${mandir}/man$section
- done
- for section in 1 5 7 8; do
- install -d ${D}${mandir}/man$section
- install -m 0644 docs/manpages/*.$section ${D}${mandir}/man$section
- done
-
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 packaging/systemd/*.service ${D}${systemd_system_unitdir}
- sed -e 's,\(ExecReload=\).*\(/kill\),\1${base_bindir}\2,' \
- -e 's,/etc/sysconfig/samba,${sysconfdir}/default/samba,' \
- -i ${D}${systemd_system_unitdir}/*.service
-
- install -d ${D}${sysconfdir}/tmpfiles.d
- install -m644 packaging/systemd/samba.conf.tmp ${D}${sysconfdir}/tmpfiles.d/samba.conf
- echo "d ${localstatedir}/log/samba 0755 root root -" \
- >> ${D}${sysconfdir}/tmpfiles.d/samba.conf
- if [ "${LSB}" = "lsb" ]; then
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 packaging/LSB/samba.sh ${D}${sysconfdir}/init.d/samba
- else
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 packaging/sysv/samba.init ${D}${sysconfdir}/init.d/samba
- sed -e 's,/opt/samba/bin,${sbindir},g' \
- -e 's,/opt/samba/smb.conf,${sysconfdir}/samba/smb.conf,g' \
- -e 's,/opt/samba/log,${localstatedir}/log/samba,g' \
- -e 's,/etc/init.d/samba.server,${sysconfdir}/init.d/samba,g' \
- -e 's,/usr/bin,${base_bindir},g' \
- -i ${D}${sysconfdir}/init.d/samba
- fi
-
- install -d ${D}${sysconfdir}/samba
- echo "127.0.0.1 localhost" > ${D}${sysconfdir}/samba/lmhosts
- install -m644 packaging/LSB/smb.conf ${D}${sysconfdir}/samba/smb.conf
- install -D -m 644 ${WORKDIR}/volatiles.03_samba ${D}${sysconfdir}/default/volatiles/03_samba
-
- install -d ${D}${sysconfdir}/default
- install -m644 packaging/systemd/samba.sysconfig ${D}${sysconfdir}/default/samba
-
- # install ctdb config file and test cases
- install -D -m 0644 ${S}/ctdb/tests/onnode/nodes ${D}${sysconfdir}/ctdb/nodes
- # the items are from ctdb/tests/run_tests.sh
- for d in onnode takeover tool eventscripts cunit simple complex; do
- testdir=${D}${datadir}/ctdb-tests/$d
- install -d $testdir
- cp ${S}/ctdb/tests/$d/*.sh $testdir
- cp -r ${S}/ctdb/tests/$d/scripts ${S}/ctdb/tests/$d/stubs $testdir || true
- done
-
- # fix file-rdeps qa warning
- if [ -f ${D}${bindir}/onnode ]; then
- sed -i 's:\(#!/bin/\)bash:\1sh:' ${D}${bindir}/onnode
- fi
-
- chmod 0750 ${D}${sysconfdir}/sudoers.d
- rm -rf ${D}/run ${D}${localstatedir}/run ${D}${localstatedir}/log
-}
-
-PACKAGES =+ "${PN}-python ${PN}-pidl \
- ${PN}-dsdb-modules ${PN}-testsuite registry-tools \
- winbind \
- ${PN}-common ${PN}-base ${PN}-ctdb-tests \
- smbclient"
-
-python samba_populate_packages() {
- def module_hook(file, pkg, pattern, format, basename):
- pn = d.getVar('PN', True)
- d.appendVar('RRECOMMENDS_%s-base' % pn, ' %s' % pkg)
-
- mlprefix = d.getVar('MLPREFIX', True) or ''
- pam_libdir = d.expand('${base_libdir}/security')
- pam_pkgname = mlprefix + 'pam-plugin%s'
- do_split_packages(d, pam_libdir, '^pam_(.*)\.so$', pam_pkgname, 'PAM plugin for %s', extra_depends='', prepend=True)
-
- libdir = d.getVar('libdir', True)
- do_split_packages(d, libdir, '^lib(.*)\.so\..*$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True, allow_links=True)
- pkglibdir = '%s/samba' % libdir
- do_split_packages(d, pkglibdir, '^lib(.*)\.so$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True)
- moduledir = '%s/samba/auth' % libdir
- do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-auth-%s', 'Samba %s authentication backend', hook=module_hook, extra_depends='', prepend=True)
- moduledir = '%s/samba/pdb' % libdir
- do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-pdb-%s', 'Samba %s password backend', hook=module_hook, extra_depends='', prepend=True)
-}
-
-PACKAGESPLITFUNCS_prepend = "samba_populate_packages "
-
-RDEPENDS_${PN} += "${PN}-base"
-
-FILES_${PN}-base = "${sbindir}/nmbd \
- ${sbindir}/smbd \
- ${sysconfdir}/init.d \
- ${localstatedir}/lib/samba \
- ${localstatedir}/nmbd \
- ${localstatedir}/spool/samba \
- ${systemd_system_unitdir}/nmb.service \
- ${systemd_system_unitdir}/samba.service \
- ${systemd_system_unitdir}/smb.service"
-
-FILES_${PN}-ctdb-tests = "${bindir}/ctdb_run_tests \
- ${bindir}/ctdb_run_cluster_tests \
- ${sysconfdir}/ctdb/nodes \
- ${datadir}/ctdb-tests \
- ${datadir}/ctdb/tests \
- "
-
-FILES_${BPN}-common = "${sysconfdir}/default \
- ${sysconfdir}/samba \
- ${sysconfdir}/tmpfiles.d \
-"
-
-FILES_${PN} += "${libdir}/vfs/*.so \
- ${libdir}/charset/*.so \
- ${libdir}/*.dat \
- ${libdir}/auth/*.so \
-"
-
-FILES_${PN}-dsdb-modules = "${libdir}/samba/ldb"
-
-FILES_${PN}-testsuite = "${bindir}/gentest \
- ${bindir}/locktest \
- ${bindir}/masktest \
- ${bindir}/ndrdump \
- ${bindir}/smbtorture"
-
-FILES_registry-tools = "${bindir}/regdiff \
- ${bindir}/regpatch \
- ${bindir}/regshell \
- ${bindir}/regtree"
-
-FILES_winbind = "${sbindir}/winbindd \
- ${bindir}/wbinfo \
- ${bindir}/ntlm_auth \
- ${libdir}/samba/idmap \
- ${libdir}/samba/nss_info \
- ${libdir}/winbind_krb5_locator.so \
- ${sysconfdir}/init.d/winbind \
- ${systemd_system_unitdir}/winbind.service"
-
-FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
-
-FILES_smbclient = "${bindir}/cifsdd \
- ${bindir}/rpcclient \
- ${bindir}/smbcacls \
- ${bindir}/smbclient \
- ${bindir}/smbcquotas \
- ${bindir}/smbget \
- ${bindir}/smbspool \
- ${bindir}/smbtar \
- ${bindir}/smbtree \
- ${libdir}/samba/smbspool_krb5_wrapper"
-
-RDEPENDS_${PN}-pidl_append = " perl"
-FILES_${PN}-pidl = "${bindir}/pidl ${datadir}/perl5/Parse"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.6.7.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.6.7.bb
new file mode 100644
index 000000000..2b227c95d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.6.7.bb
@@ -0,0 +1,256 @@
+HOMEPAGE = "https://www.samba.org/"
+SECTION = "console/network"
+
+LICENSE = "GPL-3.0+ & LGPL-3.0+ & GPL-2.0+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+ file://${COREBASE}/meta/files/common-licenses/LGPL-3.0;md5=bfccfe952269fff2b407dd11f2f3083b \
+ file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 "
+
+SAMBA_MIRROR = "http://samba.org/samba/ftp"
+MIRRORS += "\
+${SAMBA_MIRROR} http://mirror.internode.on.net/pub/samba \n \
+${SAMBA_MIRROR} http://www.mirrorservice.org/sites/ftp.samba.org \n \
+"
+
+SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \
+ file://16-do-not-check-xsltproc-manpages.patch \
+ file://20-do-not-import-target-module-while-cross-compile.patch \
+ file://21-add-config-option-without-valgrind.patch \
+ file://0001-packaging-Avoid-timeout-for-nmbd-if-started-offline-.patch \
+ file://0006-avoid-using-colon-in-the-checking-msg.patch \
+ file://netdb_defines.patch \
+ file://glibc_only.patch \
+ file://volatiles.03_samba \
+ "
+SRC_URI_append_libc-musl = " \
+ file://samba-4.2.7-pam.patch \
+ file://samba-4.3.9-remove-getpwent_r.patch \
+ "
+
+SRC_URI[md5sum] = "c6ee5c766016d59908c8fb672fbbd445"
+SRC_URI[sha256sum] = "9ef24393de08390f236cabccd6a420b5cea304e959cbf1a99ff317325db3ddfa"
+
+inherit systemd waf-samba cpan-base perlnative update-rc.d
+# remove default added RDEPENDS on perl
+RDEPENDS_${PN}_remove = "perl"
+
+DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libldb krb5 libbsd libaio libpam"
+DEPENDS_append_libc-musl = " libtirpc"
+CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc"
+LDFLAGS_append_libc-musl = " -ltirpc"
+
+LSB = ""
+LSB_linuxstdbase = "lsb"
+
+INITSCRIPT_NAME = "samba"
+INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ."
+
+SYSTEMD_PACKAGES = "${PN}-base winbind"
+SYSTEMD_SERVICE_${PN}-base = "nmb.service smb.service"
+SYSTEMD_SERVICE_winbind = "winbind.service"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd zeroconf', d)} \
+ acl cups ldap \
+"
+
+RDEPENDS_${PN}-base += "${LSB}"
+RDEPENDS_${PN}-ctdb-tests += "bash util-linux-getopt"
+
+PACKAGECONFIG[acl] = "--with-acl-support,--without-acl-support,acl"
+PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin"
+PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups"
+PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
+PACKAGECONFIG[sasl] = ",,cyrus-sasl"
+PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd"
+PACKAGECONFIG[dmapi] = "--with-dmapi,--without-dmapi,dmapi"
+PACKAGECONFIG[zeroconf] = "--enable-avahi,--disable-avahi,avahi"
+PACKAGECONFIG[valgrind] = ",--without-valgrind,valgrind,"
+PACKAGECONFIG[lttng] = "--with-lttng, --without-lttng,lttng-ust"
+PACKAGECONFIG[archive] = "--with-libarchive, --without-libarchive, libarchive"
+
+
+SAMBA4_IDMAP_MODULES="idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2"
+SAMBA4_PDB_MODULES="pdb_tdbsam,${@bb.utils.contains('PACKAGECONFIG', 'ldap', 'pdb_ldap,', '', d)}pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4"
+SAMBA4_AUTH_MODULES="auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4"
+SAMBA4_MODULES="${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MODULES}"
+
+SAMBA4_LIBS="heimdal,!zlib,!popt,!talloc,!pytalloc,!pytalloc-util,!tevent,!pytevent,!tdb,!pytdb,!ldb,!pyldb"
+
+EXTRA_OECONF += "--enable-fhs \
+ --with-piddir=/run \
+ --with-sockets-dir=/run/samba \
+ --with-modulesdir=${libdir}/samba \
+ --with-lockdir=${localstatedir}/lib/samba \
+ --with-cachedir=${localstatedir}/lib/samba \
+ --disable-gnutls \
+ --disable-rpath-install \
+ --with-shared-modules=${SAMBA4_MODULES} \
+ --bundled-libraries=${SAMBA4_LIBS} \
+ --with-system-mitkrb5 \
+ --without-ad-dc \
+ ${@base_conditional('TARGET_ARCH', 'x86_64', '', '--disable-glusterfs', d)} \
+ --with-cluster-support \
+ --with-profiling-data \
+ --with-libiconv=${STAGING_DIR_HOST}${prefix} \
+ --with-pam --with-pammodulesdir=${base_libdir}/security \
+ "
+
+LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+
+do_install_append() {
+ for section in 1 5 7; do
+ install -d ${D}${mandir}/man$section
+ install -m 0644 ctdb/doc/*.$section ${D}${mandir}/man$section
+ done
+ for section in 1 5 7 8; do
+ install -d ${D}${mandir}/man$section
+ install -m 0644 docs/manpages/*.$section ${D}${mandir}/man$section
+ done
+
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 packaging/systemd/*.service ${D}${systemd_system_unitdir}
+ sed -e 's,\(ExecReload=\).*\(/kill\),\1${base_bindir}\2,' \
+ -e 's,/etc/sysconfig/samba,${sysconfdir}/default/samba,' \
+ -i ${D}${systemd_system_unitdir}/*.service
+
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ install -m644 packaging/systemd/samba.conf.tmp ${D}${sysconfdir}/tmpfiles.d/samba.conf
+ echo "d ${localstatedir}/log/samba 0755 root root -" \
+ >> ${D}${sysconfdir}/tmpfiles.d/samba.conf
+ if [ "${LSB}" = "lsb" ]; then
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 packaging/LSB/samba.sh ${D}${sysconfdir}/init.d/samba
+ else
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 packaging/sysv/samba.init ${D}${sysconfdir}/init.d/samba
+ sed -e 's,/opt/samba/bin,${sbindir},g' \
+ -e 's,/opt/samba/smb.conf,${sysconfdir}/samba/smb.conf,g' \
+ -e 's,/opt/samba/log,${localstatedir}/log/samba,g' \
+ -e 's,/etc/init.d/samba.server,${sysconfdir}/init.d/samba,g' \
+ -e 's,/usr/bin,${base_bindir},g' \
+ -i ${D}${sysconfdir}/init.d/samba
+ fi
+
+ install -d ${D}${sysconfdir}/samba
+ echo "127.0.0.1 localhost" > ${D}${sysconfdir}/samba/lmhosts
+ install -m644 packaging/LSB/smb.conf ${D}${sysconfdir}/samba/smb.conf
+ install -D -m 644 ${WORKDIR}/volatiles.03_samba ${D}${sysconfdir}/default/volatiles/03_samba
+
+ install -d ${D}${sysconfdir}/default
+ install -m644 packaging/systemd/samba.sysconfig ${D}${sysconfdir}/default/samba
+
+ # install ctdb config file and test cases
+ install -D -m 0644 ${S}/ctdb/tests/onnode/nodes ${D}${sysconfdir}/ctdb/nodes
+ # the items are from ctdb/tests/run_tests.sh
+ for d in onnode takeover tool eventscripts cunit simple complex; do
+ testdir=${D}${datadir}/ctdb-tests/$d
+ install -d $testdir
+ cp ${S}/ctdb/tests/$d/*.sh $testdir
+ cp -r ${S}/ctdb/tests/$d/scripts ${S}/ctdb/tests/$d/stubs $testdir || true
+ done
+
+ # fix file-rdeps qa warning
+ if [ -f ${D}${bindir}/onnode ]; then
+ sed -i 's:\(#!/bin/\)bash:\1sh:' ${D}${bindir}/onnode
+ fi
+
+ chmod 0750 ${D}${sysconfdir}/sudoers.d
+ rm -rf ${D}/run ${D}${localstatedir}/run ${D}${localstatedir}/log
+}
+
+PACKAGES =+ "${PN}-python ${PN}-pidl \
+ ${PN}-dsdb-modules ${PN}-testsuite registry-tools \
+ winbind \
+ ${PN}-common ${PN}-base ${PN}-ctdb-tests \
+ smbclient"
+
+python samba_populate_packages() {
+ def module_hook(file, pkg, pattern, format, basename):
+ pn = d.getVar('PN', True)
+ d.appendVar('RRECOMMENDS_%s-base' % pn, ' %s' % pkg)
+
+ mlprefix = d.getVar('MLPREFIX', True) or ''
+ pam_libdir = d.expand('${base_libdir}/security')
+ pam_pkgname = mlprefix + 'pam-plugin%s'
+ do_split_packages(d, pam_libdir, '^pam_(.*)\.so$', pam_pkgname, 'PAM plugin for %s', extra_depends='', prepend=True)
+
+ libdir = d.getVar('libdir', True)
+ do_split_packages(d, libdir, '^lib(.*)\.so\..*$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True, allow_links=True)
+ pkglibdir = '%s/samba' % libdir
+ do_split_packages(d, pkglibdir, '^lib(.*)\.so$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True)
+ moduledir = '%s/samba/auth' % libdir
+ do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-auth-%s', 'Samba %s authentication backend', hook=module_hook, extra_depends='', prepend=True)
+ moduledir = '%s/samba/pdb' % libdir
+ do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-pdb-%s', 'Samba %s password backend', hook=module_hook, extra_depends='', prepend=True)
+}
+
+PACKAGESPLITFUNCS_prepend = "samba_populate_packages "
+
+RDEPENDS_${PN} += "${PN}-base ${PN}-python ${PN}-dsdb-modules"
+RDEPENDS_${PN}-python += "pytalloc python-tdb"
+
+FILES_${PN}-base = "${sbindir}/nmbd \
+ ${sbindir}/smbd \
+ ${sysconfdir}/init.d \
+ ${localstatedir}/lib/samba \
+ ${localstatedir}/nmbd \
+ ${localstatedir}/spool/samba \
+ ${systemd_system_unitdir}/nmb.service \
+ ${systemd_system_unitdir}/samba.service \
+ ${systemd_system_unitdir}/smb.service"
+
+FILES_${PN}-ctdb-tests = "${bindir}/ctdb_run_tests \
+ ${bindir}/ctdb_run_cluster_tests \
+ ${sysconfdir}/ctdb/nodes \
+ ${datadir}/ctdb-tests \
+ ${datadir}/ctdb/tests \
+ "
+
+FILES_${BPN}-common = "${sysconfdir}/default \
+ ${sysconfdir}/samba \
+ ${sysconfdir}/tmpfiles.d \
+"
+
+FILES_${PN} += "${libdir}/vfs/*.so \
+ ${libdir}/charset/*.so \
+ ${libdir}/*.dat \
+ ${libdir}/auth/*.so \
+"
+
+FILES_${PN}-dsdb-modules = "${libdir}/samba/ldb"
+
+FILES_${PN}-testsuite = "${bindir}/gentest \
+ ${bindir}/locktest \
+ ${bindir}/masktest \
+ ${bindir}/ndrdump \
+ ${bindir}/smbtorture"
+
+FILES_registry-tools = "${bindir}/regdiff \
+ ${bindir}/regpatch \
+ ${bindir}/regshell \
+ ${bindir}/regtree"
+
+FILES_winbind = "${sbindir}/winbindd \
+ ${bindir}/wbinfo \
+ ${bindir}/ntlm_auth \
+ ${libdir}/samba/idmap \
+ ${libdir}/samba/nss_info \
+ ${libdir}/winbind_krb5_locator.so \
+ ${sysconfdir}/init.d/winbind \
+ ${systemd_system_unitdir}/winbind.service"
+
+FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
+
+FILES_smbclient = "${bindir}/cifsdd \
+ ${bindir}/rpcclient \
+ ${bindir}/smbcacls \
+ ${bindir}/smbclient \
+ ${bindir}/smbcquotas \
+ ${bindir}/smbget \
+ ${bindir}/smbspool \
+ ${bindir}/smbtar \
+ ${bindir}/smbtree \
+ ${libdir}/samba/smbspool_krb5_wrapper"
+
+RDEPENDS_${PN}-pidl_append = " perl"
+FILES_${PN}-pidl = "${bindir}/pidl ${datadir}/perl5/Parse"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/fix-host-contamination-when-enable-static-daq.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/fix-host-contamination-when-enable-static-daq.patch
new file mode 100644
index 000000000..2becc0624
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/fix-host-contamination-when-enable-static-daq.patch
@@ -0,0 +1,21 @@
+Upstream-Status: Inappropriate [embedded specific]
+
+When enable static daq for snort, it calls to daq-modules-config to get link
+library and library path. Library path is useless for oe and cause host
+contamination issue. So filter it.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+diff --git a/configure.in b/configure.in
+index fded45b..a247bb9 100644
+--- a/configure.in
++++ b/configure.in
+@@ -658,7 +658,7 @@ fi
+
+ if test "x$enable_static_daq" = "xyes"; then
+ LDAQ=""
+- LIBS="${LIBS} `daq-modules-config --static --libs`"
++ LIBS="${LIBS} `daq-modules-config --static --libs | sed 's#-L[^ ]*##g'`"
+ AC_CHECK_LIB([daq_static], [daq_load_modules],
+ [LIBS="-ldaq_static ${LIBS}"], [LDAQ="no"], [ ])
+
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 dfd6ba971..2034b85fb 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 @@ SECTION = "net"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=78fa8ef966b48fbf9095e13cc92377c5"
-DEPENDS = "xz libpcap libpcre daq libdnet util-linux"
+DEPENDS = "xz libpcap libpcre daq libdnet util-linux daq-native"
DEPENDS_append_libc-musl = " libtirpc"
SRC_URI = " ${GENTOO_MIRROR}/${BP}.tar.gz;name=tarball \
@@ -15,6 +15,7 @@ SRC_URI = " ${GENTOO_MIRROR}/${BP}.tar.gz;name=tarball \
file://disable-daq-verdict-retry.patch \
file://0001-libpcap-search-sysroot-for-headers.patch \
file://0001-fix-do_package-failed-since-snort-2.9.7.0.patch \
+ file://fix-host-contamination-when-enable-static-daq.patch \
"
SRC_URI[tarball.md5sum] = "fd271788c0f8876be87a858a9142f202"
@@ -31,7 +32,7 @@ EXTRA_OECONF = " \
--enable-reload \
--enable-reload-error-restart \
--enable-targetbased \
- --disable-static-daq \
+ --enable-static-daq \
--with-dnet-includes=${STAGING_INCDIR} \
--with-dnet-libraries=${STAGING_LIBDIR} \
--with-libpcre-includes=${STAGING_INCDIR} \
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vlan/vlan_1.9.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vlan/vlan_1.9.bb
index 3f688b360..bd55efce2 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vlan/vlan_1.9.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vlan/vlan_1.9.bb
@@ -1,4 +1,5 @@
SUMMARY = "VLAN provides vconfig utility"
+HOMEPAGE = "http://www.candelatech.com/~greear/vlan.html"
SECTION = "misc"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://vconfig.c;beginline=1;endline=19;md5=094ca47de36c20c598b15b32c270ce0a"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0009-reduce-lifetime-value.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0009-reduce-lifetime-value.patch
new file mode 100644
index 000000000..2bed55041
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0009-reduce-lifetime-value.patch
@@ -0,0 +1,42 @@
+From 39925f090c21ab571ebc6ec250696f7f7093a2a6 Mon Sep 17 00:00:00 2001
+From: Will Page <Will.Page@ni.com>
+Date: Wed, 30 Aug 2017 18:14:00 -0700
+Subject: [PATCH 1/1] Reduce lifetime value to widely-compatible value
+
+Current proposed lifetime value (2147483 seconds, which equates to
+MAXINT ms, or ~25 days) is rejected by Fortigate vpn devices because
+"peer SA proposal does not match local policy". It seems default
+policy for these devices constrains lifetime where similar VPN devices
+don't.
+
+Reducing the lifetime from its current value to 28800 (exactly 8 hours)
+causes it to start working with fortigate devices.
+---
+ vpnc.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/vpnc.c b/vpnc.c
+index 36dd0f3..3e0fcba 100644
+--- a/vpnc.c
++++ b/vpnc.c
+@@ -1135,7 +1135,7 @@ static struct isakmp_attribute *make_transform_ike(int dh_group, int crypt, int
+ a->af = isakmp_attr_lots;
+ a->u.lots.length = 4;
+ a->u.lots.data = xallocc(a->u.lots.length);
+- *((uint32_t *) a->u.lots.data) = htonl(2147483);
++ *((uint32_t *) a->u.lots.data) = htonl(28800);
+ a = new_isakmp_attribute_16(IKE_ATTRIB_LIFE_TYPE, IKE_LIFE_TYPE_SECONDS, a);
+ a = new_isakmp_attribute_16(IKE_ATTRIB_AUTH_METHOD, auth, a);
+ a = new_isakmp_attribute_16(IKE_ATTRIB_GROUP_DESC, dh_group, a);
+@@ -2561,7 +2561,7 @@ static struct isakmp_attribute *make_transform_ipsec(struct sa_block *s, int dh_
+ a->af = isakmp_attr_lots;
+ a->u.lots.length = 4;
+ a->u.lots.data = xallocc(a->u.lots.length);
+- *((uint32_t *) a->u.lots.data) = htonl(2147483);
++ *((uint32_t *) a->u.lots.data) = htonl(28800);
+ a = new_isakmp_attribute_16(ISAKMP_IPSEC_ATTRIB_SA_LIFE_TYPE, IPSEC_LIFE_SECONDS, a);
+
+ if (dh_group)
+--
+2.7.4
+
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 6f92acd06..ea2179985 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
@@ -20,6 +20,7 @@ SRC_URI = "git://github.com/ndpgroup/vpnc \
file://0006-sysdep-Add-header-include-sequence-to-adjust-for-mus.patch \
file://0007-add-error-API-when-error.h-is-not-on-platform.patch \
file://0008-include-sysdep.h-before-net-if_tun.h.patch \
+ file://0009-reduce-lifetime-value.patch \
"
PACKAGECONFIG ?= "gnutls"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/files/0001-fix-no-rule-to-make-cyassl-options.h.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/files/0001-fix-no-rule-to-make-cyassl-options.h.patch
new file mode 100644
index 000000000..f304d933d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/files/0001-fix-no-rule-to-make-cyassl-options.h.patch
@@ -0,0 +1,27 @@
+From fb490136cf8f2456cfe13b0b4f796e6c155e75dc Mon Sep 17 00:00:00 2001
+From: Dengke Du <dengke.du@windriver.com>
+Date: Wed, 30 Aug 2017 03:02:32 -0400
+Subject: [PATCH] fix no rule to make cyassl/options.h
+
+Upstream-Status: Pending
+
+Signed-off-by: Dengke Du <dengke.du@windriver.com>
+---
+ configure.ac | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/configure.ac b/configure.ac
+index 395d75d..d4a3880 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -3684,6 +3684,7 @@ AC_CONFIG_FILES([wolfssl/options.h])
+ #fi
+ AC_CONFIG_FILES([support/wolfssl.pc])
+ AC_CONFIG_FILES([rpm/spec])
++AC_CONFIG_FILES([cyassl/options.h])
+
+ AX_CREATE_GENERIC_CONFIG
+ AX_AM_JOBSERVER([yes])
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.12.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.12.0.bb
new file mode 100644
index 000000000..512619098
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.12.0.bb
@@ -0,0 +1,27 @@
+SUMMARY = "wolfSSL Lightweight, Embedded SSL Library"
+DESCRIPTION = "wolfSSL, formerly CyaSSL, is a lightweight SSL library written in C and \
+ optimized for embedded and RTOS environments. It can be \
+ Up to 20 times smaller than OpenSSL while still supporting \
+ a full TLS 1.2 client and server."
+HOMEPAGE = "http://www.wolfssl.com/yaSSL/Products-wolfssl.html"
+BUGTRACKER = "http://github.com/wolfssl/wolfssl/issues"
+SECTION = "libs"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+PROVIDES += "cyassl"
+RPROVIDES_${PN} = "cyassl"
+
+SRC_URI = "https://github.com/wolfSSL/wolfssl/archive/v${PV}-stable.zip \
+ file://0001-fix-no-rule-to-make-cyassl-options.h.patch \
+ "
+
+SRC_URI[md5sum] = "f9caf558169ab650dc8200708799ebeb"
+SRC_URI[sha256sum] = "b6d87d3e2c8757177d69aff373c91cf162f4a3944fae90fa10d086fd5f9542e7"
+
+S = "${WORKDIR}/wolfssl-${PV}-stable"
+
+inherit autotools
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
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
deleted file mode 100644
index afae3c863..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.9.0.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "wolfSSL Lightweight, Embedded SSL Library"
-DESCRIPTION = "wolfSSL, formerly CyaSSL, is a lightweight SSL library written in C and \
- optimized for embedded and RTOS environments. It can be \
- Up to 20 times smaller than OpenSSL while still supporting \
- a full TLS 1.2 client and server."
-HOMEPAGE = "http://www.wolfssl.com/yaSSL/Products-wolfssl.html"
-BUGTRACKER = "http://github.com/wolfssl/wolfssl/issues"
-SECTION = "libs"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-PROVIDES += "cyassl"
-RPROVIDES_${PN} = "cyassl"
-
-SRC_URI = "http://www.wolfssl.com/${BP}.zip"
-
-SRC_URI[md5sum] = "f3396726a9befd61443c2cce216e39ba"
-SRC_URI[sha256sum] = "98f50244f7b43f8683bd0cf5c599849d330e75e6cf077e96f14e83bda8b03ca3"
-
-inherit autotools
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-modules-lookup_multi.c-Replace-__S_IEXEC-with-S_IEXE.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-modules-lookup_multi.c-Replace-__S_IEXEC-with-S_IEXE.patch
new file mode 100644
index 000000000..7ac145674
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-modules-lookup_multi.c-Replace-__S_IEXEC-with-S_IEXE.patch
@@ -0,0 +1,29 @@
+From e4ee00e08acd7c0912a3264ad32e4de861c7416f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 7 Sep 2017 22:22:31 -0700
+Subject: [PATCH] modules/lookup_multi.c: Replace __S_IEXEC with S_IEXEC
+
+__S_IEXEC is internal to libc and may not be available on
+all libc e.g. musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ modules/lookup_multi.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules/lookup_multi.c b/modules/lookup_multi.c
+index 3ecda6d..cf109de 100644
+--- a/modules/lookup_multi.c
++++ b/modules/lookup_multi.c
+@@ -452,7 +452,7 @@ int lookup_reinit(const char *my_mapfmt,
+ continue;
+ }
+
+- if (st.st_mode & __S_IEXEC)
++ if (st.st_mode & S_IEXEC)
+ type = src_prog;
+ else
+ type = src_file;
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.2.bb
index eea7c4b83..68c64fdb0 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.2.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.2.bb
@@ -3,7 +3,7 @@ SECTION = "utils"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
-DEPENDS += "libtirpc flex-native bison-native e2fsprogs openssl libxml2 util-linux cyrus-sasl"
+DEPENDS += "libtirpc flex-native bison-native e2fsprogs openssl libxml2 util-linux cyrus-sasl libnsl2"
CFLAGS += "-I${STAGING_INCDIR}/tirpc"
@@ -26,6 +26,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/daemons/autofs/v5/autofs-${PV}.tar.gz \
file://0002-Replace-__S_IEXEC-with-S_IEXEC.patch \
file://autofs-5.1.2-libtirpc-as-need.patch \
file://pkgconfig-libnsl.patch \
+ file://0001-modules-lookup_multi.c-Replace-__S_IEXEC-with-S_IEXE.patch \
"
SRC_URI[md5sum] = "28cf88f99eff553a8500659ba5d45a76"
SRC_URI[sha256sum] = "0d57e4138c2ec8058ca92164d035546f68ce4af93acb893369993d67c7056a10"
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 61b7ad47d..eaa453d91 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.26.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.26.bb
@@ -1,5 +1,6 @@
SUMMARY = "Generic client/server library for SASL authentication"
SECTION = "libs"
+HOMEPAGE = "http://asg.web.cmu.edu/sasl/"
DEPENDS = "openssl virtual/db"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=3f55e0974e3d6db00ca6f57f2d206396"
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
deleted file mode 100644
index 2da29d9cb..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "A caching, forwarding DNS proxy server"
-DESCRIPTION = "\
-dnrd is a proxying nameserver. It forwards DNS queries to the appropriate \
-nameserver, but can also act as the primary nameserver for a subnet behind \
-a firewall. It also has features such as caching DNS requests, support for \
-DNS servers, cache poisoning prevention, TCP support, etc.."
-HOMEPAGE = "http://dnrd.sourceforge.net/"
-SECTION = "net"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0be67017f1c770313ad7b40e18d568f1"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \
- file://dnrd.service \
- file://dnrd.conf.sample \
- file://dnrd.init"
-SRC_URI[md5sum] = "41c9b070aae8ed403fc8c2aac7ab157c"
-SRC_URI[sha256sum] = "aa46e7f8736b88c1d752cf606b3990041221ce91d014e955c6b02eb2167db015"
-
-PNBLACKLIST[dnrd] ?= "BROKEN: dnrd-2.20.3-r0 do_package: QA Issue: dnrd: Files/directories were installed but not shipped in any package: - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-SYSTEMD_SERVICE_${PN} = "dnrd.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-inherit autotools
-inherit ${@bb.utils.filter('VIRTUAL-RUNTIME_init_manager', 'systemd', d)}
-
-do_install() {
- oe_runmake install DESTDIR=${D} INSTALL="install -p"
-
- sed -i -e 's:/etc/rc.d/init.d/functions:/etc/init.d/functions:g' \
- ${WORKDIR}/dnrd.init
- install -d -m 0755 ${D}${sysconfdir}/init.d
- install -d -m 0755 ${D}${sysconfdir}/dnrd
- 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 ${@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/igmpproxy/igmpproxy/0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy/0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch
new file mode 100644
index 000000000..82cdc36ac
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy/0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch
@@ -0,0 +1,25 @@
+From a557651a08e21e3c7c7f5eca9f5405f86624903f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 14 Jul 2017 22:42:51 -0700
+Subject: [PATCH] src/igmpproxy.h: Include sys/types.h for u_short/u_init
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/igmpproxy.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/igmpproxy.h b/src/igmpproxy.h
+index 4dabd1c..4454729 100644
+--- a/src/igmpproxy.h
++++ b/src/igmpproxy.h
+@@ -46,6 +46,7 @@
+ #include <stdbool.h>
+
+ #include <sys/socket.h>
++#include <sys/types.h>
+ #include <sys/un.h>
+ #include <sys/time.h>
+ #include <sys/ioctl.h>
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.1.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.1.bb
index c3d2f1afa..5424dc455 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.1.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.1.bb
@@ -5,9 +5,12 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=1e995e2799bb0d27d63069b97f805420"
SRC_URI = "http://sourceforge.net/projects/igmpproxy/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz \
- "
+ file://0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch \
+ "
SRC_URI[md5sum] = "c56f41ec195bc1fe016369bf74efc5a1"
SRC_URI[sha256sum] = "ee18ff3d8c3ae3a29dccb7e5eedf332337330020168bd95a11cece8d7d7ee6ae"
inherit autotools pkgconfig
+
+CFLAGS += "-D_GNU_SOURCE"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/0001-Respect-flags-from-env.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/0001-Respect-flags-from-env.patch
new file mode 100644
index 000000000..e96762125
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/0001-Respect-flags-from-env.patch
@@ -0,0 +1,56 @@
+From 4848b9e4d516a9203c08432901a7b40419e8f43c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 19 Jul 2017 15:54:35 -0700
+Subject: [PATCH 1/3] Respect flags from env
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile | 4 ++--
+ cli/Makefile | 2 +-
+ pppd/Makefile | 2 +-
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index a05a000..439a978 100644
+--- a/Makefile
++++ b/Makefile
+@@ -81,8 +81,8 @@ LIBS.dmalloc= -ldmalloc
+ export USE_DMALLOC
+ endif
+
+-CPPFLAGS= $(CPPFLAGS.ippooltest)
+-CFLAGS= -I. -Iusl -Icli -MMD -Wall -g $(CPPFLAGS) $(CPPFLAGS.dmalloc)
++CPPFLAGS+= $(CPPFLAGS.ippooltest)
++CFLAGS+= -I. -Iusl -Icli -MMD -Wall -g $(CPPFLAGS) $(CPPFLAGS.dmalloc)
+ LDFLAGS.ippoold= $(LDFLAGS) -Wl,-E -L. -Lusl -lusl -lnsl -ldl $(LIBS.dmalloc) -lc
+ LDFLAGS.ippoolconfig= $(LDFLAGS) -Lcli -lcli -lreadline -lcurses -lnsl $(LIBS.dmalloc) -lc
+
+diff --git a/cli/Makefile b/cli/Makefile
+index 4b5dd59..56fbf2f 100644
+--- a/cli/Makefile
++++ b/cli/Makefile
+@@ -7,7 +7,7 @@ CLI_SRCS_TEST.o= $(CLI_SRCS_TEST.c:%.c=%.o)
+
+ LDFLAGS.cli_test= -L.. -L. $(READLINE_LDFLAGS) -lcli -lusl -lreadline -lcurses -lc
+
+-CFLAGS= $(CFLAGS.optimize) -MMD -Wall -Werror -I.. $(READLINE_CFLAGS)
++CFLAGS= $(CFLAGS.optimize) -MMD -Wall -Werror -I.. $(READLINE_CFLAGS) $(CPPFLAGS)
+
+ .PHONY: all test clean
+
+diff --git a/pppd/Makefile b/pppd/Makefile
+index 106deca..7fd815f 100644
+--- a/pppd/Makefile
++++ b/pppd/Makefile
+@@ -10,7 +10,7 @@ endif
+
+ # END CONFIGURABLE SETTINGS
+
+-CFLAGS += -g -I.. -I/usr/include/pppd $(CFLAGS.pppd) -fPIC
++CFLAGS += -g -I.. -I=/usr/include/pppd $(CFLAGS.pppd) -fPIC
+ LDFLAGS += -shared
+
+ all: ippool.so
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/0001-read-returns-ssize_t.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/0001-read-returns-ssize_t.patch
new file mode 100644
index 000000000..7d3f9acb6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/0001-read-returns-ssize_t.patch
@@ -0,0 +1,31 @@
+From e4e0aae139b6489dc582fd14e54e562126482ce2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 26 Aug 2017 07:23:53 -0700
+Subject: [PATCH 1/3] read() returns ssize_t
+
+Fixes
+usl_fd.c:284:10: error: comparison of unsigned expression < 0 is always false [-Werror,-Wtautological-compare]
+ if (nb < 0) {
+ ~~ ^ ~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ usl/usl_fd.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/usl/usl_fd.c b/usl/usl_fd.c
+index 3b7a813..04ba48c 100644
+--- a/usl/usl_fd.c
++++ b/usl/usl_fd.c
+@@ -280,7 +280,7 @@ size_t usl_fd_read(int fd, void *buf, size_t count)
+ char *ptr = buf;
+
+ for (chars_read = 0; chars_read < count; ) {
+- size_t nb = read(fd, ptr, count - chars_read);
++ ssize_t nb = read(fd, ptr, count - chars_read);
+ if (nb < 0) {
+ if (errno == EINTR)
+ continue;
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/0001-usl_timer-Check-for-return-value-of-write-API.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/0001-usl_timer-Check-for-return-value-of-write-API.patch
new file mode 100644
index 000000000..6fb7cc5c4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/0001-usl_timer-Check-for-return-value-of-write-API.patch
@@ -0,0 +1,28 @@
+From 5d7f20c045b3c74dad2c53d65e30bd4840250082 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 27 Jun 2017 15:17:19 -0700
+Subject: [PATCH] usl_timer: Check for return value of write() API
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ usl/usl_timer.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/usl/usl_timer.c b/usl/usl_timer.c
+index fda752b..d8414a6 100644
+--- a/usl/usl_timer.c
++++ b/usl/usl_timer.c
+@@ -94,7 +94,9 @@ void usl_timer_tick(void)
+
+ if (!usl_tick_pending) {
+ usl_tick_pending = 1;
+- write(usl_tick_pipe[1], &msg, sizeof(msg));
++ if (write(usl_tick_pipe[1], &msg, sizeof(msg)) != sizeof(msg)) {
++ fprintf(stderr, "write to fd %i failed: %s\n", usl_tick_pipe[1], strerror(errno));
++ }
+ }
+ }
+
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/0002-Mark-first-element-of-a-string-as-null.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/0002-Mark-first-element-of-a-string-as-null.patch
new file mode 100644
index 000000000..6e2bd523d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/0002-Mark-first-element-of-a-string-as-null.patch
@@ -0,0 +1,31 @@
+From cf25576428903168cd41b183fb1ca9c2b7e2666e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 26 Aug 2017 07:28:10 -0700
+Subject: [PATCH 2/3] Mark first element of a string as null
+
+Fixes
+cli_lib.c:427:20: error: expression which evaluates to zero treated as a null pointer constant of type 'char *' [-Werror,-Wnon-literal-null-conversion]
+ values[arg] = '\0';
+ ^~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ cli/cli_lib.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cli/cli_lib.c b/cli/cli_lib.c
+index 41a0b06..e4d2fd5 100644
+--- a/cli/cli_lib.c
++++ b/cli/cli_lib.c
+@@ -424,7 +424,7 @@ int cli_find_args(int argc, char *argv[], struct cli_node *cmd, struct cli_node
+ if (arg_string[1] == '\0') {
+ /* no arg value - only allowed for string args */
+ if (node->arg->parser == cli_arg_parse_string) {
+- values[arg] = '\0';
++ *values[arg] = '\0';
+ } else {
+ result = -EINVAL;
+ break;
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/0002-link-with-libtirpc.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/0002-link-with-libtirpc.patch
new file mode 100644
index 000000000..d80f7b436
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/0002-link-with-libtirpc.patch
@@ -0,0 +1,30 @@
+From 47aef26198431f7ad568c2277dded158bda3e36f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 19 Jul 2017 16:00:35 -0700
+Subject: [PATCH 2/3] link with libtirpc
+
+musl needs it
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 439a978..ea821eb 100644
+--- a/Makefile
++++ b/Makefile
+@@ -83,8 +83,8 @@ endif
+
+ CPPFLAGS+= $(CPPFLAGS.ippooltest)
+ CFLAGS+= -I. -Iusl -Icli -MMD -Wall -g $(CPPFLAGS) $(CPPFLAGS.dmalloc)
+-LDFLAGS.ippoold= $(LDFLAGS) -Wl,-E -L. -Lusl -lusl -lnsl -ldl $(LIBS.dmalloc) -lc
+-LDFLAGS.ippoolconfig= $(LDFLAGS) -Lcli -lcli -lreadline -lcurses -lnsl $(LIBS.dmalloc) -lc
++LDFLAGS.ippoold= $(LDFLAGS) -Wl,-E -L. -Lusl -lusl -ldl $(LIBS.dmalloc) -lc -ltirpc
++LDFLAGS.ippoolconfig= $(LDFLAGS) -Lcli -lcli -lreadline -lcurses $(LIBS.dmalloc) -lc -ltirpc
+
+ OPT_CFLAGS?= -O
+
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/0003-cli-Mark-return-of-strtol-as-long-int.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/0003-cli-Mark-return-of-strtol-as-long-int.patch
new file mode 100644
index 000000000..3854b1133
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/0003-cli-Mark-return-of-strtol-as-long-int.patch
@@ -0,0 +1,58 @@
+From 994d9575374d3cdb34b1b0f70c3c53ae76fe578e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 26 Aug 2017 07:41:05 -0700
+Subject: [PATCH 3/3] cli: Mark return of strtol as long int
+
+strtol does not return unsigned long
+
+error: taking the absolute value of unsigned type 'unsigned long' has no effect [-Werror,-Wabsolute-value]
+ if ((*endp == '\0') && (labs(tmp) < 32768)) {
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ cli/cli_lib.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/cli/cli_lib.c b/cli/cli_lib.c
+index e4d2fd5..5f487dc 100644
+--- a/cli/cli_lib.c
++++ b/cli/cli_lib.c
+@@ -522,7 +522,7 @@ int cli_arg_parse_int32(struct cli_node *arg, const char *val, void *result)
+ int cli_arg_parse_int16(struct cli_node *arg, const char *val, void *result)
+ {
+ int16_t *intval = result;
+- unsigned long tmp;
++ long tmp;
+ char *endp;
+ int ret = 0;
+
+@@ -539,7 +539,7 @@ int cli_arg_parse_int16(struct cli_node *arg, const char *val, void *result)
+ int cli_arg_parse_int8(struct cli_node *arg, const char *val, void *result)
+ {
+ int8_t *intval = result;
+- unsigned long tmp;
++ long tmp;
+ char *endp;
+ int ret = 0;
+
+@@ -573,7 +573,7 @@ int cli_arg_parse_uint32(struct cli_node *arg, const char *val, void *result)
+ int cli_arg_parse_uint16(struct cli_node *arg, const char *val, void *result)
+ {
+ uint16_t *intval = result;
+- unsigned long tmp;
++ long tmp;
+ char *endp;
+ int ret = 0;
+
+@@ -590,7 +590,7 @@ int cli_arg_parse_uint16(struct cli_node *arg, const char *val, void *result)
+ int cli_arg_parse_uint8(struct cli_node *arg, const char *val, void *result)
+ {
+ uint8_t *intval = result;
+- unsigned long tmp;
++ long tmp;
+ char *endp;
+ int ret = 0;
+
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/0003-musl-fixes.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/0003-musl-fixes.patch
new file mode 100644
index 000000000..3cd5259fa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/0003-musl-fixes.patch
@@ -0,0 +1,283 @@
+From eb345047decba665e3f39908336a83f039e1ece2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 19 Jul 2017 16:01:32 -0700
+Subject: [PATCH 3/3] musl fixes
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ cli/cli_readline.c | 7 +-
+ ippool_api.c | 9 ++-
+ net/ppp_defs.h | 194 +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ usl/usl.h | 4 ++
+ 4 files changed, 208 insertions(+), 6 deletions(-)
+ create mode 100644 net/ppp_defs.h
+
+diff --git a/cli/cli_readline.c b/cli/cli_readline.c
+index 2812e6e..542935c 100644
+--- a/cli/cli_readline.c
++++ b/cli/cli_readline.c
+@@ -17,13 +17,14 @@
+ * Boston, MA 02110-1301 USA
+ *
+ *****************************************************************************/
+-
++#define _GNU_SOURCE
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <sys/types.h>
+ #include <sys/file.h>
+ #include <sys/stat.h>
+-#include <sys/errno.h>
++#include <fcntl.h>
++#include <errno.h>
+ #include <signal.h>
+
+ #include <readline/readline.h>
+@@ -630,7 +631,7 @@ static void cli_rl_uninstall_signal_handlers(void)
+
+ static int cli_rl_install_signal_handlers(void)
+ {
+- __sighandler_t handler;
++ sighandler_t handler;
+
+ rl_catch_signals = 0;
+ rl_clear_signals();
+diff --git a/ippool_api.c b/ippool_api.c
+index 2c10c47..d1127a9 100644
+--- a/ippool_api.c
++++ b/ippool_api.c
+@@ -181,10 +181,13 @@ int ippool_api_rpc_check_request(SVCXPRT *xprt)
+ * non-loopback interface, reject the request.
+ */
+ if ((!ippool_opt_remote_rpc) &&
+- ((xprt->xp_raddr.sin_addr.s_addr != htonl(INADDR_LOOPBACK)) &&
+- (xprt->xp_raddr.sin_addr.s_addr != htonl(INADDR_ANY)))) {
++ ((xprt->xp_raddr.sin6_addr.s6_addr != htonl(INADDR_LOOPBACK)) &&
++ (xprt->xp_raddr.sin6_addr.s6_addr != htonl(INADDR_ANY)))) {
++ char straddr[INET6_ADDRSTRLEN];
++ inet_ntop(AF_INET6, &xprt->xp_raddr.sin6_addr, straddr, sizeof(straddr));
++
+ if (ippool_opt_debug) {
+- ippool_log(LOG_ERR, "Rejecting RPC request from %s", inet_ntoa(xprt->xp_raddr.sin_addr));
++ ippool_log(LOG_ERR, "Rejecting RPC request from %s", straddr);
+ }
+ svcerr_auth(xprt, AUTH_TOOWEAK);
+ return -EPERM;
+diff --git a/net/ppp_defs.h b/net/ppp_defs.h
+new file mode 100644
+index 0000000..b06eda5
+--- /dev/null
++++ b/net/ppp_defs.h
+@@ -0,0 +1,194 @@
++/* $Id: ppp_defs.h,v 1.17 2002/12/06 09:49:15 paulus Exp $ */
++
++/*
++ * ppp_defs.h - PPP definitions.
++ *
++ * Copyright (c) 1984 Paul Mackerras. All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ * notice, this list of conditions and the following disclaimer.
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in
++ * the documentation and/or other materials provided with the
++ * distribution.
++ *
++ * 3. The name(s) of the authors of this software must not be used to
++ * endorse or promote products derived from this software without
++ * prior written permission.
++ *
++ * 4. Redistributions of any form whatsoever must retain the following
++ * acknowledgment:
++ * "This product includes software developed by Paul Mackerras
++ * <paulus@samba.org>".
++ *
++ * THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO
++ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
++ * AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
++ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
++ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
++ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
++ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
++ */
++
++#ifndef _PPP_DEFS_H_
++#define _PPP_DEFS_H_
++
++/*
++ * The basic PPP frame.
++ */
++#define PPP_HDRLEN 4 /* octets for standard ppp header */
++#define PPP_FCSLEN 2 /* octets for FCS */
++
++/*
++ * Packet sizes
++ *
++ * Note - lcp shouldn't be allowed to negotiate stuff outside these
++ * limits. See lcp.h in the pppd directory.
++ * (XXX - these constants should simply be shared by lcp.c instead
++ * of living in lcp.h)
++ */
++#define PPP_MTU 1500 /* Default MTU (size of Info field) */
++#define PPP_MAXMTU 65535 - (PPP_HDRLEN + PPP_FCSLEN)
++#define PPP_MINMTU 64
++#define PPP_MRU 1500 /* default MRU = max length of info field */
++#define PPP_MAXMRU 65000 /* Largest MRU we allow */
++#define PPP_MINMRU 128
++
++#define PPP_ADDRESS(p) (((u_char *)(p))[0])
++#define PPP_CONTROL(p) (((u_char *)(p))[1])
++#define PPP_PROTOCOL(p) ((((u_char *)(p))[2] << 8) + ((u_char *)(p))[3])
++
++/*
++ * Significant octet values.
++ */
++#define PPP_ALLSTATIONS 0xff /* All-Stations broadcast address */
++#define PPP_UI 0x03 /* Unnumbered Information */
++#define PPP_FLAG 0x7e /* Flag Sequence */
++#define PPP_ESCAPE 0x7d /* Asynchronous Control Escape */
++#define PPP_TRANS 0x20 /* Asynchronous transparency modifier */
++
++/*
++ * Protocol field values.
++ */
++#define PPP_IP 0x21 /* Internet Protocol */
++#define PPP_AT 0x29 /* AppleTalk Protocol */
++#define PPP_IPX 0x2b /* IPX protocol */
++#define PPP_VJC_COMP 0x2d /* VJ compressed TCP */
++#define PPP_VJC_UNCOMP 0x2f /* VJ uncompressed TCP */
++#define PPP_IPV6 0x57 /* Internet Protocol Version 6 */
++#define PPP_COMP 0xfd /* compressed packet */
++#define PPP_IPCP 0x8021 /* IP Control Protocol */
++#define PPP_ATCP 0x8029 /* AppleTalk Control Protocol */
++#define PPP_IPXCP 0x802b /* IPX Control Protocol */
++#define PPP_IPV6CP 0x8057 /* IPv6 Control Protocol */
++#define PPP_CCP 0x80fd /* Compression Control Protocol */
++#define PPP_ECP 0x8053 /* Encryption Control Protocol */
++#define PPP_LCP 0xc021 /* Link Control Protocol */
++#define PPP_PAP 0xc023 /* Password Authentication Protocol */
++#define PPP_LQR 0xc025 /* Link Quality Report protocol */
++#define PPP_CHAP 0xc223 /* Cryptographic Handshake Auth. Protocol */
++#define PPP_CBCP 0xc029 /* Callback Control Protocol */
++#define PPP_EAP 0xc227 /* Extensible Authentication Protocol */
++
++/*
++ * Values for FCS calculations.
++ */
++#define PPP_INITFCS 0xffff /* Initial FCS value */
++#define PPP_GOODFCS 0xf0b8 /* Good final FCS value */
++#define PPP_FCS(fcs, c) (((fcs) >> 8) ^ fcstab[((fcs) ^ (c)) & 0xff])
++
++/*
++ * A 32-bit unsigned integral type.
++ */
++
++#if !defined(__BIT_TYPES_DEFINED__) && !defined(_BITYPES) \
++ && !defined(__FreeBSD__) && (NS_TARGET < 40)
++#ifdef UINT32_T
++typedef UINT32_T u_int32_t;
++#else
++typedef unsigned int u_int32_t;
++typedef unsigned short u_int16_t;
++#endif
++#endif
++
++/*
++ * Extended asyncmap - allows any character to be escaped.
++ */
++typedef u_int32_t ext_accm[8];
++
++/*
++ * What to do with network protocol (NP) packets.
++ */
++enum NPmode {
++ NPMODE_PASS, /* pass the packet through */
++ NPMODE_DROP, /* silently drop the packet */
++ NPMODE_ERROR, /* return an error */
++ NPMODE_QUEUE /* save it up for later. */
++};
++
++/*
++ * Statistics.
++ */
++struct pppstat {
++ unsigned int ppp_ibytes; /* bytes received */
++ unsigned int ppp_ipackets; /* packets received */
++ unsigned int ppp_ierrors; /* receive errors */
++ unsigned int ppp_obytes; /* bytes sent */
++ unsigned int ppp_opackets; /* packets sent */
++ unsigned int ppp_oerrors; /* transmit errors */
++};
++
++struct vjstat {
++ unsigned int vjs_packets; /* outbound packets */
++ unsigned int vjs_compressed; /* outbound compressed packets */
++ unsigned int vjs_searches; /* searches for connection state */
++ unsigned int vjs_misses; /* times couldn't find conn. state */
++ unsigned int vjs_uncompressedin; /* inbound uncompressed packets */
++ unsigned int vjs_compressedin; /* inbound compressed packets */
++ unsigned int vjs_errorin; /* inbound unknown type packets */
++ unsigned int vjs_tossed; /* inbound packets tossed because of error */
++};
++
++struct ppp_stats {
++ struct pppstat p; /* basic PPP statistics */
++ struct vjstat vj; /* VJ header compression statistics */
++};
++
++struct compstat {
++ unsigned int unc_bytes; /* total uncompressed bytes */
++ unsigned int unc_packets; /* total uncompressed packets */
++ unsigned int comp_bytes; /* compressed bytes */
++ unsigned int comp_packets; /* compressed packets */
++ unsigned int inc_bytes; /* incompressible bytes */
++ unsigned int inc_packets; /* incompressible packets */
++ unsigned int ratio; /* recent compression ratio << 8 */
++};
++
++struct ppp_comp_stats {
++ struct compstat c; /* packet compression statistics */
++ struct compstat d; /* packet decompression statistics */
++};
++
++/*
++ * The following structure records the time in seconds since
++ * the last NP packet was sent or received.
++ */
++struct ppp_idle {
++ time_t xmit_idle; /* time since last NP packet sent */
++ time_t recv_idle; /* time since last NP packet received */
++};
++
++#ifndef __P
++#ifdef __STDC__
++#define __P(x) x
++#else
++#define __P(x) ()
++#endif
++#endif
++
++#endif /* _PPP_DEFS_H_ */
+diff --git a/usl/usl.h b/usl/usl.h
+index cdc16db..88d2714 100644
+--- a/usl/usl.h
++++ b/usl/usl.h
+@@ -38,6 +38,10 @@
+ #include "usl_fsm.h"
+ #include "usl_list.h"
+
++#ifndef WAIT_ANY
++#define WAIT_ANY (-1)
++#endif
++
+ #define USL_VERSION "0.6"
+
+ #ifdef DEBUG
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/always_syslog.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/always_syslog.patch
new file mode 100644
index 000000000..e475276c0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/always_syslog.patch
@@ -0,0 +1,22 @@
+ippool: always log to syslog
+
+Even when running in the foreground, send log messages to syslog.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Joe Slater <jslater@windriver.com>
+
+
+--- a/ippool_main.c
++++ b/ippool_main.c
+@@ -251,9 +251,8 @@ void ippool_vlog(int level, const char *
+ if (ippool_opt_nodaemon) {
+ vprintf(fmt, ap);
+ printf("\n");
+- } else {
+- vsyslog(level, fmt, ap);
+ }
++ vsyslog(level, fmt, ap);
+ DMALLOC_VMESSAGE(fmt, ap);
+ }
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/ippool.service b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/ippool.service
new file mode 100644
index 000000000..e5917fc14
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/ippool.service
@@ -0,0 +1,19 @@
+[Unit]
+Description=ip address pool allocator
+Requires=rpcbind.service
+After=rpcbind.service
+
+[Service]
+Type=simple
+# Start ippoold in the foreground!
+ExecStart=@SBINDIR@/ippoold -f
+# Normal output will go to syslog, so suppress stdout.
+StandardOutput=null
+StandardError=syslog
+# ExecStop is not needed. systemd will send SIGTERM
+# and ippoold will exit status 1.
+SuccessExitStatus=1
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/ippool_init.d.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/ippool_init.d.patch
new file mode 100644
index 000000000..14a768d0f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/ippool_init.d.patch
@@ -0,0 +1,65 @@
+Fix start error if lsb init-functions doesn't exist
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+
+diff --git a/debian/init.d b/debian/init.d
+index 363ba89..0327fec 100644
+--- a/debian/init.d
++++ b/debian/init.d
+@@ -10,6 +10,9 @@
+ # Description: Start ippool daemon
+ ### END INIT INFO
+
++# Source function library.
++. /etc/init.d/functions
++
+ DAEMON=/usr/sbin/ippoold
+ NAME=ippoold
+ MODULE=pppol2tp
+@@ -18,7 +21,23 @@ MODULE=pppol2tp
+ test -x $DAEMON || exit 0
+
+ # Get lsb functions
+-. /lib/lsb/init-functions
++if [ -f /lib/lsb/init-functions ]
++then
++ . /lib/lsb/init-functions
++else
++ log_begin_msg() {
++ echo -n $*
++ }
++
++ log_end_msg() {
++ if [ $1 -eq 0 ]; then
++ echo "done"
++ else
++ echo "failed"
++ fi
++ }
++fi
++
+ . /etc/default/rcS
+
+ case "$1" in
+@@ -35,6 +54,10 @@ case "$1" in
+ fi
+ log_end_msg $?
+ ;;
++ status)
++ status /usr/sbin/ippoold;
++ exit $?
++ ;;
+ restart)
+ $0 stop
+ sleep 1
+@@ -46,7 +69,7 @@ case "$1" in
+ log_end_msg $?
+ ;;
+ *)
+- log_success_msg "Usage: /etc/init.d/ippoold {start|stop|restart|reload|force-reload}"
++ log_success_msg "Usage: /etc/init.d/ippoold {start|stop|status|restart|reload|force-reload}"
+ exit 1
+ esac
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/ippool_parallel_make_and_pic.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/ippool_parallel_make_and_pic.patch
new file mode 100644
index 000000000..1ebd95ea1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/ippool_parallel_make_and_pic.patch
@@ -0,0 +1,89 @@
+1)add -fPIC for $(IPPOOL_RPC_STEM)_xdr.o, $(IPPOOL_RPC_STEM)_client.o
+2)add sub target for subdirs-all, and those dependencies below
+ pppd plugin directory build depends on $(IPPOOL_RPC_STEM)_xdr.o
+$(IPPOOL_RPC_STEM)_client.o ippool_rpc.h
+
+ ippoold depends on libusl
+ ippoolconfig depends on libcli
+
+ $(IPPOOL_RPC_STEM)_xdr.o, $(IPPOOL_RPC_STEM)_client.o
+$(IPPOOL_RPC_STEM)_server.o *.o in main directory depends on ippool_rpc.h
+as those all directly or indirectly include ippool_rpc.h which is
+dynamically generated by rpcgen
+
+to make parallel make working.
+3)include dependency files for pppd.
+
+Upstream-Status: Pending
+
+Signed-off-by: Yao Zhao <yao.zhao@windriver.com>
+---
+diff --git a/Makefile b/Makefile
+index 73aa72f..4f7af1d 100644
+--- a/Makefile
++++ b/Makefile
+@@ -106,14 +106,14 @@ all: generated-files $(IPPOOL_RPC_STEM)_xdr.o $(IPPOOL_RPC_STEM)_client.o \
+ subdirs-all $(PROGS.sbin) $(PROGS.bin)
+
+ # Compile without -Wall because rpcgen-generated code is full of warnings
+-$(IPPOOL_RPC_STEM)_xdr.o: $(IPPOOL_RPC_STEM)_xdr.c
+- $(CC) -I. -MMD -g -c -w $(CPPFLAGS) $(CFLAGS.optimize) $<
++$(IPPOOL_RPC_STEM)_xdr.o: $(IPPOOL_RPC_STEM)_xdr.c $(IPPOOL_RPC_STEM).h
++ $(CC) -I. -MMD -g -c -w $(CPPFLAGS) $(CFLAGS.optimize) $< -fPIC
+
+-$(IPPOOL_RPC_STEM)_client.o: $(IPPOOL_RPC_STEM)_client.c
+- $(CC) -I. -MMD -g -c -w $(CPPFLAGS) $(CFLAGS.optimize) $<
++$(IPPOOL_RPC_STEM)_client.o: $(IPPOOL_RPC_STEM)_client.c $(IPPOOL_RPC_STEM).h
++ $(CC) -I. -MMD -g -c -w $(CPPFLAGS) $(CFLAGS.optimize) $< -fPIC
+
+-$(IPPOOL_RPC_STEM)_server.o: $(IPPOOL_RPC_STEM)_server.c
+- $(CC) -I. -MMD -g -c -w $(CPPFLAGS) $(CFLAGS.optimize) $<
++$(IPPOOL_RPC_STEM)_server.o: $(IPPOOL_RPC_STEM)_server.c $(IPPOOL_RPC_STEM).h
++ $(CC) -I. -MMD -g -c -w $(CPPFLAGS) $(CFLAGS.optimize) $< -fPIC
+
+ $(IPPOOL_RPC_STEM)_xdr.c: $(IPPOOL_RPC_STEM).x
+ -$(RM) $@
+@@ -136,8 +136,12 @@ $(IPPOOL_RPC_STEM).h: $(IPPOOL_RPC_STEM).x
+
+ generated-files: $(RPC_FILES)
+
+-subdirs-all:
+- @for d in $(SUBDIRS); do $(MAKE) -C $$d $(MFLAGS) EXTRA_CFLAGS="$(CPPFLAGS)" all; if [ $$? -ne 0 ]; then exit 1; fi; done
++subdirs-all: $(patsubst %,%-dir, $(SUBDIRS))
++
++pppd-dir: $(IPPOOL_RPC_STEM)_xdr.o $(IPPOOL_RPC_STEM)_client.o $(IPPOOL_RPC_STEM).h
++
++$(patsubst %,%-dir,$(SUBDIRS)):
++ @for d in $(patsubst %-dir,%,$@); do $(MAKE) -C $$d $(MFLAGS) EXTRA_CFLAGS="$(CPPFLAGS)" all; if [ $$? -ne 0 ]; then exit 1; fi; done
+
+ clean:
+ @for d in $(SUBDIRS); do $(MAKE) -C $$d $(MFLAGS) $@; if [ $$? -ne 0 ]; then exit 1; fi; done
+@@ -151,13 +155,13 @@ TAGS:
+ @for d in $(SUBDIRS); do $(MAKE) -C $$d $(MFLAGS) $@; done
+ etags -t $(wildcard *.c) $(wildcard *.h)
+
+-ippoold: $(IPPOOLD_SRCS.o)
+- $(CC) -o $@ $^ $(LDFLAGS.ippoold)
++ippoold: $(IPPOOLD_SRCS.o) usl-dir
++ $(CC) -o $@ $(IPPOOLD_SRCS.o) $(LDFLAGS.ippoold)
+
+-ippoolconfig: $(IPPOOLCONFIG_SRCS.o)
+- $(CC) -o $@ $^ $(LDFLAGS.ippoolconfig)
++ippoolconfig: $(IPPOOLCONFIG_SRCS.o) cli-dir
++ $(CC) -o $@ $(IPPOOLCONFIG_SRCS.o) $(LDFLAGS.ippoolconfig)
+
+-%.o: %.c
++%.o: %.c $(IPPOOL_RPC_STEM).h
+ $(CC) -c $(CFLAGS) $< -o $@
+
+ install: all
+diff --git a/pppd/Makefile b/pppd/Makefile
+index 78d9b33..106deca 100644
+--- a/pppd/Makefile
++++ b/pppd/Makefile
+@@ -24,3 +24,5 @@ install: ippool.so
+
+ clean:
+ -rm -rf *.o *.so
++
++include $(wildcard *.d /dev/null)
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/ippool_usl_timer.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/ippool_usl_timer.patch
new file mode 100644
index 000000000..ca0e3320c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/ippool_usl_timer.patch
@@ -0,0 +1,49 @@
+include limits.h to avoid UINT_MAX undefined compiling error.
+remove the unused assign which caused compiling error with -Werror.
+
+Upstream-Status: Pending
+
+Signed-off-by: Yao Zhao <yao.zhao@windriver.com>
+---
+
+diff --git a/usl/usl_timer.c b/usl/usl_timer.c
+index 734b820..fda752b 100644
+--- a/usl/usl_timer.c
++++ b/usl/usl_timer.c
+@@ -42,6 +42,7 @@
+ #include <signal.h>
+ #include <string.h>
+ #include <sys/time.h>
++#include <limits.h>
+
+ #include "usl.h"
+
+@@ -87,14 +88,13 @@ void (*usl_timer_tick_hook)(void);
+ */
+ void usl_timer_tick(void)
+ {
+- int result;
+ char msg = '\0';
+
+ usl_tick++;
+
+ if (!usl_tick_pending) {
+ usl_tick_pending = 1;
+- result = write(usl_tick_pipe[1], &msg, sizeof(msg));
++ write(usl_tick_pipe[1], &msg, sizeof(msg));
+ }
+ }
+
+@@ -111,11 +111,10 @@ static void usl_timer_tick_handler(int fd, void *arg)
+ struct usl_ord_list_head *tmp;
+ struct usl_list_head *iwalk;
+ struct usl_list_head *itmp;
+- int result;
+ char msg;
+ USL_LIST_HEAD(expire_list);
+
+- result = usl_fd_read(usl_tick_pipe[0], &msg, sizeof(msg));
++ usl_fd_read(usl_tick_pipe[0], &msg, sizeof(msg));
+ usl_tick_pending = 0;
+
+ usl_list_for_each(walk, tmp, &usl_timer_list) {
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/makefile-add-ldflags.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/makefile-add-ldflags.patch
new file mode 100644
index 000000000..7d5b715ae
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/makefile-add-ldflags.patch
@@ -0,0 +1,21 @@
+Add LDFLAGS variable to Makefile so that extra linker flags can be sent via this variable.
+
+Upstream-Status: Pending
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+
+diff --git a/Makefile b/Makefile
+index 4f7af1d..a05a000 100644
+--- a/Makefile
++++ b/Makefile
+@@ -83,8 +83,8 @@ endif
+
+ CPPFLAGS= $(CPPFLAGS.ippooltest)
+ CFLAGS= -I. -Iusl -Icli -MMD -Wall -g $(CPPFLAGS) $(CPPFLAGS.dmalloc)
+-LDFLAGS.ippoold= -Wl,-E -L. -Lusl -lusl -lnsl -ldl $(LIBS.dmalloc) -lc
+-LDFLAGS.ippoolconfig= -Lcli -lcli -lreadline -lcurses -lnsl $(LIBS.dmalloc) -lc
++LDFLAGS.ippoold= $(LDFLAGS) -Wl,-E -L. -Lusl -lusl -lnsl -ldl $(LIBS.dmalloc) -lc
++LDFLAGS.ippoolconfig= $(LDFLAGS) -Lcli -lcli -lreadline -lcurses -lnsl $(LIBS.dmalloc) -lc
+
+ OPT_CFLAGS?= -O
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/runtest.sh b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/runtest.sh
new file mode 100644
index 000000000..f91f58237
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/runtest.sh
@@ -0,0 +1,26 @@
+#!/bin/sh
+BANNER="----------------------------------------------------------------------------"
+TCLSH="tclsh all.tcl -preservecore 3 -verbose bps -tmpdir ./results -outfile test-ippool.result"
+
+test_setup() {
+ if [ -d ./results ]; then rm -fr ./results; fi
+ mkdir ./results
+}
+
+test_ippool() {
+ echo "${BANNER}"
+ eval $TCLSH -constraints "ipPool"
+}
+test_postprocess() {
+ echo "${BANNER}"
+ (failed=`grep FAILED results/*.result | wc -l`; \
+ let failed2=failed/2 ;\
+ passed=`grep PASSED results/*.result | wc -l`; \
+ echo "TEST SUMMARY: $passed tests PASSED, $failed2 tests FAILED" ;\
+ exit $failed2)
+}
+
+test_setup
+test_ippool
+test_postprocess
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool_1.3.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool_1.3.bb
new file mode 100644
index 000000000..6e4748357
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool_1.3.bb
@@ -0,0 +1,113 @@
+SUMMARY = "An IP address pool manager"
+DESCRIPTION = "IpPool is implemented as a separate server daemon \
+to allow any application to use its address pools. This makes it possible \
+to define address pools that are shared by PPP, L2TP, PPTP etc. It may be \
+useful in some VPN server setups. IpPool comes with a command line \
+management application, ippoolconfig to manage and query address pool \
+status. A pppd plugin is supplied which allows pppd to request IP \
+addresses from ippoold. \
+"
+HOMEPAGE = "http://www.openl2tp.org/"
+SECTION = "console/network"
+LICENSE = "GPLv2+"
+
+SRC_URI = "https://sourceforge.net/projects/openl2tp/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz \
+ file://runtest.sh \
+ file://ippool.service \
+ file://ippool_usl_timer.patch \
+ file://ippool_parallel_make_and_pic.patch \
+ file://ippool_init.d.patch \
+ file://always_syslog.patch \
+ file://makefile-add-ldflags.patch \
+ file://0001-usl_timer-Check-for-return-value-of-write-API.patch \
+ file://0001-Respect-flags-from-env.patch \
+ file://0001-read-returns-ssize_t.patch \
+ file://0002-Mark-first-element-of-a-string-as-null.patch \
+ file://0003-cli-Mark-return-of-strtol-as-long-int.patch \
+ "
+SRC_URI_append_libc-musl = "\
+ file://0002-link-with-libtirpc.patch \
+ file://0003-musl-fixes.patch \
+ "
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4c59283b82fc2b166455e0fc23c71c6f"
+SRC_URI[md5sum] = "e2401e65db26a3764585b97212888fae"
+SRC_URI[sha256sum] = "d3eab7d6cad5da8ccc9d1e31d5303e27a39622c07bdb8fa3618eea314412075b"
+
+inherit systemd
+
+DEPENDS = "readline ppp ncurses gzip-native"
+DEPENDS_append_libc-musl = " libtirpc"
+RDEPENDS_${PN} = "rpcbind"
+
+EXTRA_OEMAKE = "CC='${CC}' AS='${AS}' LD='${LD}' AR='${AR}' NM='${NM}' STRIP='${STRIP}'"
+EXTRA_OEMAKE += "PPPD_VERSION=${PPPD_VERSION} SYS_LIBDIR=${libdir}"
+# enable self tests
+EXTRA_OEMAKE += "IPPOOL_TEST=y"
+
+CPPFLAGS += "${SELECTED_OPTIMIZATION}"
+CPPFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc"
+
+SYSTEMD_SERVICE_${PN} = "ippool.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+
+do_compile_prepend() {
+ # fix the CFLAGS= and CPPFLAGS= in main Makefile, to have the extra CFLAGS in env
+ sed -i -e "s/^CFLAGS=/CFLAGS+=/" ${S}/Makefile
+ sed -i -e "s/^CPPFLAGS=/CPPFLAGS+=/" ${S}/Makefile
+
+ sed -i -e "s:-I/usr/include/pppd:-I=/usr/include/pppd:" ${S}/pppd/Makefile
+
+}
+
+
+do_install() {
+ oe_runmake DESTDIR=${D} install
+
+ install -D -m 0755 ${S}/debian/init.d ${D}${sysconfdir}/init.d/ippoold
+ install -D -m 0644 ${WORKDIR}/ippool.service ${D}${systemd_system_unitdir}/ippool.service
+ sed -i -e 's:@SBINDIR@:${sbindir}:g' ${D}${systemd_system_unitdir}/ippool.service
+
+ # install self test
+ install -d ${D}/opt/${BPN}
+ install ${S}/test/all.tcl ${S}/test/ippool.test \
+ ${S}/test/test_procs.tcl ${D}/opt/${BPN}
+ install ${WORKDIR}/runtest.sh ${D}/opt/${BPN}
+ # fix the ../ippoolconfig in test_procs.tcl
+ sed -i -e "s:../ippoolconfig:ippoolconfig:" \
+ ${D}/opt/${BPN}/test_procs.tcl
+}
+
+
+PACKAGES =+ "${PN}-test"
+
+FILES_${PN} += "${libdir}/pppd/${PPPD_VERSION}/ippool.so"
+FILES_${PN}-dbg += "${libdir}/pppd/${PPPD_VERSION}/.debug/ippool.so"
+FILES_${PN}-test = "/opt/${BPN}"
+
+# needs tcl to run tests
+RDEPENDS_${PN}-test += "tcl ${BPN}"
+
+PPPD_VERSION="${@get_ppp_version(d)}"
+
+def get_ppp_version(d):
+ import re
+
+ pppd_plugin = d.expand('${STAGING_LIBDIR}/pppd')
+ if not os.path.isdir(pppd_plugin):
+ return None
+
+ bb.debug(1, "pppd plugin dir %s" % pppd_plugin)
+ r = re.compile("\d*\.\d*\.\d*")
+ for f in os.listdir(pppd_plugin):
+ if os.path.isdir(os.path.join(pppd_plugin, f)):
+ ma = r.match(f)
+ if ma:
+ bb.debug(1, "pppd version dir %s" % f)
+ return f
+ else:
+ bb.debug(1, "under pppd plugin dir %s" % f)
+
+ return None
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_1.3.5.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_1.3.5.bb
new file mode 100644
index 000000000..5e7e6e49f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_1.3.5.bb
@@ -0,0 +1,49 @@
+SUMMARY = "High Availability monitor built upon LVS, VRRP and service pollers"
+DESCRIPTION = "Keepalived is a routing software written in C. The main goal \
+of this project is to provide simple and robust facilities for loadbalancing \
+and high-availability to Linux system and Linux based infrastructures. \
+Loadbalancing framework relies on well-known and widely used Linux Virtual \
+Server (IPVS) kernel module providing Layer4 loadbalancing \
+"
+HOMEPAGE = "http://www.keepalived.org/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "http://www.keepalived.org/software/${BP}.tar.gz"
+
+SRC_URI[md5sum] = "9964d295ec9d34ed3408b57d28847b68"
+SRC_URI[sha256sum] = "c0114d86ea4c896557beb0d9367819a423ffba772bc5d7c548dc455e6b3bd048"
+
+DEPENDS = "libnfnetlink openssl"
+
+inherit autotools pkgconfig systemd update-rc.d
+
+PACKAGECONFIG ??= "libnl snmp \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
+"
+PACKAGECONFIG[libnl] = "--enable-libnl,--disable-libnl,libnl"
+PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp"
+PACKAGECONFIG[systemd] = "--with-init=systemd --with-systemdsystemunitdir=${systemd_system_unitdir},--with-init=SYSV,systemd"
+
+EXTRA_OECONF = "--disable-libiptc"
+EXTRA_OEMAKE = "initdir=${sysconfdir}/init.d"
+
+do_install_append() {
+ if [ -f ${D}${sysconfdir}/init.d/${BPN} ]; then
+ chmod 0755 ${D}${sysconfdir}/init.d/${BPN}
+ sed -i 's#rc.d/##' ${D}${sysconfdir}/init.d/${BPN}
+ fi
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -D -m 0644 ${B}/${BPN}/${BPN}.service ${D}${systemd_system_unitdir}/${BPN}.service
+ fi
+}
+
+FILES_${PN} += "${datadir}/snmp/mibs/KEEPALIVED-MIB.txt"
+
+INITSCRIPT_NAME = "keepalived"
+INITSCRIPT_PARAMS = "remove"
+
+SYSTEMD_SERVICE_${PN} = "keepalived.service"
+SYSTEMD_AUTO_ENABLE ?= "disable"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/lldpd/files/src-daemon-lldpd.service.in-Use-fixed-path-for-mkdir.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/lldpd/files/src-daemon-lldpd.service.in-Use-fixed-path-for-mkdir.patch
new file mode 100644
index 000000000..4876e1794
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/lldpd/files/src-daemon-lldpd.service.in-Use-fixed-path-for-mkdir.patch
@@ -0,0 +1,32 @@
+From f9f3e4dd31588cce5f655730da7b5c3f56a9bdc1 Mon Sep 17 00:00:00 2001
+From: Fabio Berton <fabio.berton@ossystems.com.br>
+Date: Tue, 26 Sep 2017 09:19:51 -0300
+Subject: [PATCH] src/daemon/lldpd.service.in: Use fixed path for mkdir command
+Organization: O.S. Systems Software LTDA.
+
+@mkdir_p@ is expanded to host tools path ../build/tmp/hosttools/mkdir that
+doesn't exist on target. Remove @mkdir_p@ and use /bin/mkdir -p to
+create /var/run/lldpd directory.
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
+---
+ src/daemon/lldpd.service.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/daemon/lldpd.service.in b/src/daemon/lldpd.service.in
+index fdb7338..4291830 100644
+--- a/src/daemon/lldpd.service.in
++++ b/src/daemon/lldpd.service.in
+@@ -9,7 +9,7 @@ Type=notify
+ NotifyAccess=main
+ EnvironmentFile=-/etc/default/lldpd
+ EnvironmentFile=-/etc/sysconfig/lldpd
+-ExecStartPre=@mkdir_p@ @PRIVSEP_CHROOT@
++ExecStartPre=/bin/mkdir -p @PRIVSEP_CHROOT@
+ ExecStart=@sbindir@/lldpd $DAEMON_ARGS $LLDPD_OPTIONS
+ Restart=on-failure
+ PrivateTmp=yes
+--
+2.14.2
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_0.9.6.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_0.9.6.bb
deleted file mode 100644
index 0cd063720..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_0.9.6.bb
+++ /dev/null
@@ -1,65 +0,0 @@
-SUMMARY = "A 802.1ab implementation (LLDP) to help you locate neighbors of all your equipments"
-SECTION = "net/misc"
-LICENSE = "ISC"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/ISC;md5=f3b90e78ea0cffb20bf5cca7947a896d"
-
-DEPENDS = "libbsd libevent"
-
-SRC_URI = "\
- http://media.luffy.cx/files/${BPN}/${BPN}-${PV}.tar.gz \
- file://lldpd.init.d \
- file://lldpd.default \
- "
-
-SRC_URI[md5sum] = "0dcdee7c1b3c62362d73f6508c11edae"
-SRC_URI[sha256sum] = "e74e2dd7e2a233ca1ff385c925ddae2a916d302819d1433741407d2f8fb0ddd8"
-
-inherit autotools update-rc.d useradd systemd pkgconfig bash-completion
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system -g lldpd --shell /bin/false lldpd"
-GROUPADD_PARAM_${PN} = "--system lldpd"
-
-EXTRA_OECONF += "--without-embedded-libevent \
- --disable-oldies \
- --with-privsep-user=lldpd \
- --with-privsep-group=lldpd \
- --with-systemdsystemunitdir=${systemd_system_unitdir} \
- --without-sysusersdir \
-"
-
-PACKAGECONFIG ??= "cdp fdp edp sonmp lldpmed dot1 dot3"
-PACKAGECONFIG[json] = "--with-json,--without-json,jansson"
-PACKAGECONFIG[xml] = "--with-xml,--without-xml,libxm2"
-PACKAGECONFIG[snmp] = "--with-snmp,--without-snmp,net-snmp"
-PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
-PACKAGECONFIG[seccomp] = "--with-seccomp,--without-seccomp,libseccomp"
-PACKAGECONFIG[cdp] = "--enable-cdp,--disable-cdp"
-PACKAGECONFIG[fdp] = "--enable-fdp,--disable-fdp"
-PACKAGECONFIG[edp] = "--enable-edp,--disable-edp"
-PACKAGECONFIG[sonmp] = "--enable-sonmp,--disable-sonmp"
-PACKAGECONFIG[lldpmed] = "--enable-lldpmed,--disable-lldpmed"
-PACKAGECONFIG[dot1] = "--enable-dot1,--disable-dot1"
-PACKAGECONFIG[dot3] = "--enable-dot3,--disable-dot3"
-PACKAGECONFIG[custom] = "--enable-custom,--disable-custom"
-
-INITSCRIPT_NAME = "lldpd"
-INITSCRIPT_PARAMS = "defaults"
-
-SYSTEMD_SERVICE_${PN} = "lldpd.service"
-
-do_install_append() {
- install -Dm 0755 ${WORKDIR}/lldpd.init.d ${D}${sysconfdir}/init.d/lldpd
- install -Dm 0644 ${WORKDIR}/lldpd.default ${D}${sysconfdir}/default/lldpd
- # Make an empty configuration file
- touch ${D}${sysconfdir}/lldpd.conf
-}
-
-PACKAGES =+ "${PN}-zsh-completion"
-
-FILES_${PN} += "${libdir}/sysusers.d"
-RDEPENDS_${PN} += "os-release"
-
-FILES_${PN}-zsh-completion += "${datadir}/zsh/"
-# FIXME: zsh is broken in meta-oe so this cannot be enabled for now
-#RDEPENDS_${PN}-zsh-completion += "zsh"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_0.9.8.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_0.9.8.bb
new file mode 100644
index 000000000..dbd84cf67
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_0.9.8.bb
@@ -0,0 +1,65 @@
+SUMMARY = "A 802.1ab implementation (LLDP) to help you locate neighbors of all your equipments"
+SECTION = "net/misc"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/ISC;md5=f3b90e78ea0cffb20bf5cca7947a896d"
+
+DEPENDS = "libbsd libevent"
+
+SRC_URI = "\
+ http://media.luffy.cx/files/${BPN}/${BPN}-${PV}.tar.gz \
+ file://lldpd.init.d \
+ file://lldpd.default \
+ file://src-daemon-lldpd.service.in-Use-fixed-path-for-mkdir.patch \
+ "
+
+SRC_URI[md5sum] = "8809600492f6b73149eb19158e819c1f"
+SRC_URI[sha256sum] = "9ee494e91bc33938575b2c09b26188c486ef8eac6e2155d250c189cc4e988c4f"
+
+inherit autotools update-rc.d useradd systemd pkgconfig bash-completion
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system -g lldpd --shell /bin/false lldpd"
+GROUPADD_PARAM_${PN} = "--system lldpd"
+
+EXTRA_OECONF += "--without-embedded-libevent \
+ --disable-oldies \
+ --with-privsep-user=lldpd \
+ --with-privsep-group=lldpd \
+ --with-systemdsystemunitdir=${systemd_system_unitdir} \
+ --without-sysusersdir \
+"
+
+PACKAGECONFIG ??= "cdp fdp edp sonmp lldpmed dot1 dot3"
+PACKAGECONFIG[xml] = "--with-xml,--without-xml,libxm2"
+PACKAGECONFIG[snmp] = "--with-snmp,--without-snmp,net-snmp"
+PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
+PACKAGECONFIG[seccomp] = "--with-seccomp,--without-seccomp,libseccomp"
+PACKAGECONFIG[cdp] = "--enable-cdp,--disable-cdp"
+PACKAGECONFIG[fdp] = "--enable-fdp,--disable-fdp"
+PACKAGECONFIG[edp] = "--enable-edp,--disable-edp"
+PACKAGECONFIG[sonmp] = "--enable-sonmp,--disable-sonmp"
+PACKAGECONFIG[lldpmed] = "--enable-lldpmed,--disable-lldpmed"
+PACKAGECONFIG[dot1] = "--enable-dot1,--disable-dot1"
+PACKAGECONFIG[dot3] = "--enable-dot3,--disable-dot3"
+PACKAGECONFIG[custom] = "--enable-custom,--disable-custom"
+
+INITSCRIPT_NAME = "lldpd"
+INITSCRIPT_PARAMS = "defaults"
+
+SYSTEMD_SERVICE_${PN} = "lldpd.service"
+
+do_install_append() {
+ install -Dm 0755 ${WORKDIR}/lldpd.init.d ${D}${sysconfdir}/init.d/lldpd
+ install -Dm 0644 ${WORKDIR}/lldpd.default ${D}${sysconfdir}/default/lldpd
+ # Make an empty configuration file
+ touch ${D}${sysconfdir}/lldpd.conf
+}
+
+PACKAGES =+ "${PN}-zsh-completion"
+
+FILES_${PN} += "${libdir}/sysusers.d"
+RDEPENDS_${PN} += "os-release"
+
+FILES_${PN}-zsh-completion += "${datadir}/zsh/"
+# FIXME: zsh is broken in meta-oe so this cannot be enabled for now
+#RDEPENDS_${PN}-zsh-completion += "zsh"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp/unistd.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp/unistd.patch
new file mode 100644
index 000000000..1c8146eda
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp/unistd.patch
@@ -0,0 +1,32 @@
+This patch is needed to avoid double definitions of functions
+especially when building with security flags turned on. The double
+definitions causes the sed.sh script in configure to fail since it
+starts to spit out double outputs e.g.
+
+wi_cv_gethostname_size_t size_t size_t
+
+which then caused almost all subsequent compile time tests to fail since
+this gets into confdefs.h file
+
+removing this include causes only one definitions to be emitted into
+the genrated protos.h file and thus avoiding the above failure.
+
+Other solution would to fix sed.sh to ignore double definitions
+
+Upstream-Status: Pending
+
+Signed-of-by: Khem Raj <raj.khem@gmail.com>
+
+
+Index: ncftp-3.2.6/configure
+===================================================================
+--- ncftp-3.2.6.orig/configure
++++ ncftp-3.2.6/configure
+@@ -7859,7 +7859,6 @@ chmod 755 "$wi_tmpdir/prpp.pl"
+ cat << 'EOF' > "$wi_tmpdir/unistd.c"
+ #include <confdefs.h>
+
+-#include <unistd.h>
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp_3.2.5.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp_3.2.5.bb
deleted file mode 100644
index 893eacb99..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp_3.2.5.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-DESCRIPTION = "A sophisticated console ftp client"
-HOMEPAGE = "http://ncftp.com/"
-SECTION = "net"
-LICENSE = "ClArtistic"
-LIC_FILES_CHKSUM = "file://ncftp/cmds.c;beginline=3;endline=4;md5=9de76faeaedc4f908082e3f8142715f4"
-DEPENDS = "ncurses"
-
-SRC_URI = "${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}.orig.tar.gz \
- file://ncftp-configure-use-BUILD_CC-for-ccdv.patch \
-"
-SRC_URI[md5sum] = "685e45f60ac11c89442c572c28af4228"
-SRC_URI[sha256sum] = "ac111b71112382853b2835c42ebe7bd59acb7f85dd00d44b2c19fbd074a436c4"
-
-inherit autotools-brokensep pkgconfig
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[ccdv] = "--enable-ccdv,--disable-ccdv,,"
-
-do_configure() {
- oe_runconf
-}
-do_install () {
- install -d ${D}${bindir} ${D}${sysconfdir} ${D}${mandir}
- oe_runmake 'prefix=${D}${prefix}' 'BINDIR=${D}${bindir}' \
- 'SYSCONFDIR=${D}${sysconfdir}' 'mandir=${D}${mandir}' \
- install
-}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp_3.2.6.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp_3.2.6.bb
new file mode 100644
index 000000000..5f92f27fd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp_3.2.6.bb
@@ -0,0 +1,35 @@
+DESCRIPTION = "A sophisticated console ftp client"
+HOMEPAGE = "http://ncftp.com/"
+SECTION = "net"
+LICENSE = "ClArtistic"
+LIC_FILES_CHKSUM = "file://ncftp/cmds.c;beginline=3;endline=4;md5=9c2390809f71465aa7ff76e03dc14d91"
+DEPENDS = "ncurses"
+
+SRC_URI = "ftp://ftp.ncftp.com/${BPN}/${BP}-src.tar.xz \
+ file://ncftp-configure-use-BUILD_CC-for-ccdv.patch \
+ file://unistd.patch \
+"
+SRC_URI[md5sum] = "42d0f896d69a4d603ec097546444245f"
+SRC_URI[sha256sum] = "5f200687c05d0807690d9fb770327b226f02dd86155b49e750853fce4e31098d"
+
+inherit autotools-brokensep pkgconfig
+
+CFLAGS += "-DNO_SSLv2 -D_FILE_OFFSET_BITS=64 -Wall"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[ccdv] = "--enable-ccdv,--disable-ccdv,,"
+
+EXTRA_OECONF = "--disable-precomp"
+TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}"
+
+do_configure() {
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
+ oe_runconf
+}
+do_install () {
+ install -d ${D}${bindir} ${D}${sysconfdir} ${D}${mandir}
+ oe_runmake 'prefix=${D}${prefix}' 'BINDIR=${D}${bindir}' \
+ 'SYSCONFDIR=${D}${sysconfdir}' 'mandir=${D}${mandir}' \
+ install
+}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/0001-Fix-build-failures-with-gcc7.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/0001-Fix-build-failures-with-gcc7.patch
new file mode 100644
index 000000000..4f493f7b8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/0001-Fix-build-failures-with-gcc7.patch
@@ -0,0 +1,49 @@
+From 398c6db66c643ed6133cc2b028ab1e27a17c5295 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 1 May 2017 19:10:09 +0000
+Subject: [PATCH] Fix build failures with gcc7
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ plugins/ipmidirect/ipmi_mc_vendor.cpp | 2 +-
+ plugins/ipmidirect/ipmi_resource.cpp | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/plugins/ipmidirect/ipmi_mc_vendor.cpp b/plugins/ipmidirect/ipmi_mc_vendor.cpp
+index 2c6c090..557771c 100644
+--- a/plugins/ipmidirect/ipmi_mc_vendor.cpp
++++ b/plugins/ipmidirect/ipmi_mc_vendor.cpp
+@@ -322,7 +322,7 @@ cIpmiMcVendor::CreateResources( cIpmiDomain *domain, cIpmiMc *source_mc, cIpmiSd
+ if ( addr.m_channel != source_mc->GetChannel() )
+ stdlog << "WARNING : SDR channel " << addr.m_channel << " NOT equal to MC channel " << source_mc->GetChannel() << "\n";
+
+- if ( FindOrCreateResource( domain, source_mc, fru_id, sdr, sdrs ) == false ) {
++ if ( !FindOrCreateResource( domain, source_mc, fru_id, sdr, sdrs ) ) {
+ return false;
+ }
+ }
+diff --git a/plugins/ipmidirect/ipmi_resource.cpp b/plugins/ipmidirect/ipmi_resource.cpp
+index c438e74..2552673 100644
+--- a/plugins/ipmidirect/ipmi_resource.cpp
++++ b/plugins/ipmidirect/ipmi_resource.cpp
+@@ -73,7 +73,7 @@ cIpmiResource::SendCommandReadLock( const cIpmiMsg &msg, cIpmiMsg &rsp,
+
+ domain->ReadLock();
+
+- if ( domain->VerifyResource( resource ) == false )
++ if ( !domain->VerifyResource( resource ) )
+ return SA_ERR_HPI_NOT_PRESENT;
+
+ return rv;
+@@ -91,7 +91,7 @@ cIpmiResource::SendCommandReadLock( cIpmiRdr *rdr, const cIpmiMsg &msg, cIpmiMsg
+
+ domain->ReadLock();
+
+- if ( domain->VerifyRdr( rdr ) == false )
++ if ( !domain->VerifyRdr( rdr ) )
+ return SA_ERR_HPI_NOT_PRESENT;
+
+ return rv;
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/0001-ipmidirect-Replace-__STRING.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/0001-ipmidirect-Replace-__STRING.patch
new file mode 100644
index 000000000..4d56f6535
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/0001-ipmidirect-Replace-__STRING.patch
@@ -0,0 +1,31 @@
+From be40b3f11460cf495bbbef45692e7763afda0c2b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 14 Sep 2017 17:56:31 -0700
+Subject: [PATCH] ipmidirect: Replace __STRING
+
+__STRING is not universally available e.g.
+musl does not define it
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ plugins/ipmidirect/t/test.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/plugins/ipmidirect/t/test.h b/plugins/ipmidirect/t/test.h
+index 8d71381..978d5ff 100644
+--- a/plugins/ipmidirect/t/test.h
++++ b/plugins/ipmidirect/t/test.h
+@@ -22,7 +22,7 @@ TestFunction( const char *str, const char *file, int line, bool expr )
+ }
+
+
+-#define Test(expr) TestFunction( __STRING(expr), __FILE__, __LINE__, expr )
++#define Test(expr) TestFunction( #expr, __FILE__, __LINE__, expr )
+
+
+ static int
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/0001-plugins-Check-for-PTHREAD_RECURSIVE_MUTEX_INITIALIZE.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/0001-plugins-Check-for-PTHREAD_RECURSIVE_MUTEX_INITIALIZE.patch
new file mode 100644
index 000000000..0f033ac85
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/0001-plugins-Check-for-PTHREAD_RECURSIVE_MUTEX_INITIALIZE.patch
@@ -0,0 +1,47 @@
+From be665d9513cca7e8b64c79ae424cf44ac166b052 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 14 Sep 2017 17:07:58 -0700
+Subject: [PATCH] plugins: Check for PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
+ before use
+
+musl does not define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
+so we can not assume that all Linux systems support PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
+its a glibc specific define so check for it being defined before using it
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ plugins/dynamic_simulator/thread.cpp | 2 +-
+ plugins/ipmidirect/thread.cpp | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/plugins/dynamic_simulator/thread.cpp b/plugins/dynamic_simulator/thread.cpp
+index d663be0..9210fd7 100644
+--- a/plugins/dynamic_simulator/thread.cpp
++++ b/plugins/dynamic_simulator/thread.cpp
+@@ -229,7 +229,7 @@ cThread::Exit( void *rv )
+ /**
+ * Constructor
+ **/
+-#if ( defined(__sun) && defined(__SVR4) ) || defined(__FreeBSD__)
++#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
+ cThreadLock::cThreadLock()
+ {
+ pthread_mutexattr_t attr;
+diff --git a/plugins/ipmidirect/thread.cpp b/plugins/ipmidirect/thread.cpp
+index 5c52557..48e83fa 100644
+--- a/plugins/ipmidirect/thread.cpp
++++ b/plugins/ipmidirect/thread.cpp
+@@ -167,7 +167,7 @@ cThread::Exit( void *rv )
+ // cThreadLock
+ //////////////////////////////////////////////////
+
+-#if ( defined(__sun) && defined(__SVR4) ) || defined(__FreeBSD__)
++#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
+ cThreadLock::cThreadLock()
+ {
+ pthread_mutexattr_t attr;
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/c++11.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/c++11.patch
new file mode 100644
index 000000000..0549d5977
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/c++11.patch
@@ -0,0 +1,12 @@
+Index: openhpi-3.6.1/configure.ac
+===================================================================
+--- openhpi-3.6.1.orig/configure.ac
++++ openhpi-3.6.1/configure.ac
+@@ -44,6 +44,7 @@ AC_PROG_CPP
+ AC_PROG_INSTALL
+ AC_PROG_LN_S
+ AC_PROG_MAKE_SET
++AX_CXX_COMPILE_STDCXX_11([noext],[mandatory])
+
+ enabled_non32bit="no"
+ AC_ARG_ENABLE([non32bit-int],
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/clang-c++11.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/clang-c++11.patch
new file mode 100644
index 000000000..9b35a0cce
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/clang-c++11.patch
@@ -0,0 +1,1288 @@
+Index: openhpi-3.6.1/plugins/dynamic_simulator/new_sim.cpp
+===================================================================
+--- openhpi-3.6.1.orig/plugins/dynamic_simulator/new_sim.cpp
++++ openhpi-3.6.1/plugins/dynamic_simulator/new_sim.cpp
+@@ -415,7 +415,7 @@ extern "C" {
+ /**
+ * Alias for @ref öh_open(), implemented by @ref NewSimulatorOpen().
+ **/
+-static void * NewSimulatorOpen( GHashTable *, unsigned int, oh_evt_queue * ) __attribute__((used));
++static void * NewSimulatorOpen( GHashTable *, unsigned int, oh_evt_queue * ) __asm__("NewSimulatorOpen") __attribute__((used));
+
+ /**
+ * @fn NewSimulatorOpen( GHashTable *handler_config, unsigned int hid,
+@@ -530,7 +530,7 @@ static void * NewSimulatorOpen( GHashTab
+ /**
+ * Alias for @ref öh_close(), implemented by @ref NewSimulatorClose().
+ **/
+-static void NewSimulatorClose( void * ) __attribute__((used));
++static void NewSimulatorClose( void * ) __asm__("NewSimulatorClose") __attribute__((used));
+
+ /**
+ * @relate NewSimulatorClose
+@@ -585,7 +585,7 @@ static void NewSimulatorClose( void *hnd
+ *
+ * @return HPI error code
+ **/
+-static SaErrorT NewSimulatorGetEvent( void * ) __attribute__((used));
++static SaErrorT NewSimulatorGetEvent( void * ) __asm__("NewSimulatorGetEvent") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetEvent( void *hnd ) {
+ dbg( "NewSimulatorGetEvent" );
+@@ -613,7 +613,7 @@ static SaErrorT NewSimulatorGetEvent( vo
+ *
+ * @return HPI error code
+ **/
+-static SaErrorT NewSimulatorDiscoverResources( void * ) __attribute__((used));
++static SaErrorT NewSimulatorDiscoverResources( void * ) __asm__("NewSimulatorDiscoverResources") __attribute__((used));
+
+ static SaErrorT NewSimulatorDiscoverResources( void *hnd ) {
+ dbg( "NewSimulatorDiscoverResources" );
+@@ -641,7 +641,7 @@ static SaErrorT NewSimulatorDiscoverReso
+ *
+ * @return HPI error code
+ **/
+-static SaErrorT NewSimulatorSetResourceTag( void *, SaHpiResourceIdT, SaHpiTextBufferT * ) __attribute__((used));
++static SaErrorT NewSimulatorSetResourceTag( void *, SaHpiResourceIdT, SaHpiTextBufferT * ) __asm__("NewSimulatorSetResourceTag") __attribute__((used));
+
+ static SaErrorT NewSimulatorSetResourceTag( void *hnd, SaHpiResourceIdT id,
+ SaHpiTextBufferT *tag ) {
+@@ -669,7 +669,7 @@ static SaErrorT NewSimulatorSetResourceT
+ *
+ * @return HPI error code
+ **/
+-static SaErrorT NewSimulatorSetResourceSeverity( void *, SaHpiResourceIdT, SaHpiSeverityT ) __attribute__((used));
++static SaErrorT NewSimulatorSetResourceSeverity( void *, SaHpiResourceIdT, SaHpiSeverityT ) __asm__("NewSimulatorSetResourceSeverity") __attribute__((used));
+
+ static SaErrorT NewSimulatorSetResourceSeverity( void *hnd, SaHpiResourceIdT id,
+ SaHpiSeverityT sev ) {
+@@ -703,7 +703,7 @@ static SaErrorT NewSimulatorGetSensorRea
+ SaHpiResourceIdT id,
+ SaHpiSensorNumT num,
+ SaHpiSensorReadingT *data,
+- SaHpiEventStateT *state ) __attribute__((used));
++ SaHpiEventStateT *state ) __asm__("NewSimulatorGetSensorReading") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetSensorReading( void *hnd,
+ SaHpiResourceIdT id,
+@@ -738,7 +738,7 @@ static SaErrorT NewSimulatorGetSensorRea
+ static SaErrorT NewSimulatorGetSensorThresholds( void *hnd,
+ SaHpiResourceIdT,
+ SaHpiSensorNumT,
+- SaHpiSensorThresholdsT * ) __attribute__((used));
++ SaHpiSensorThresholdsT * ) __asm__("NewSimulatorGetSensorThresholds") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetSensorThresholds( void *hnd,
+ SaHpiResourceIdT id,
+@@ -777,7 +777,7 @@ static SaErrorT NewSimulatorGetSensorThr
+ static SaErrorT NewSimulatorSetSensorThresholds( void *,
+ SaHpiResourceIdT,
+ SaHpiSensorNumT,
+- const SaHpiSensorThresholdsT * ) __attribute__((used));
++ const SaHpiSensorThresholdsT * ) __asm__("NewSimulatorSetSensorThresholds") __attribute__((used));
+
+ static SaErrorT NewSimulatorSetSensorThresholds( void *hnd,
+ SaHpiResourceIdT id,
+@@ -815,7 +815,7 @@ static SaErrorT NewSimulatorSetSensorThr
+ static SaErrorT NewSimulatorGetSensorEnable( void *,
+ SaHpiResourceIdT,
+ SaHpiSensorNumT,
+- SaHpiBoolT * ) __attribute__((used));
++ SaHpiBoolT * ) __asm__("NewSimulatorGetSensorEnable") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetSensorEnable( void *hnd,
+ SaHpiResourceIdT id,
+@@ -849,7 +849,7 @@ static SaErrorT NewSimulatorGetSensorEna
+ static SaErrorT NewSimulatorSetSensorEnable( void *,
+ SaHpiResourceIdT,
+ SaHpiSensorNumT,
+- SaHpiBoolT ) __attribute__((used));
++ SaHpiBoolT ) __asm__("NewSimulatorSetSensorEnable") __attribute__((used));
+
+ static SaErrorT NewSimulatorSetSensorEnable( void *hnd,
+ SaHpiResourceIdT id,
+@@ -883,7 +883,7 @@ static SaErrorT NewSimulatorSetSensorEna
+ static SaErrorT NewSimulatorGetSensorEventEnables( void *,
+ SaHpiResourceIdT,
+ SaHpiSensorNumT,
+- SaHpiBoolT * ) __attribute__((used));
++ SaHpiBoolT * ) __asm__("NewSimulatorGetSensorEventEnables") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetSensorEventEnables( void *hnd,
+ SaHpiResourceIdT id,
+@@ -916,7 +916,7 @@ static SaErrorT NewSimulatorGetSensorEve
+ static SaErrorT NewSimulatorSetSensorEventEnables( void *,
+ SaHpiResourceIdT,
+ SaHpiSensorNumT,
+- SaHpiBoolT ) __attribute__((used));
++ SaHpiBoolT ) __asm__("NewSimulatorSetSensorEventEnables") __attribute__((used));
+
+ static SaErrorT NewSimulatorSetSensorEventEnables( void *hnd,
+ SaHpiResourceIdT id,
+@@ -952,7 +952,7 @@ static SaErrorT NewSimulatorGetSensorEve
+ SaHpiResourceIdT,
+ SaHpiSensorNumT,
+ SaHpiEventStateT *,
+- SaHpiEventStateT * ) __attribute__((used));
++ SaHpiEventStateT * ) __asm__("NewSimulatorGetSensorEventMasks") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetSensorEventMasks( void *hnd,
+ SaHpiResourceIdT id,
+@@ -990,7 +990,7 @@ static SaErrorT NewSimulatorSetSensorEve
+ SaHpiSensorNumT,
+ SaHpiSensorEventMaskActionT,
+ SaHpiEventStateT,
+- SaHpiEventStateT ) __attribute__((used));
++ SaHpiEventStateT ) __asm__("NewSimulatorSetSensorEventMasks") __attribute__((used));
+
+ static SaErrorT NewSimulatorSetSensorEventMasks( void *hnd,
+ SaHpiResourceIdT id,
+@@ -1026,7 +1026,7 @@ static SaErrorT NewSimulatorSetSensorEve
+ static SaErrorT NewSimulatorGetControlState( void *, SaHpiResourceIdT,
+ SaHpiCtrlNumT,
+ SaHpiCtrlModeT *,
+- SaHpiCtrlStateT * ) __attribute__((used));
++ SaHpiCtrlStateT * ) __asm__("NewSimulatorGetControlState") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetControlState( void *hnd, SaHpiResourceIdT id,
+ SaHpiCtrlNumT num,
+@@ -1061,7 +1061,7 @@ static SaErrorT NewSimulatorGetControlSt
+ static SaErrorT NewSimulatorSetControlState( void *, SaHpiResourceIdT,
+ SaHpiCtrlNumT,
+ SaHpiCtrlModeT,
+- SaHpiCtrlStateT * ) __attribute__((used));
++ SaHpiCtrlStateT * ) __asm__("NewSimulatorSetControlState") __attribute__((used));
+
+ static SaErrorT NewSimulatorSetControlState( void *hnd, SaHpiResourceIdT id,
+ SaHpiCtrlNumT num,
+@@ -1099,7 +1099,7 @@ static SaErrorT NewSimulatorGetNextAnnou
+ SaHpiAnnunciatorNumT,
+ SaHpiSeverityT,
+ SaHpiBoolT,
+- SaHpiAnnouncementT *) __attribute__((used));
++ SaHpiAnnouncementT *) __asm__("NewSimulatorGetNextAnnouncement") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetNextAnnouncement(void *hnd, SaHpiResourceIdT id,
+ SaHpiAnnunciatorNumT num,
+@@ -1135,7 +1135,7 @@ static SaErrorT NewSimulatorGetNextAnnou
+ static SaErrorT NewSimulatorGetAnnouncement(void *, SaHpiResourceIdT,
+ SaHpiAnnunciatorNumT,
+ SaHpiEntryIdT,
+- SaHpiAnnouncementT *) __attribute__((used));
++ SaHpiAnnouncementT *) __asm__("NewSimulatorGetAnnouncement") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetAnnouncement(void *hnd, SaHpiResourceIdT id,
+ SaHpiAnnunciatorNumT num,
+@@ -1171,7 +1171,7 @@ static SaErrorT NewSimulatorGetAnnouncem
+ static SaErrorT NewSimulatorAckAnnouncement(void *, SaHpiResourceIdT,
+ SaHpiAnnunciatorNumT,
+ SaHpiEntryIdT,
+- SaHpiSeverityT) __attribute__((used));
++ SaHpiSeverityT) __asm__("NewSimulatorAckAnnouncement") __attribute__((used));
+
+ static SaErrorT NewSimulatorAckAnnouncement(void *hnd, SaHpiResourceIdT id,
+ SaHpiAnnunciatorNumT num,
+@@ -1205,7 +1205,7 @@ static SaErrorT NewSimulatorAckAnnouncem
+ **/
+ static SaErrorT NewSimulatorAddAnnouncement(void *, SaHpiResourceIdT,
+ SaHpiAnnunciatorNumT,
+- SaHpiAnnouncementT *) __attribute__((used));
++ SaHpiAnnouncementT *) __asm__("NewSimulatorAddAnnouncement") __attribute__((used));
+
+ static SaErrorT NewSimulatorAddAnnouncement(void *hnd, SaHpiResourceIdT id,
+ SaHpiAnnunciatorNumT num,
+@@ -1239,7 +1239,7 @@ static SaErrorT NewSimulatorAddAnnouncem
+ static SaErrorT NewSimulatorDelAnnouncement(void *, SaHpiResourceIdT,
+ SaHpiAnnunciatorNumT,
+ SaHpiEntryIdT,
+- SaHpiSeverityT) __attribute__((used));
++ SaHpiSeverityT) __asm__("NewSimulatorDelAnnouncement") __attribute__((used));
+
+ static SaErrorT NewSimulatorDelAnnouncement(void *hnd, SaHpiResourceIdT id,
+ SaHpiAnnunciatorNumT num,
+@@ -1273,7 +1273,7 @@ static SaErrorT NewSimulatorDelAnnouncem
+ **/
+ static SaErrorT NewSimulatorGetAnnMode(void *, SaHpiResourceIdT,
+ SaHpiAnnunciatorNumT,
+- SaHpiAnnunciatorModeT *) __attribute__((used));
++ SaHpiAnnunciatorModeT *) __asm__("NewSimulatorGetAnnMode") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetAnnMode(void *hnd, SaHpiResourceIdT id,
+ SaHpiAnnunciatorNumT num,
+@@ -1306,7 +1306,7 @@ static SaErrorT NewSimulatorGetAnnMode(v
+ **/
+ static SaErrorT NewSimulatorSetAnnMode(void *, SaHpiResourceIdT,
+ SaHpiAnnunciatorNumT,
+- SaHpiAnnunciatorModeT) __attribute__((used));
++ SaHpiAnnunciatorModeT) __asm__("NewSimulatorSetAnnMode") __attribute__((used));
+
+ static SaErrorT NewSimulatorSetAnnMode(void *hnd, SaHpiResourceIdT id,
+ SaHpiAnnunciatorNumT num,
+@@ -1340,7 +1340,7 @@ static SaErrorT NewSimulatorSetAnnMode(v
+ static SaErrorT NewSimulatorGetIdrInfo( void *,
+ SaHpiResourceIdT,
+ SaHpiIdrIdT,
+- SaHpiIdrInfoT * ) __attribute__((used));
++ SaHpiIdrInfoT * ) __asm__("NewSimulatorGetIdrInfo") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetIdrInfo( void *hnd,
+ SaHpiResourceIdT id,
+@@ -1380,7 +1380,7 @@ static SaErrorT NewSimulatorGetIdrAreaHe
+ SaHpiIdrAreaTypeT,
+ SaHpiEntryIdT,
+ SaHpiEntryIdT *,
+- SaHpiIdrAreaHeaderT * ) __attribute__((used));
++ SaHpiIdrAreaHeaderT * ) __asm__("NewSimulatorGetIdrAreaHeader") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetIdrAreaHeader( void *hnd,
+ SaHpiResourceIdT id,
+@@ -1419,7 +1419,7 @@ static SaErrorT NewSimulatorAddIdrArea(
+ SaHpiResourceIdT,
+ SaHpiIdrIdT,
+ SaHpiIdrAreaTypeT,
+- SaHpiEntryIdT * ) __attribute__((used));
++ SaHpiEntryIdT * ) __asm__("NewSimulatorAddIdrArea") __attribute__((used));
+
+ static SaErrorT NewSimulatorAddIdrArea( void *hnd,
+ SaHpiResourceIdT id,
+@@ -1456,7 +1456,7 @@ static SaErrorT NewSimulatorAddIdrAreaBy
+ SaHpiResourceIdT,
+ SaHpiIdrIdT,
+ SaHpiIdrAreaTypeT,
+- SaHpiEntryIdT ) __attribute__((used));
++ SaHpiEntryIdT ) __asm__("NewSimulatorAddIdrAreaById") __attribute__((used));
+
+ static SaErrorT NewSimulatorAddIdrAreaById( void *hnd,
+ SaHpiResourceIdT id,
+@@ -1490,7 +1490,7 @@ static SaErrorT NewSimulatorAddIdrAreaBy
+ static SaErrorT NewSimulatorDelIdrArea( void *,
+ SaHpiResourceIdT,
+ SaHpiIdrIdT,
+- SaHpiEntryIdT ) __attribute__((used));
++ SaHpiEntryIdT ) __asm__("NewSimulatorDelIdrArea") __attribute__((used));
+
+ static SaErrorT NewSimulatorDelIdrArea( void *hnd,
+ SaHpiResourceIdT id,
+@@ -1532,7 +1532,7 @@ static SaErrorT NewSimulatorGetIdrField(
+ SaHpiIdrFieldTypeT,
+ SaHpiEntryIdT,
+ SaHpiEntryIdT *,
+- SaHpiIdrFieldT * ) __attribute__((used));
++ SaHpiIdrFieldT * ) __asm__("NewSimulatorGetIdrField") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetIdrField( void *hnd,
+ SaHpiResourceIdT id,
+@@ -1570,7 +1570,7 @@ static SaErrorT NewSimulatorGetIdrField(
+ static SaErrorT NewSimulatorAddIdrField( void *,
+ SaHpiResourceIdT,
+ SaHpiIdrIdT,
+- SaHpiIdrFieldT * ) __attribute__((used));
++ SaHpiIdrFieldT * ) __asm__("NewSimulatorAddIdrField") __attribute__((used));
+
+ static SaErrorT NewSimulatorAddIdrField( void *hnd,
+ SaHpiResourceIdT id,
+@@ -1604,7 +1604,7 @@ static SaErrorT NewSimulatorAddIdrField(
+ static SaErrorT NewSimulatorAddIdrFieldById( void *,
+ SaHpiResourceIdT,
+ SaHpiIdrIdT,
+- SaHpiIdrFieldT * ) __attribute__((used));
++ SaHpiIdrFieldT * ) __asm__("NewSimulatorAddIdrFieldById") __attribute__((used));
+
+ static SaErrorT NewSimulatorAddIdrFieldById( void *hnd,
+ SaHpiResourceIdT id,
+@@ -1637,7 +1637,7 @@ static SaErrorT NewSimulatorAddIdrFieldB
+ static SaErrorT NewSimulatorSetIdrField( void *,
+ SaHpiResourceIdT,
+ SaHpiIdrIdT,
+- SaHpiIdrFieldT * ) __attribute__((used));
++ SaHpiIdrFieldT * ) __asm__("NewSimulatorSetIdrField") __attribute__((used));
+
+ static SaErrorT NewSimulatorSetIdrField( void *hnd,
+ SaHpiResourceIdT id,
+@@ -1672,7 +1672,7 @@ static SaErrorT NewSimulatorDelIdrField(
+ SaHpiResourceIdT,
+ SaHpiIdrIdT,
+ SaHpiEntryIdT,
+- SaHpiEntryIdT ) __attribute__((used));
++ SaHpiEntryIdT ) __asm__("NewSimulatorDelIdrField") __attribute__((used));
+
+ static SaErrorT NewSimulatorDelIdrField( void *hnd,
+ SaHpiResourceIdT id,
+@@ -1704,7 +1704,7 @@ static SaErrorT NewSimulatorDelIdrField(
+ **/
+ static SaErrorT NewSimulatorGetSelInfo( void *,
+ SaHpiResourceIdT,
+- SaHpiEventLogInfoT * ) __attribute__((used));
++ SaHpiEventLogInfoT * ) __asm__("NewSimulatorGetSelInfo") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetSelInfo( void *hnd,
+ SaHpiResourceIdT id,
+@@ -1736,7 +1736,7 @@ static SaErrorT NewSimulatorGetSelInfo(
+ *
+ * @return HPI error code
+ **/
+-static SaErrorT NewSimulatorSetSelTime( void *, SaHpiResourceIdT, SaHpiTimeT ) __attribute__((used));
++static SaErrorT NewSimulatorSetSelTime( void *, SaHpiResourceIdT, SaHpiTimeT ) __asm__("NewSimulatorSetSelTime") __attribute__((used));
+
+ static SaErrorT NewSimulatorSetSelTime( void *hnd, SaHpiResourceIdT id, SaHpiTimeT t ) {
+ SaErrorT rv = SA_ERR_HPI_INTERNAL_ERROR;
+@@ -1766,7 +1766,7 @@ static SaErrorT NewSimulatorSetSelTime(
+ *
+ * @return HPI error code
+ **/
+-static SaErrorT NewSimulatorAddSelEntry( void *, SaHpiResourceIdT, const SaHpiEventT * ) __attribute__((used));
++static SaErrorT NewSimulatorAddSelEntry( void *, SaHpiResourceIdT, const SaHpiEventT * ) __asm__("NewSimulatorAddSelEntry") __attribute__((used));
+
+ static SaErrorT NewSimulatorAddSelEntry( void *hnd, SaHpiResourceIdT id,
+ const SaHpiEventT *Event ) {
+@@ -1809,7 +1809,7 @@ static SaErrorT NewSimulatorGetSelEntry(
+ SaHpiEventLogEntryIdT *,
+ SaHpiEventLogEntryT *,
+ SaHpiRdrT *,
+- SaHpiRptEntryT * ) __attribute__((used));
++ SaHpiRptEntryT * ) __asm__("NewSimulatorGetSelEntry") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetSelEntry( void *hnd, SaHpiResourceIdT id,
+ SaHpiEventLogEntryIdT current,
+@@ -1844,7 +1844,7 @@ static SaErrorT NewSimulatorGetSelEntry(
+ *
+ * @return HPI error code
+ **/
+-static SaErrorT NewSimulatorClearSel( void *, SaHpiResourceIdT ) __attribute__((used));
++static SaErrorT NewSimulatorClearSel( void *, SaHpiResourceIdT ) __asm__("NewSimulatorClearSel") __attribute__((used));
+
+ static SaErrorT NewSimulatorClearSel( void *hnd, SaHpiResourceIdT id ) {
+ SaErrorT rv = SA_ERR_HPI_INTERNAL_ERROR;
+@@ -1875,7 +1875,7 @@ static SaErrorT NewSimulatorClearSel( vo
+ * @return HPI error code
+ **/
+ static SaErrorT NewSimulatorSetSelState(void *, SaHpiResourceIdT,
+- SaHpiBoolT) __attribute__((used));
++ SaHpiBoolT) __asm__("NewSimulatorSetSelState") __attribute__((used));
+
+ static SaErrorT NewSimulatorSetSelState( void *hnd, SaHpiResourceIdT id,
+ SaHpiBoolT state ) {
+@@ -1907,7 +1907,7 @@ static SaErrorT NewSimulatorSetSelState(
+ * @return HPI error code
+ **/
+ static SaErrorT NewSimulatorGetSelState(void *, SaHpiResourceIdT,
+- SaHpiBoolT *) __attribute__((used));
++ SaHpiBoolT *) __asm__("NewSimulatorGetSelState") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetSelState( void *hnd, SaHpiResourceIdT id,
+ SaHpiBoolT *state ) {
+@@ -1939,7 +1939,7 @@ static SaErrorT NewSimulatorGetSelState(
+ * @return HPI error code
+ **/
+ static SaErrorT NewSimulatorGetSelCapability(void *, SaHpiResourceIdT,
+- SaHpiEventLogCapabilitiesT *) __attribute__((used));
++ SaHpiEventLogCapabilitiesT *) __asm__("NewSimulatorGetSelCapability") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetSelCapability( void *hnd, SaHpiResourceIdT id,
+ SaHpiEventLogCapabilitiesT *caps ) {
+@@ -1970,7 +1970,7 @@ static SaErrorT NewSimulatorGetSelCapabi
+ * @return HPI error code
+ **/
+ static SaErrorT NewSimulatorResetSelOverflow(void *, SaHpiResourceIdT)
+- __attribute__((used));
++ __asm__("NewSimulatorResetSelOverflow") __attribute__((used));
+
+ static SaErrorT NewSimulatorResetSelOverflow( void *hnd, SaHpiResourceIdT id ) {
+
+@@ -2002,7 +2002,7 @@ static SaErrorT NewSimulatorResetSelOver
+ * @return HPI error code
+ **/
+ static SaErrorT NewSimulatorHotswapPolicyCancel( void *, SaHpiResourceIdT,
+- SaHpiTimeoutT ) __attribute__((used));
++ SaHpiTimeoutT ) __asm__("NewSimulatorHotswapPolicyCancel") __attribute__((used));
+
+ static SaErrorT NewSimulatorHotswapPolicyCancel( void *hnd, SaHpiResourceIdT id,
+ SaHpiTimeoutT timeout) {
+@@ -2032,7 +2032,7 @@ static SaErrorT NewSimulatorHotswapPolic
+ * @return HPI error code
+ **/
+ static SaErrorT NewSimulatorGetHotswapState( void *, SaHpiResourceIdT ,
+- SaHpiHsStateT * ) __attribute__((used));
++ SaHpiHsStateT * ) __asm__("NewSimulatorGetHotswapState") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetHotswapState( void *hnd, SaHpiResourceIdT id,
+ SaHpiHsStateT *state ) {
+@@ -2063,7 +2063,7 @@ static SaErrorT NewSimulatorGetHotswapSt
+ * @return HPI error code
+ **/
+ static SaErrorT NewSimulatorSetHotswapState( void *, SaHpiResourceIdT,
+- SaHpiHsStateT ) __attribute__((used));
++ SaHpiHsStateT ) __asm__("NewSimulatorSetHotswapState") __attribute__((used));
+
+ static SaErrorT NewSimulatorSetHotswapState( void *hnd, SaHpiResourceIdT id,
+ SaHpiHsStateT state ) {
+@@ -2105,7 +2105,7 @@ static SaErrorT NewSimulatorSetHotswapSt
+ * @return HPI error code
+ **/
+ static SaErrorT NewSimulatorRequestHotswapAction( void *, SaHpiResourceIdT,
+- SaHpiHsActionT ) __attribute__((used));
++ SaHpiHsActionT ) __asm__("NewSimulatorRequestHotswapAction") __attribute__((used));
+
+ static SaErrorT NewSimulatorRequestHotswapAction( void *hnd, SaHpiResourceIdT id,
+ SaHpiHsActionT act ) {
+@@ -2139,7 +2139,7 @@ static SaErrorT NewSimulatorRequestHotsw
+ static SaErrorT NewSimulatorGetWatchdogInfo(void *,
+ SaHpiResourceIdT,
+ SaHpiWatchdogNumT,
+- SaHpiWatchdogT *) __attribute__((used));
++ SaHpiWatchdogT *) __asm__("NewSimulatorGetWatchdogInfo") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetWatchdogInfo(void *hnd,
+ SaHpiResourceIdT id,
+@@ -2170,7 +2170,7 @@ static SaErrorT NewSimulatorGetWatchdogI
+ static SaErrorT NewSimulatorSetWatchdogInfo(void *,
+ SaHpiResourceIdT,
+ SaHpiWatchdogNumT,
+- SaHpiWatchdogT *) __attribute__((used));
++ SaHpiWatchdogT *) __asm__("NewSimulatorSetWatchdogInfo") __attribute__((used));
+
+ static SaErrorT NewSimulatorSetWatchdogInfo(void *hnd,
+ SaHpiResourceIdT id,
+@@ -2199,7 +2199,7 @@ static SaErrorT NewSimulatorSetWatchdogI
+ **/
+ static SaErrorT NewSimulatorResetWatchdog(void *,
+ SaHpiResourceIdT,
+- SaHpiWatchdogNumT) __attribute__((used));
++ SaHpiWatchdogNumT) __asm__("NewSimulatorResetWatchdog") __attribute__((used));
+
+ static SaErrorT NewSimulatorResetWatchdog(void *hnd,
+ SaHpiResourceIdT id,
+@@ -2229,7 +2229,7 @@ static SaErrorT NewSimulatorResetWatchdo
+ static SaErrorT NewSimulatorGetFumiSpec(void *,
+ SaHpiResourceIdT,
+ SaHpiFumiNumT,
+- SaHpiFumiSpecInfoT *) __attribute__((used));
++ SaHpiFumiSpecInfoT *) __asm__("NewSimulatorGetFumiSpec") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetFumiSpec(void *hnd,
+ SaHpiResourceIdT id,
+@@ -2260,7 +2260,7 @@ static SaErrorT NewSimulatorGetFumiSpec(
+ static SaErrorT NewSimulatorGetFumiServImpact(void *,
+ SaHpiResourceIdT,
+ SaHpiFumiNumT,
+- SaHpiFumiServiceImpactDataT *) __attribute__((used));
++ SaHpiFumiServiceImpactDataT *) __asm__("NewSimulatorGetFumiServImpact") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetFumiServImpact(void *hnd,
+ SaHpiResourceIdT id,
+@@ -2294,7 +2294,7 @@ static SaErrorT NewSimulatorSetFumiSourc
+ SaHpiResourceIdT,
+ SaHpiFumiNumT,
+ SaHpiBankNumT,
+- SaHpiTextBufferT *) __attribute__((used));
++ SaHpiTextBufferT *) __asm__("NewSimulatorSetFumiSource") __attribute__((used));
+
+ static SaErrorT NewSimulatorSetFumiSource(void *hnd,
+ SaHpiResourceIdT id,
+@@ -2327,7 +2327,7 @@ static SaErrorT NewSimulatorSetFumiSourc
+ static SaErrorT NewSimulatorValidateFumiSource(void *,
+ SaHpiResourceIdT,
+ SaHpiFumiNumT,
+- SaHpiBankNumT) __attribute__((used));
++ SaHpiBankNumT) __asm__("NewSimulatorValidateFumiSource") __attribute__((used));
+
+ static SaErrorT NewSimulatorValidateFumiSource(void *hnd,
+ SaHpiResourceIdT id,
+@@ -2361,7 +2361,7 @@ static SaErrorT NewSimulatorGetFumiSourc
+ SaHpiResourceIdT,
+ SaHpiFumiNumT,
+ SaHpiBankNumT,
+- SaHpiFumiSourceInfoT *) __attribute__((used));
++ SaHpiFumiSourceInfoT *) __asm__("NewSimulatorGetFumiSource") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetFumiSource(void *hnd,
+ SaHpiResourceIdT id,
+@@ -2400,7 +2400,7 @@ static SaErrorT NewSimulatorGetFumiSourc
+ SaHpiBankNumT,
+ SaHpiEntryIdT,
+ SaHpiEntryIdT *,
+- SaHpiFumiComponentInfoT *) __attribute__((used));
++ SaHpiFumiComponentInfoT *) __asm__("NewSimulatorGetFumiSourceComponent") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetFumiSourceComponent(void *hnd,
+ SaHpiResourceIdT id,
+@@ -2437,7 +2437,7 @@ static SaErrorT NewSimulatorGetFumiTarge
+ SaHpiResourceIdT,
+ SaHpiFumiNumT,
+ SaHpiBankNumT,
+- SaHpiFumiBankInfoT *) __attribute__((used));
++ SaHpiFumiBankInfoT *) __asm__("NewSimulatorGetFumiTarget") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetFumiTarget(void *hnd,
+ SaHpiResourceIdT id,
+@@ -2476,7 +2476,7 @@ static SaErrorT NewSimulatorGetFumiTarge
+ SaHpiBankNumT,
+ SaHpiEntryIdT,
+ SaHpiEntryIdT *,
+- SaHpiFumiComponentInfoT *) __attribute__((used));
++ SaHpiFumiComponentInfoT *) __asm__("NewSimulatorGetFumiTargetComponent") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetFumiTargetComponent(void *hnd,
+ SaHpiResourceIdT id,
+@@ -2511,7 +2511,7 @@ static SaErrorT NewSimulatorGetFumiTarge
+ static SaErrorT NewSimulatorGetFumiLogicalTarget(void *,
+ SaHpiResourceIdT,
+ SaHpiFumiNumT,
+- SaHpiFumiLogicalBankInfoT *) __attribute__((used));
++ SaHpiFumiLogicalBankInfoT *) __asm__("NewSimulatorGetFumiLogicalTarget") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetFumiLogicalTarget(void *hnd,
+ SaHpiResourceIdT id,
+@@ -2547,7 +2547,7 @@ static SaErrorT NewSimulatorGetFumiLogic
+ SaHpiFumiNumT,
+ SaHpiEntryIdT,
+ SaHpiEntryIdT *,
+- SaHpiFumiLogicalComponentInfoT *) __attribute__((used));
++ SaHpiFumiLogicalComponentInfoT *) __asm__("NewSimulatorGetFumiLogicalTargetComponent") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetFumiLogicalTargetComponent(void *hnd,
+ SaHpiResourceIdT id,
+@@ -2579,7 +2579,7 @@ static SaErrorT NewSimulatorGetFumiLogic
+ **/
+ static SaErrorT NewSimulatorStartFumiBackup(void *,
+ SaHpiResourceIdT,
+- SaHpiFumiNumT) __attribute__((used));
++ SaHpiFumiNumT) __asm__("NewSimulatorStartFumiBackup") __attribute__((used));
+
+ static SaErrorT NewSimulatorStartFumiBackup(void *hnd,
+ SaHpiResourceIdT id,
+@@ -2612,7 +2612,7 @@ static SaErrorT NewSimulatorSetFumiBankO
+ SaHpiResourceIdT,
+ SaHpiFumiNumT,
+ SaHpiBankNumT,
+- SaHpiUint32T) __attribute__((used));
++ SaHpiUint32T) __asm__("NewSimulatorSetFumiBankOrder") __attribute__((used));
+
+ static SaErrorT NewSimulatorSetFumiBankOrder(void *hnd,
+ SaHpiResourceIdT id,
+@@ -2647,7 +2647,7 @@ static SaErrorT NewSimulatorStartFumiBan
+ SaHpiResourceIdT,
+ SaHpiFumiNumT,
+ SaHpiBankNumT,
+- SaHpiBankNumT) __attribute__((used));
++ SaHpiBankNumT) __asm__("NewSimulatorStartFumiBankCopy") __attribute__((used));
+
+ static SaErrorT NewSimulatorStartFumiBankCopy(void *hnd,
+ SaHpiResourceIdT id,
+@@ -2680,7 +2680,7 @@ static SaErrorT NewSimulatorStartFumiBan
+ static SaErrorT NewSimulatorStartFumiInstall(void *,
+ SaHpiResourceIdT,
+ SaHpiFumiNumT,
+- SaHpiBankNumT) __attribute__((used));
++ SaHpiBankNumT) __asm__("NewSimulatorStartFumiInstall") __attribute__((used));
+
+ static SaErrorT NewSimulatorStartFumiInstall(void *hnd,
+ SaHpiResourceIdT id,
+@@ -2714,7 +2714,7 @@ static SaErrorT NewSimulatorGetFumiStatu
+ SaHpiResourceIdT,
+ SaHpiFumiNumT,
+ SaHpiBankNumT,
+- SaHpiFumiUpgradeStatusT *) __attribute__((used));
++ SaHpiFumiUpgradeStatusT *) __asm__("NewSimulatorGetFumiStatus") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetFumiStatus(void *hnd,
+ SaHpiResourceIdT id,
+@@ -2747,7 +2747,7 @@ static SaErrorT NewSimulatorGetFumiStatu
+ static SaErrorT NewSimulatorStartFumiVerification(void *,
+ SaHpiResourceIdT,
+ SaHpiFumiNumT,
+- SaHpiBankNumT) __attribute__((used));
++ SaHpiBankNumT) __asm__("NewSimulatorStartFumiVerification") __attribute__((used));
+
+ static SaErrorT NewSimulatorStartFumiVerification(void *hnd,
+ SaHpiResourceIdT id,
+@@ -2776,7 +2776,7 @@ static SaErrorT NewSimulatorStartFumiVer
+ **/
+ static SaErrorT NewSimulatorStartFumiVerificationMain(void *,
+ SaHpiResourceIdT,
+- SaHpiFumiNumT) __attribute__((used));
++ SaHpiFumiNumT) __asm__("NewSimulatorStartFumiVerificationMain") __attribute__((used));
+
+ static SaErrorT NewSimulatorStartFumiVerificationMain(void *hnd,
+ SaHpiResourceIdT id,
+@@ -2807,7 +2807,7 @@ static SaErrorT NewSimulatorStartFumiVer
+ static SaErrorT NewSimulatorCancelFumiUpgrade(void *,
+ SaHpiResourceIdT,
+ SaHpiFumiNumT,
+- SaHpiBankNumT) __attribute__((used));
++ SaHpiBankNumT) __asm__("NewSimulatorCancelFumiUpgrade") __attribute__((used));
+
+ static SaErrorT NewSimulatorCancelFumiUpgrade(void *hnd,
+ SaHpiResourceIdT id,
+@@ -2838,7 +2838,7 @@ static SaErrorT NewSimulatorCancelFumiUp
+ static SaErrorT NewSimulatorGetFumiRollback(void *,
+ SaHpiResourceIdT,
+ SaHpiFumiNumT,
+- SaHpiBoolT *) __attribute__((used));
++ SaHpiBoolT *) __asm__("NewSimulatorGetFumiRollback") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetFumiRollback(void *hnd,
+ SaHpiResourceIdT id,
+@@ -2870,7 +2870,7 @@ static SaErrorT NewSimulatorGetFumiRollb
+ static SaErrorT NewSimulatorSetFumiRollback(void *,
+ SaHpiResourceIdT,
+ SaHpiFumiNumT,
+- SaHpiBoolT) __attribute__((used));
++ SaHpiBoolT) __asm__("NewSimulatorSetFumiRollback") __attribute__((used));
+
+ static SaErrorT NewSimulatorSetFumiRollback(void *hnd,
+ SaHpiResourceIdT id,
+@@ -2900,7 +2900,7 @@ static SaErrorT NewSimulatorSetFumiRollb
+ **/
+ static SaErrorT NewSimulatorStartFumiRollback(void *,
+ SaHpiResourceIdT,
+- SaHpiFumiNumT) __attribute__((used));
++ SaHpiFumiNumT) __asm__("NewSimulatorStartFumiRollback") __attribute__((used));
+
+ static SaErrorT NewSimulatorStartFumiRollback(void *hnd,
+ SaHpiResourceIdT id,
+@@ -2929,7 +2929,7 @@ static SaErrorT NewSimulatorStartFumiRol
+ **/
+ static SaErrorT NewSimulatorActivateFumi(void *,
+ SaHpiResourceIdT,
+- SaHpiFumiNumT) __attribute__((used));
++ SaHpiFumiNumT) __asm__("NewSimulatorActivateFumi") __attribute__((used));
+
+ static SaErrorT NewSimulatorActivateFumi(void *hnd,
+ SaHpiResourceIdT id,
+@@ -2960,7 +2960,7 @@ static SaErrorT NewSimulatorActivateFumi
+ static SaErrorT NewSimulatorStartFumiActivation(void *,
+ SaHpiResourceIdT,
+ SaHpiFumiNumT,
+- SaHpiBoolT) __attribute__((used));
++ SaHpiBoolT) __asm__("NewSimulatorStartFumiActivation") __attribute__((used));
+
+ static SaErrorT NewSimulatorStartFumiActivation(void *hnd,
+ SaHpiResourceIdT id,
+@@ -2992,7 +2992,7 @@ static SaErrorT NewSimulatorStartFumiAct
+ static SaErrorT NewSimulatorCleanupFumi(void *,
+ SaHpiResourceIdT,
+ SaHpiFumiNumT,
+- SaHpiBankNumT) __attribute__((used));
++ SaHpiBankNumT) __asm__("NewSimulatorCleanupFumi") __attribute__((used));
+
+ static SaErrorT NewSimulatorCleanupFumi(void *hnd,
+ SaHpiResourceIdT id,
+@@ -3023,7 +3023,7 @@ static SaErrorT NewSimulatorCleanupFumi(
+ static SaErrorT NewSimulatorGetDimiInfo( void *,
+ SaHpiResourceIdT,
+ SaHpiDimiNumT,
+- SaHpiDimiInfoT *) __attribute__((used));
++ SaHpiDimiInfoT *) __asm__("NewSimulatorGetDimiInfo") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetDimiInfo( void *hnd,
+ SaHpiResourceIdT id,
+@@ -3057,7 +3057,7 @@ static SaErrorT NewSimulatorGetDimiTestI
+ SaHpiResourceIdT,
+ SaHpiDimiNumT,
+ SaHpiDimiTestNumT,
+- SaHpiDimiTestT *) __attribute__((used));
++ SaHpiDimiTestT *) __asm__("NewSimulatorGetDimiTestInfo") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetDimiTestInfo( void *hnd,
+ SaHpiResourceIdT id,
+@@ -3092,7 +3092,7 @@ static SaErrorT NewSimulatorGetDimiTestR
+ SaHpiResourceIdT,
+ SaHpiDimiNumT,
+ SaHpiDimiTestNumT,
+- SaHpiDimiReadyT *) __attribute__((used));
++ SaHpiDimiReadyT *) __asm__("NewSimulatorGetDimiTestReadiness") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetDimiTestReadiness( void *hnd,
+ SaHpiResourceIdT id,
+@@ -3129,7 +3129,7 @@ static SaErrorT NewSimulatorStartDimiTes
+ SaHpiDimiNumT,
+ SaHpiDimiTestNumT,
+ SaHpiUint8T,
+- SaHpiDimiTestVariableParamsT *) __attribute__((used));
++ SaHpiDimiTestVariableParamsT *) __asm__("NewSimulatorStartDimiTest") __attribute__((used));
+
+ static SaErrorT NewSimulatorStartDimiTest( void *hnd,
+ SaHpiResourceIdT id,
+@@ -3163,7 +3163,7 @@ static SaErrorT NewSimulatorStartDimiTes
+ static SaErrorT NewSimulatorCancelDimiTest( void *,
+ SaHpiResourceIdT,
+ SaHpiDimiNumT,
+- SaHpiDimiTestNumT) __attribute__((used));
++ SaHpiDimiTestNumT) __asm__("NewSimulatorCancelDimiTest") __attribute__((used));
+
+ static SaErrorT NewSimulatorCancelDimiTest( void *hnd,
+ SaHpiResourceIdT id,
+@@ -3199,7 +3199,7 @@ static SaErrorT NewSimulatorGetDimiTestS
+ SaHpiDimiNumT,
+ SaHpiDimiTestNumT,
+ SaHpiDimiTestPercentCompletedT *,
+- SaHpiDimiTestRunStatusT *) __attribute__((used));
++ SaHpiDimiTestRunStatusT *) __asm__("NewSimulatorGetDimiTestStatus") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetDimiTestStatus( void *hnd,
+ SaHpiResourceIdT id,
+@@ -3234,7 +3234,7 @@ static SaErrorT NewSimulatorGetDimiTestR
+ SaHpiResourceIdT,
+ SaHpiDimiNumT,
+ SaHpiDimiTestNumT,
+- SaHpiDimiTestResultsT *) __attribute__((used));
++ SaHpiDimiTestResultsT *) __asm__("NewSimulatorGetDimiTestResults") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetDimiTestResults( void *hnd,
+ SaHpiResourceIdT id,
+@@ -3263,7 +3263,7 @@ static SaErrorT NewSimulatorGetDimiTestR
+ * @return HPI error code
+ **/
+ static SaErrorT NewSimulatorSetAutoInsertTimeout( void *,
+- SaHpiTimeoutT ) __attribute__((used));
++ SaHpiTimeoutT ) __asm__("NewSimulatorSetAutoInsertTimeout") __attribute__((used));
+
+ static SaErrorT NewSimulatorSetAutoInsertTimeout( void *hnd, SaHpiTimeoutT timeout) {
+ NewSimulator *newsim = VerifyNewSimulator( hnd );
+@@ -3289,7 +3289,7 @@ static SaErrorT NewSimulatorSetAutoInser
+ * @return HPI error code
+ **/
+ static SaErrorT NewSimulatorGetAutoExtractTimeout( void *, SaHpiResourceIdT,
+- SaHpiTimeoutT * ) __attribute__((used));
++ SaHpiTimeoutT * ) __asm__("NewSimulatorGetAutoExtractTimeout") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetAutoExtractTimeout( void *hnd, SaHpiResourceIdT id,
+ SaHpiTimeoutT *timeout ) {
+@@ -3319,7 +3319,7 @@ static SaErrorT NewSimulatorGetAutoExtra
+ * @return HPI error code
+ **/
+ static SaErrorT NewSimulatorSetAutoExtractTimeout( void *, SaHpiResourceIdT,
+- SaHpiTimeoutT ) __attribute__((used));
++ SaHpiTimeoutT ) __asm__("NewSimulatorSetAutoExtractTimeout") __attribute__((used));
+
+ static SaErrorT NewSimulatorSetAutoExtractTimeout( void *hnd, SaHpiResourceIdT id,
+ SaHpiTimeoutT timeout ) {
+@@ -3350,7 +3350,7 @@ static SaErrorT NewSimulatorSetAutoExtra
+ * @return HPI error code
+ **/
+ static SaErrorT NewSimulatorGetPowerState( void *, SaHpiResourceIdT,
+- SaHpiPowerStateT * ) __attribute__((used));
++ SaHpiPowerStateT * ) __asm__("NewSimulatorGetPowerState") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetPowerState( void *hnd, SaHpiResourceIdT id,
+ SaHpiPowerStateT *state ) {
+@@ -3382,7 +3382,7 @@ static SaErrorT NewSimulatorGetPowerStat
+ * @return HPI error code
+ **/
+ static SaErrorT NewSimulatorSetPowerState( void *, SaHpiResourceIdT,
+- SaHpiPowerStateT ) __attribute__((used));
++ SaHpiPowerStateT ) __asm__("NewSimulatorSetPowerState") __attribute__((used));
+
+ static SaErrorT NewSimulatorSetPowerState( void *hnd, SaHpiResourceIdT id,
+ SaHpiPowerStateT state ) {
+@@ -3414,7 +3414,7 @@ static SaErrorT NewSimulatorSetPowerStat
+ * @return HPI error code
+ **/
+ static SaErrorT NewSimulatorGetIndicatorState( void *, SaHpiResourceIdT,
+- SaHpiHsIndicatorStateT * ) __attribute__((used));
++ SaHpiHsIndicatorStateT * ) __asm__("NewSimulatorGetIndicatorState") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetIndicatorState( void *hnd, SaHpiResourceIdT id,
+ SaHpiHsIndicatorStateT *state ) {
+@@ -3446,7 +3446,7 @@ static SaErrorT NewSimulatorGetIndicator
+ * @return HPI error code
+ **/
+ static SaErrorT NewSimulatorSetIndicatorState( void *, SaHpiResourceIdT,
+- SaHpiHsIndicatorStateT ) __attribute__((used));
++ SaHpiHsIndicatorStateT ) __asm__("NewSimulatorSetIndicatorState") __attribute__((used));
+
+ static SaErrorT NewSimulatorSetIndicatorState( void *hnd, SaHpiResourceIdT id,
+ SaHpiHsIndicatorStateT state ) {
+@@ -3479,7 +3479,7 @@ static SaErrorT NewSimulatorSetIndicator
+ **/
+ static SaErrorT NewSimulatorControlParm( void *,
+ SaHpiResourceIdT,
+- SaHpiParmActionT ) __attribute__((used));
++ SaHpiParmActionT ) __asm__("NewSimulatorControlParm") __attribute__((used));
+
+ static SaErrorT NewSimulatorControlParm( void *hnd,
+ SaHpiResourceIdT id,
+@@ -3512,7 +3512,7 @@ static SaErrorT NewSimulatorControlParm(
+ * @return HPI error code
+ **/
+ static SaErrorT NewSimulatorGetResetState( void *, SaHpiResourceIdT,
+- SaHpiResetActionT * ) __attribute__((used));
++ SaHpiResetActionT * ) __asm__("NewSimulatorGetResetState") __attribute__((used));
+
+ static SaErrorT NewSimulatorGetResetState( void *hnd, SaHpiResourceIdT id,
+ SaHpiResetActionT *act ) {
+@@ -3545,7 +3545,7 @@ static SaErrorT NewSimulatorGetResetStat
+ **/
+ static SaErrorT NewSimulatorSetResetState( void *,
+ SaHpiResourceIdT,
+- SaHpiResetActionT ) __attribute__((used));
++ SaHpiResetActionT ) __asm__("NewSimulatorSetResetState") __attribute__((used));
+
+ static SaErrorT NewSimulatorSetResetState( void *hnd,
+ SaHpiResourceIdT id,
+Index: openhpi-3.6.1/plugins/dynamic_simulator/new_sim_file.cpp
+===================================================================
+--- openhpi-3.6.1.orig/plugins/dynamic_simulator/new_sim_file.cpp
++++ openhpi-3.6.1/plugins/dynamic_simulator/new_sim_file.cpp
+@@ -44,9 +44,9 @@
+ ///< Global skip characters for oh_scanner_config
+ static gchar skip_characters[] = " \t\n";
+ ///< Global identifier_first for oh_scanner_config
+-static gchar identifier_first[] = G_CSET_a_2_z"_/."G_CSET_A_2_Z;
++static gchar identifier_first[] = G_CSET_a_2_z "_/." G_CSET_A_2_Z;
+ ///< Global identifier_nth for oh_scanner_config
+-static gchar identifier_nth[] = G_CSET_a_2_z"_-0123456789/."G_CSET_A_2_Z;
++static gchar identifier_nth[] = G_CSET_a_2_z "_-0123456789/." G_CSET_A_2_Z;
+ ///< Global comment signs for oh_scanner_config
+ static gchar comment_single[] = "#\n";
+
+Index: openhpi-3.6.1/plugins/ipmidirect/ipmi.cpp
+===================================================================
+--- openhpi-3.6.1.orig/plugins/ipmidirect/ipmi.cpp
++++ openhpi-3.6.1/plugins/ipmidirect/ipmi.cpp
+@@ -279,7 +279,7 @@ extern "C" {
+ // ABI Interface functions
+
+ static void *
+-IpmiOpen( GHashTable *, unsigned int, oh_evt_queue * ) __attribute__((used));
++IpmiOpen( GHashTable *, unsigned int, oh_evt_queue * ) __asm__("IpmiOpen") __attribute__((used));
+
+ static void *
+ IpmiOpen( GHashTable *handler_config, unsigned int hid, oh_evt_queue *eventq )
+@@ -388,7 +388,7 @@ IpmiOpen( GHashTable *handler_config, un
+
+
+ static void
+-IpmiClose( void * ) __attribute__((used));
++IpmiClose( void * ) __asm__("IpmiClose") __attribute__((used));
+
+ static void
+ IpmiClose( void *hnd )
+@@ -436,7 +436,7 @@ IpmiClose( void *hnd )
+
+
+ static SaErrorT
+-IpmiGetEvent( void * ) __attribute__((used));
++IpmiGetEvent( void * ) __asm__("IpmiGetEvent") __attribute__((used));
+
+ static SaErrorT
+ IpmiGetEvent( void *hnd )
+@@ -458,7 +458,7 @@ IpmiGetEvent( void *hnd )
+
+
+ static SaErrorT
+-IpmiDiscoverResources( void * ) __attribute__((used));
++IpmiDiscoverResources( void * ) __asm__("IpmiDiscoverResources") __attribute__((used));
+
+ static SaErrorT
+ IpmiDiscoverResources( void *hnd )
+@@ -479,7 +479,7 @@ IpmiDiscoverResources( void *hnd )
+
+
+ static SaErrorT
+-IpmiSetResourceTag( void *, SaHpiResourceIdT, SaHpiTextBufferT * ) __attribute__((used));
++IpmiSetResourceTag( void *, SaHpiResourceIdT, SaHpiTextBufferT * ) __asm__("IpmiSetResourceTag") __attribute__((used));
+
+ static SaErrorT
+ IpmiSetResourceTag( void *hnd, SaHpiResourceIdT id, SaHpiTextBufferT *tag )
+@@ -499,7 +499,7 @@ IpmiSetResourceTag( void *hnd, SaHpiReso
+
+
+ static SaErrorT
+-IpmiSetResourceSeverity( void *, SaHpiResourceIdT, SaHpiSeverityT ) __attribute__((used));
++IpmiSetResourceSeverity( void *, SaHpiResourceIdT, SaHpiSeverityT ) __asm__("IpmiSetResourceSeverity") __attribute__((used));
+
+ static SaErrorT
+ IpmiSetResourceSeverity( void *hnd, SaHpiResourceIdT id, SaHpiSeverityT sev )
+@@ -523,7 +523,7 @@ IpmiGetSensorReading( void *,
+ SaHpiResourceIdT id,
+ SaHpiSensorNumT num,
+ SaHpiSensorReadingT *data,
+- SaHpiEventStateT *state ) __attribute__((used));
++ SaHpiEventStateT *state ) __asm__("IpmiGetSensorReading") __attribute__((used));
+
+ static SaErrorT
+ IpmiGetSensorReading( void *hnd,
+@@ -550,7 +550,7 @@ static SaErrorT
+ IpmiGetSensorThresholds( void *hnd,
+ SaHpiResourceIdT,
+ SaHpiSensorNumT,
+- SaHpiSensorThresholdsT * ) __attribute__((used));
++ SaHpiSensorThresholdsT * ) __asm__("IpmiGetSensorThresholds") __attribute__((used));
+
+ static SaErrorT
+ IpmiGetSensorThresholds( void *hnd,
+@@ -581,7 +581,7 @@ static SaErrorT
+ IpmiSetSensorThresholds( void *,
+ SaHpiResourceIdT,
+ SaHpiSensorNumT,
+- const SaHpiSensorThresholdsT * ) __attribute__((used));
++ const SaHpiSensorThresholdsT * ) __asm__("IpmiSetSensorThresholds") __attribute__((used));
+
+ static SaErrorT
+ IpmiSetSensorThresholds( void *hnd,
+@@ -612,7 +612,7 @@ static SaErrorT
+ IpmiGetSensorEnable( void *,
+ SaHpiResourceIdT,
+ SaHpiSensorNumT,
+- SaHpiBoolT * ) __attribute__((used));
++ SaHpiBoolT * ) __asm__("IpmiGetSensorEnable") __attribute__((used));
+
+ static SaErrorT
+ IpmiGetSensorEnable( void *hnd,
+@@ -638,7 +638,7 @@ static SaErrorT
+ IpmiSetSensorEnable( void *,
+ SaHpiResourceIdT,
+ SaHpiSensorNumT,
+- SaHpiBoolT ) __attribute__((used));
++ SaHpiBoolT ) __asm__("IpmiSetSensorEnable") __attribute__((used));
+
+ static SaErrorT
+ IpmiSetSensorEnable( void *hnd,
+@@ -664,7 +664,7 @@ static SaErrorT
+ IpmiGetSensorEventEnables( void *,
+ SaHpiResourceIdT,
+ SaHpiSensorNumT,
+- SaHpiBoolT * ) __attribute__((used));
++ SaHpiBoolT * ) __asm__("IpmiGetSensorEventEnables") __attribute__((used));
+
+ static SaErrorT
+ IpmiGetSensorEventEnables( void *hnd,
+@@ -690,7 +690,7 @@ static SaErrorT
+ IpmiSetSensorEventEnables( void *,
+ SaHpiResourceIdT,
+ SaHpiSensorNumT,
+- SaHpiBoolT ) __attribute__((used));
++ SaHpiBoolT ) __asm__("IpmiSetSensorEventEnables") __attribute__((used));
+
+ static SaErrorT
+ IpmiSetSensorEventEnables( void *hnd,
+@@ -717,7 +717,7 @@ IpmiGetSensorEventMasks( void *,
+ SaHpiResourceIdT,
+ SaHpiSensorNumT,
+ SaHpiEventStateT *,
+- SaHpiEventStateT * ) __attribute__((used));
++ SaHpiEventStateT * ) __asm__("IpmiGetSensorEventMasks") __attribute__((used));
+
+ static SaErrorT
+ IpmiGetSensorEventMasks( void *hnd,
+@@ -747,7 +747,7 @@ IpmiSetSensorEventMasks( void *,
+ SaHpiSensorNumT,
+ SaHpiSensorEventMaskActionT,
+ SaHpiEventStateT,
+- SaHpiEventStateT ) __attribute__((used));
++ SaHpiEventStateT ) __asm__("IpmiSetSensorEventMasks") __attribute__((used));
+
+ static SaErrorT
+ IpmiSetSensorEventMasks( void *hnd,
+@@ -776,7 +776,7 @@ static SaErrorT
+ IpmiGetControlState( void *, SaHpiResourceIdT,
+ SaHpiCtrlNumT,
+ SaHpiCtrlModeT *,
+- SaHpiCtrlStateT * ) __attribute__((used));
++ SaHpiCtrlStateT * ) __asm__("IpmiGetControlState") __attribute__((used));
+
+ static SaErrorT
+ IpmiGetControlState( void *hnd, SaHpiResourceIdT id,
+@@ -802,7 +802,7 @@ static SaErrorT
+ IpmiSetControlState( void *, SaHpiResourceIdT,
+ SaHpiCtrlNumT,
+ SaHpiCtrlModeT,
+- SaHpiCtrlStateT * ) __attribute__((used));
++ SaHpiCtrlStateT * ) __asm__("IpmiSetControlState") __attribute__((used));
+
+ static SaErrorT
+ IpmiSetControlState( void *hnd, SaHpiResourceIdT id,
+@@ -828,7 +828,7 @@ static SaErrorT
+ IpmiGetIdrInfo( void *,
+ SaHpiResourceIdT,
+ SaHpiIdrIdT,
+- SaHpiIdrInfoT * ) __attribute__((used));
++ SaHpiIdrInfoT * ) __asm__("IpmiGetIdrInfo") __attribute__((used));
+
+ static SaErrorT
+ IpmiGetIdrInfo( void *hnd,
+@@ -857,7 +857,7 @@ IpmiGetIdrAreaHeader( void *,
+ SaHpiIdrAreaTypeT,
+ SaHpiEntryIdT,
+ SaHpiEntryIdT *,
+- SaHpiIdrAreaHeaderT * ) __attribute__((used));
++ SaHpiIdrAreaHeaderT * ) __asm__("IpmiGetIdrAreaHeader") __attribute__((used));
+
+ static SaErrorT
+ IpmiGetIdrAreaHeader( void *hnd,
+@@ -887,7 +887,7 @@ IpmiAddIdrArea( void *,
+ SaHpiResourceIdT,
+ SaHpiIdrIdT,
+ SaHpiIdrAreaTypeT,
+- SaHpiEntryIdT * ) __attribute__((used));
++ SaHpiEntryIdT * ) __asm__("IpmiAddIdrArea") __attribute__((used));
+
+ static SaErrorT
+ IpmiAddIdrArea( void *hnd,
+@@ -914,7 +914,7 @@ static SaErrorT
+ IpmiDelIdrArea( void *,
+ SaHpiResourceIdT,
+ SaHpiIdrIdT,
+- SaHpiEntryIdT ) __attribute__((used));
++ SaHpiEntryIdT ) __asm__("IpmiDelIdrArea") __attribute__((used));
+
+ static SaErrorT
+ IpmiDelIdrArea( void *hnd,
+@@ -944,7 +944,7 @@ IpmiGetIdrField( void *,
+ SaHpiIdrFieldTypeT,
+ SaHpiEntryIdT,
+ SaHpiEntryIdT *,
+- SaHpiIdrFieldT * ) __attribute__((used));
++ SaHpiIdrFieldT * ) __asm__("IpmiGetIdrField") __attribute__((used));
+
+ static SaErrorT
+ IpmiGetIdrField( void *hnd,
+@@ -974,7 +974,7 @@ static SaErrorT
+ IpmiAddIdrField( void *,
+ SaHpiResourceIdT,
+ SaHpiIdrIdT,
+- SaHpiIdrFieldT * ) __attribute__((used));
++ SaHpiIdrFieldT * ) __asm__("IpmiAddIdrField") __attribute__((used));
+
+ static SaErrorT
+ IpmiAddIdrField( void *hnd,
+@@ -1000,7 +1000,7 @@ static SaErrorT
+ IpmiSetIdrField( void *,
+ SaHpiResourceIdT,
+ SaHpiIdrIdT,
+- SaHpiIdrFieldT * ) __attribute__((used));
++ SaHpiIdrFieldT * ) __asm__("IpmiSetIdrField") __attribute__((used));
+
+ static SaErrorT
+ IpmiSetIdrField( void *hnd,
+@@ -1027,7 +1027,7 @@ IpmiDelIdrField( void *,
+ SaHpiResourceIdT,
+ SaHpiIdrIdT,
+ SaHpiEntryIdT,
+- SaHpiEntryIdT ) __attribute__((used));
++ SaHpiEntryIdT ) __asm__("IpmiDelIdrField") __attribute__((used));
+
+ static SaErrorT
+ IpmiDelIdrField( void *hnd,
+@@ -1053,7 +1053,7 @@ IpmiDelIdrField( void *hnd,
+ static SaErrorT
+ IpmiGetSelInfo( void *,
+ SaHpiResourceIdT,
+- SaHpiEventLogInfoT * ) __attribute__((used));
++ SaHpiEventLogInfoT * ) __asm__("IpmiGetSelInfo") __attribute__((used));
+
+ static SaErrorT
+ IpmiGetSelInfo( void *hnd,
+@@ -1075,7 +1075,7 @@ IpmiGetSelInfo( void *hnd,
+
+
+ static SaErrorT
+-IpmiSetSelTime( void *, SaHpiResourceIdT, SaHpiTimeT ) __attribute__((used));
++IpmiSetSelTime( void *, SaHpiResourceIdT, SaHpiTimeT ) __asm__("IpmiSetSelTime") __attribute__((used));
+
+ static SaErrorT
+ IpmiSetSelTime( void *hnd, SaHpiResourceIdT id, SaHpiTimeT t )
+@@ -1096,7 +1096,7 @@ IpmiSetSelTime( void *hnd, SaHpiResource
+
+ static SaErrorT
+ IpmiAddSelEntry( void *, SaHpiResourceIdT,
+- const SaHpiEventT * ) __attribute__((used));
++ const SaHpiEventT * ) __asm__("IpmiAddSelEntry") __attribute__((used));
+
+ static SaErrorT
+ IpmiAddSelEntry( void *hnd, SaHpiResourceIdT id,
+@@ -1118,7 +1118,7 @@ IpmiAddSelEntry( void *hnd, SaHpiResourc
+ #ifdef NOTUSED
+ static SaErrorT
+ IpmiDelSelEntry( void *, SaHpiResourceIdT,
+- SaHpiEventLogEntryIdT ) __attribute__((used));
++ SaHpiEventLogEntryIdT ) __asm__("IpmiDelSelEntry") __attribute__((used));
+
+ static SaErrorT
+ IpmiDelSelEntry( void *hnd, SaHpiResourceIdT id,
+@@ -1145,7 +1145,7 @@ IpmiGetSelEntry( void *hnd, SaHpiResourc
+ SaHpiEventLogEntryIdT *, SaHpiEventLogEntryIdT *,
+ SaHpiEventLogEntryT *,
+ SaHpiRdrT *,
+- SaHpiRptEntryT * ) __attribute__((used));
++ SaHpiRptEntryT * ) __asm__("IpmiGetSelEntry") __attribute__((used));
+
+ static SaErrorT
+ IpmiGetSelEntry( void *hnd, SaHpiResourceIdT id,
+@@ -1170,7 +1170,7 @@ IpmiGetSelEntry( void *hnd, SaHpiResourc
+
+
+ static SaErrorT
+-IpmiClearSel( void *, SaHpiResourceIdT ) __attribute__((used));
++IpmiClearSel( void *, SaHpiResourceIdT ) __asm__("IpmiClearSel") __attribute__((used));
+
+ static SaErrorT
+ IpmiClearSel( void *hnd, SaHpiResourceIdT id )
+@@ -1190,7 +1190,7 @@ IpmiClearSel( void *hnd, SaHpiResourceId
+
+ static SaErrorT
+ IpmiHotswapPolicyCancel( void *, SaHpiResourceIdT,
+- SaHpiTimeoutT ) __attribute__((used));
++ SaHpiTimeoutT ) __asm__("IpmiHotswapPolicyCancel") __attribute__((used));
+
+ static SaErrorT
+ IpmiHotswapPolicyCancel( void *hnd, SaHpiResourceIdT id,
+@@ -1210,7 +1210,7 @@ IpmiHotswapPolicyCancel( void *hnd, SaHp
+ }
+
+ static SaErrorT
+-IpmiSetAutoInsertTimeout( void *, SaHpiTimeoutT ) __attribute__((used));
++IpmiSetAutoInsertTimeout( void *, SaHpiTimeoutT ) __asm__("IpmiSetAutoInsertTimeout") __attribute__((used));
+
+ static SaErrorT
+ IpmiSetAutoInsertTimeout( void *hnd, SaHpiTimeoutT timeout)
+@@ -1229,7 +1229,7 @@ IpmiSetAutoInsertTimeout( void *hnd, SaH
+
+ static SaErrorT
+ IpmiGetAutoExtractTimeout( void *, SaHpiResourceIdT,
+- SaHpiTimeoutT * ) __attribute__((used));
++ SaHpiTimeoutT * ) __asm__("IpmiGetAutoExtractTimeout") __attribute__((used));
+
+ static SaErrorT
+ IpmiGetAutoExtractTimeout( void *hnd, SaHpiResourceIdT id,
+@@ -1250,7 +1250,7 @@ IpmiGetAutoExtractTimeout( void *hnd, Sa
+
+ static SaErrorT
+ IpmiSetAutoExtractTimeout( void *, SaHpiResourceIdT,
+- SaHpiTimeoutT ) __attribute__((used));
++ SaHpiTimeoutT ) __asm__("IpmiSetAutoExtractTimeout") __attribute__((used));
+
+ static SaErrorT
+ IpmiSetAutoExtractTimeout( void *hnd, SaHpiResourceIdT id,
+@@ -1271,7 +1271,7 @@ IpmiSetAutoExtractTimeout( void *hnd, Sa
+
+ static SaErrorT
+ IpmiGetHotswapState( void *, SaHpiResourceIdT ,
+- SaHpiHsStateT * ) __attribute__((used));
++ SaHpiHsStateT * ) __asm__("IpmiGetHotswapState") __attribute__((used));
+
+ static SaErrorT
+ IpmiGetHotswapState( void *hnd, SaHpiResourceIdT id,
+@@ -1293,7 +1293,7 @@ IpmiGetHotswapState( void *hnd, SaHpiRes
+
+ static SaErrorT
+ IpmiSetHotswapState( void *, SaHpiResourceIdT,
+- SaHpiHsStateT ) __attribute__((used));
++ SaHpiHsStateT ) __asm__("IpmiSetHotswapState") __attribute__((used));
+
+ static SaErrorT
+ IpmiSetHotswapState( void *hnd, SaHpiResourceIdT id,
+@@ -1315,7 +1315,7 @@ IpmiSetHotswapState( void *hnd, SaHpiRes
+
+ static SaErrorT
+ IpmiRequestHotswapAction( void *, SaHpiResourceIdT,
+- SaHpiHsActionT ) __attribute__((used));
++ SaHpiHsActionT ) __asm__("IpmiRequestHotswapAction") __attribute__((used));
+
+ static SaErrorT
+ IpmiRequestHotswapAction( void *hnd, SaHpiResourceIdT id,
+@@ -1337,7 +1337,7 @@ IpmiRequestHotswapAction( void *hnd, SaH
+
+ static SaErrorT
+ IpmiGetPowerState( void *, SaHpiResourceIdT,
+- SaHpiPowerStateT * ) __attribute__((used));
++ SaHpiPowerStateT * ) __asm__("IpmiGetPowerState") __attribute__((used));
+
+ static SaErrorT
+ IpmiGetPowerState( void *hnd, SaHpiResourceIdT id,
+@@ -1359,7 +1359,7 @@ IpmiGetPowerState( void *hnd, SaHpiResou
+
+ static SaErrorT
+ IpmiSetPowerState( void *, SaHpiResourceIdT,
+- SaHpiPowerStateT ) __attribute__((used));
++ SaHpiPowerStateT ) __asm__("IpmiSetPowerState") __attribute__((used));
+
+ static SaErrorT
+ IpmiSetPowerState( void *hnd, SaHpiResourceIdT id,
+@@ -1381,7 +1381,7 @@ IpmiSetPowerState( void *hnd, SaHpiResou
+
+ static SaErrorT
+ IpmiGetIndicatorState( void *, SaHpiResourceIdT,
+- SaHpiHsIndicatorStateT * ) __attribute__((used));
++ SaHpiHsIndicatorStateT * ) __asm__("IpmiGetIndicatorState") __attribute__((used));
+
+ static SaErrorT
+ IpmiGetIndicatorState( void *hnd, SaHpiResourceIdT id,
+@@ -1403,7 +1403,7 @@ IpmiGetIndicatorState( void *hnd, SaHpiR
+
+ static SaErrorT
+ IpmiSetIndicatorState( void *, SaHpiResourceIdT,
+- SaHpiHsIndicatorStateT ) __attribute__((used));
++ SaHpiHsIndicatorStateT ) __asm__("IpmiSetIndicatorState") __attribute__((used));
+
+ static SaErrorT
+ IpmiSetIndicatorState( void *hnd, SaHpiResourceIdT id,
+@@ -1426,7 +1426,7 @@ IpmiSetIndicatorState( void *hnd, SaHpiR
+ static SaErrorT
+ IpmiControlParm( void *,
+ SaHpiResourceIdT,
+- SaHpiParmActionT ) __attribute__((used));
++ SaHpiParmActionT ) __asm__("IpmiControlParm") __attribute__((used));
+
+ static SaErrorT
+ IpmiControlParm( void *hnd,
+@@ -1449,7 +1449,7 @@ IpmiControlParm( void *hnd,
+
+ static SaErrorT
+ IpmiGetResetState( void *, SaHpiResourceIdT,
+- SaHpiResetActionT * ) __attribute__((used));
++ SaHpiResetActionT * ) __asm__("IpmiGetResetState") __attribute__((used));
+
+ static SaErrorT
+ IpmiGetResetState( void *hnd, SaHpiResourceIdT id,
+@@ -1472,7 +1472,7 @@ IpmiGetResetState( void *hnd, SaHpiResou
+ static SaErrorT
+ IpmiSetResetState( void *,
+ SaHpiResourceIdT,
+- SaHpiResetActionT ) __attribute__((used));
++ SaHpiResetActionT ) __asm__("IpmiSetResetState") __attribute__((used));
+
+ static SaErrorT
+ IpmiSetResetState( void *hnd,
+@@ -1496,7 +1496,7 @@ static SaErrorT
+ IpmiGetWatchdogInfo(void *,
+ SaHpiResourceIdT,
+ SaHpiWatchdogNumT,
+- SaHpiWatchdogT *) __attribute__((used));
++ SaHpiWatchdogT *) __asm__("IpmiGetWatchdogInfo") __attribute__((used));
+
+ static SaErrorT
+ IpmiGetWatchdogInfo(void *hnd,
+@@ -1517,7 +1517,7 @@ static SaErrorT
+ IpmiSetWatchdogInfo(void *,
+ SaHpiResourceIdT,
+ SaHpiWatchdogNumT,
+- SaHpiWatchdogT *) __attribute__((used));
++ SaHpiWatchdogT *) __asm__("IpmiSetWatchdogInfo") __attribute__((used));
+
+ static SaErrorT
+ IpmiSetWatchdogInfo(void *hnd,
+@@ -1537,7 +1537,7 @@ IpmiSetWatchdogInfo(void *hnd,
+ static SaErrorT
+ IpmiResetWatchdog(void *,
+ SaHpiResourceIdT,
+- SaHpiWatchdogNumT) __attribute__((used));
++ SaHpiWatchdogNumT) __asm__("IpmiResetWatchdog") __attribute__((used));
+
+ static SaErrorT
+ IpmiResetWatchdog(void *hnd,
+Index: openhpi-3.6.1/plugins/ipmidirect/ipmi_auth.h
+===================================================================
+--- openhpi-3.6.1.orig/plugins/ipmidirect/ipmi_auth.h
++++ openhpi-3.6.1/plugins/ipmidirect/ipmi_auth.h
+@@ -32,7 +32,7 @@ class cIpmiAuthSg
+ {
+ public:
+ void *data; /* NULL to terminate. */
+- int len;
++ unsigned int len;
+ };
+
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/fix-narrowing-warning.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/fix-narrowing-warning.patch
new file mode 100644
index 000000000..4c545708f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/fix-narrowing-warning.patch
@@ -0,0 +1,20 @@
+Fix
+
+sensor_factors_000.cpp:66:5: error: non-constant-expression cannot be narrowed from type 'int' to 'unsigned char' in initializer list [-Wc++11-narrowing]
+((dRExp << 4) & 0xf0) | (dBExp & 0x0f ), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: openhpi-3.6.1/plugins/ipmidirect/t/sensor_factors_000.cpp
+===================================================================
+--- openhpi-3.6.1.orig/plugins/ipmidirect/t/sensor_factors_000.cpp
++++ openhpi-3.6.1/plugins/ipmidirect/t/sensor_factors_000.cpp
+@@ -63,7 +63,7 @@ static cIpmiSdr sdr =
+ dB & 0xff,
+ ((dB >> 2) & 0xc0) | (dAccuracy & 0x3f),
+ ((dAccuracy >> 2) & 0xf0) | ((dAccuracyExp << 2) & 0x0c),
+- ((dRExp << 4) & 0xf0) | (dBExp & 0x0f ),
++ (unsigned char)(((dRExp << 4) & 0xf0) | (dBExp & 0x0f )),
+ 0,
+ 0,
+ }
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/openhpi_3.6.1.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/openhpi_3.6.1.bb
index b9b0437b2..ecf71d70f 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/openhpi_3.6.1.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/openhpi_3.6.1.bb
@@ -20,9 +20,12 @@ SECTION = "net"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=e3c772a32386888ccb5ae1c0ba95f1a4"
-DEPENDS = "net-snmp libxml2 ncurses openssl glib-2.0 popt e2fsprogs"
+DEPENDS = "net-snmp libxml2 ncurses openssl glib-2.0 popt e2fsprogs autoconf-archive-native"
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \
+ file://openhpi.init \
+ file://openhpid.service \
+ file://run-ptest \
file://openhpi-netsnmp-cross-compile.patch \
file://openhpi-sysfs-cross-compile.patch \
file://openhpi-libxml2-cross-compile.patch \
@@ -35,11 +38,13 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \
file://openhpi-invalide-session.patch \
file://openhpi-use-serial-tests-config-needed-by-ptest.patch \
file://openhpi-fix-alignment-issue.patch \
- \
- file://openhpi.init \
- file://openhpid.service \
- file://run-ptest \
-"
+ file://0001-Fix-build-failures-with-gcc7.patch \
+ file://c++11.patch \
+ file://clang-c++11.patch \
+ file://fix-narrowing-warning.patch \
+ file://0001-plugins-Check-for-PTHREAD_RECURSIVE_MUTEX_INITIALIZE.patch \
+ file://0001-ipmidirect-Replace-__STRING.patch \
+ "
SRC_URI[md5sum] = "4718b16e0f749b5ad214a9b04f45dd23"
SRC_URI[sha256sum] = "e0a810cb401c4bdcfc9551f2e6afd5a8ca4b411f5ee3bc60c19f82fd6e84a3dc"
@@ -53,9 +58,10 @@ FILES_${PN}-libs = "${libdir}/${BPN}/*.so /usr/lib/${BPN}/*.so"
INSANE_SKIP_${PN}-libs = "dev-so"
RDEPENDS_${PN} += "${PN}-libs"
-PACKAGECONFIG ??= "libgcrypt"
+PACKAGECONFIG ??= "libgcrypt non32bit"
PACKAGECONFIG[sysfs] = "--enable-sysfs,--disable-sysfs,sysfsutils,"
PACKAGECONFIG[libgcrypt] = "--enable-encryption,--disable-encryption,libgcrypt,"
+PACKAGECONFIG[non32bit] = "--enable-non32bit-int,--disable-non32bit-int,,"
do_install_append () {
install -m 0755 -d ${D}${sysconfdir}/${BPN}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Remove-unused-variables.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Remove-unused-variables.patch
deleted file mode 100644
index 1c88b81cd..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Remove-unused-variables.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From a441a75fbb8451268a8a57616c7158cddc1823aa Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 22 Apr 2017 12:40:19 -0700
-Subject: [PATCH] Remove unused variables
-
-Fixes build errors with gcc7 e.g.
-
-../opensaf-5.2.0/src/amf/amfd/imm.cc: In member function 'bool ImmObjCreate::immobj_update_required()':
-../opensaf-5.2.0/src/amf/amfd/imm.cc:2174:28: error: unused variable 'pos' [-Werror=unused-variable]
- std::string::size_type pos;
- ^~~
-../opensaf-5.2.0/src/amf/amfd/imm.cc:2215:28: error: unused variable 'pos' [-Werror=unused-variable]
- std::string::size_type pos;
- ^~~
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/amf/amfd/imm.cc | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/src/amf/amfd/imm.cc b/src/amf/amfd/imm.cc
-index 7932364..4f47b65 100644
---- a/src/amf/amfd/imm.cc
-+++ b/src/amf/amfd/imm.cc
-@@ -2171,7 +2171,6 @@ bool ImmObjCreate::immobj_update_required() {
- if (class_type == AVSV_SA_AMF_SI_ASSIGNMENT) {
- std::string su_name;
- std::string sisu_name;
-- std::string::size_type pos;
- while ((attribute = attrValues_[i++]) != nullptr) {
- if (!strcmp(attribute->attrName, "safSISU")) {
- sisu_name = Amf::to_string(
-@@ -2212,7 +2211,6 @@ bool ImmObjCreate::immobj_update_required() {
- } else if (class_type == AVSV_SA_AMF_CSI_ASSIGNMENT) {
- std::string comp_name;
- std::string csicomp_name;
-- std::string::size_type pos;
- AVD_CSI *csi = nullptr;
- AVD_COMP *comp = nullptr;
- AVD_COMP_CSI_REL *compcsi = nullptr;
---
-2.12.2
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-immpbe_dump.cc-Use-sys-wait.h-instead-of-wait.h.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-immpbe_dump.cc-Use-sys-wait.h-instead-of-wait.h.patch
new file mode 100644
index 000000000..76c47c658
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-immpbe_dump.cc-Use-sys-wait.h-instead-of-wait.h.patch
@@ -0,0 +1,34 @@
+From 508ea7c0d67243feb1684eaa83569cb687561d64 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 15 Sep 2017 10:09:03 -0700
+Subject: [PATCH] immpbe_dump.cc: Use sys/wait.h instead of wait.h
+
+Fixes
+redirecting incorrect #include <wait.h> to <sys/wait.h>
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/imm/common/immpbe_dump.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/imm/common/immpbe_dump.cc b/src/imm/common/immpbe_dump.cc
+index 100222f37..33e47ce3c 100644
+--- a/src/imm/common/immpbe_dump.cc
++++ b/src/imm/common/immpbe_dump.cc
+@@ -26,12 +26,12 @@
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <time.h>
+-#include <wait.h>
+ #include <unistd.h>
+ #include <iostream>
+ #include <sstream>
+ #include <stdint.h>
+ #include <sys/stat.h>
++#include <sys/wait.h>
+ #include <libgen.h>
+
+ #include <saAis.h>
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-src-Add-missing-header-limits.h-for-_POSIX_HOST_NAME.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-src-Add-missing-header-limits.h-for-_POSIX_HOST_NAME.patch
new file mode 100644
index 000000000..4a2a825f9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-src-Add-missing-header-limits.h-for-_POSIX_HOST_NAME.patch
@@ -0,0 +1,122 @@
+From 6442b57a855e273aa5a3d93e8596783cea128073 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 15 Sep 2017 09:39:40 -0700
+Subject: [PATCH] src: Add missing header limits.h for _POSIX_HOST_NAME_MAX
+
+Use _GNU_SOURCE instead of libc internal __USE_GNU
+Do not use the deprecated headers under include/sys
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/base/os_defs.h | 5 +++--
+ src/mds/mds_dt_tcp.c | 1 -
+ src/mds/mds_dt_tcp_disc.h | 2 +-
+ src/mds/mds_dt_tipc.c | 1 -
+ src/mds/mds_dt_tipc.h | 2 +-
+ src/mds/mds_dt_trans.c | 1 -
+ src/ntf/ntfd/NtfLogger.cc | 2 +-
+ 7 files changed, 6 insertions(+), 8 deletions(-)
+
+diff --git a/src/base/os_defs.h b/src/base/os_defs.h
+index 50a9bf5fc..af6842863 100644
+--- a/src/base/os_defs.h
++++ b/src/base/os_defs.h
+@@ -47,17 +47,18 @@
+ #include <sys/stat.h>
+ #include <sys/msg.h> /* Added for message-queues : PM : 28/10/03 */
+ #include <syslog.h>
+-#ifndef __USE_GNU
++#include <limits.h>
++#ifndef _GNU_SOURCE
+ struct msgbuf {
+ long int mtype;
+ char mtext[1];
+ };
+ #endif /* else defined in <sys/msg.h> */
+ #include <sys/time.h>
+-#include <sys/fcntl.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+
++#include <fcntl.h>
+ #include <signal.h>
+ #include <pthread.h>
+
+diff --git a/src/mds/mds_dt_tcp.c b/src/mds/mds_dt_tcp.c
+index 1407eb1ab..a87c22faa 100644
+--- a/src/mds/mds_dt_tcp.c
++++ b/src/mds/mds_dt_tcp.c
+@@ -27,7 +27,6 @@
+
+ #include <stdlib.h>
+ #include <sched.h>
+-#include <sys/poll.h>
+ #include <poll.h>
+ #include <sys/types.h>
+ #include <unistd.h>
+diff --git a/src/mds/mds_dt_tcp_disc.h b/src/mds/mds_dt_tcp_disc.h
+index a6249d73e..574f52681 100644
+--- a/src/mds/mds_dt_tcp_disc.h
++++ b/src/mds/mds_dt_tcp_disc.h
+@@ -24,7 +24,7 @@
+ #include "base/ncssysf_tsk.h"
+ #include "base/ncssysf_mem.h"
+ #include "mds_dt_tcp_disc.h"
+-#include "sys/poll.h"
++#include <poll.h>
+
+ /* mds_indentifire + mds_version + msg_type + scope_type + server_type +
+ server_instance_lower + server_instance_upper + sub_ref_val + sub_ref_val +
+diff --git a/src/mds/mds_dt_tipc.c b/src/mds/mds_dt_tipc.c
+index 37745e7f0..9b3255567 100644
+--- a/src/mds/mds_dt_tipc.c
++++ b/src/mds/mds_dt_tipc.c
+@@ -35,7 +35,6 @@
+ #include <stdbool.h>
+ #include <stdlib.h>
+ #include <sched.h>
+-#include <sys/poll.h>
+ #include <poll.h>
+ #include <sys/types.h>
+ #include <unistd.h>
+diff --git a/src/mds/mds_dt_tipc.h b/src/mds/mds_dt_tipc.h
+index e73a11b09..401d208c2 100644
+--- a/src/mds/mds_dt_tipc.h
++++ b/src/mds/mds_dt_tipc.h
+@@ -32,7 +32,7 @@
+ #include <assert.h>
+ #include <string.h>
+ #include <sys/param.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <netdb.h>
+ #include <errno.h>
+ #include <fcntl.h>
+diff --git a/src/mds/mds_dt_trans.c b/src/mds/mds_dt_trans.c
+index 6f621e04e..5aacbd33e 100644
+--- a/src/mds/mds_dt_trans.c
++++ b/src/mds/mds_dt_trans.c
+@@ -26,7 +26,6 @@
+ #include "mds_core.h"
+ #include "base/osaf_utility.h"
+
+-#include <sys/poll.h>
+ #include <poll.h>
+
+ #define MDS_PROT_TCP 0xA0
+diff --git a/src/ntf/ntfd/NtfLogger.cc b/src/ntf/ntfd/NtfLogger.cc
+index 84014b578..31b1ccc6c 100644
+--- a/src/ntf/ntfd/NtfLogger.cc
++++ b/src/ntf/ntfd/NtfLogger.cc
+@@ -20,7 +20,7 @@
+ * INCLUDE FILES
+ * ========================================================================
+ */
+-#include <sys/poll.h>
++#include <poll.h>
+
+ #include "base/osaf_utility.h"
+ #include <saAis.h>
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.17.07.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.17.07.bb
new file mode 100644
index 000000000..74483d778
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.17.07.bb
@@ -0,0 +1,67 @@
+SUMMARY = "OpenSAF is an open source implementation of the SAF AIS specification"
+DESCRIPTION = "OpenSAF is an open source project established to develop a base platform \
+middleware consistent with Service Availability Forum (SA Forum) \
+specifications, under the LGPLv2.1 license. The OpenSAF Foundation was \
+established by leading Communications and Enterprise Computing Companies to \
+facilitate the OpenSAF Project and to accelerate the adoption of the OpenSAF \
+code base in commercial products. \
+The OpenSAF project was launched in mid 2007 and has been under development by \
+an informal group of supporters of the OpenSAF initiative. The OpenSAF \
+Foundation was founded on January 22nd 2008 with Emerson Network Power, \
+Ericsson, Nokia Siemens Networks, HP and Sun Microsystems as founding members."
+HOMEPAGE = "http://www.opensaf.org"
+SECTION = "admin"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7"
+
+DEPENDS = "libxml2 python"
+TOOLCHAIN = "gcc"
+
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/releases/${BPN}-${PV}.tar.gz \
+ file://0001-configure-Pass-linker-specific-options-with-Wl.patch \
+ file://0001-configure-Disable-format-overflow-if-supported-by-gc.patch \
+ file://0001-src-Add-missing-header-limits.h-for-_POSIX_HOST_NAME.patch \
+ file://0001-immpbe_dump.cc-Use-sys-wait.h-instead-of-wait.h.patch \
+"
+SRC_URI[md5sum] = "125bcd9aabd7412aedcbfbf73f4e6196"
+SRC_URI[sha256sum] = "3fb2239bb2c9328c8b45368ff8d8de979ea286a27edc9871d218200e88bb91cc"
+
+inherit autotools useradd systemd pkgconfig
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "-f -r opensaf"
+USERADD_PARAM_${PN} = "-r -g opensaf -d ${datadir}/opensaf/ -s ${sbindir}/nologin -c \"OpenSAF\" opensaf"
+
+SYSTEMD_SERVICE_${PN} += "opensafd.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+PACKAGECONFIG[systemd] = ",,systemd"
+PACKAGECONFIG[openhpi] = "--with-hpi-interface=B03 --enable-ais-plm,,openhpi"
+
+PACKAGECONFIG_append = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd', '', d)}"
+
+PKGLIBDIR="${libdir}"
+
+LDFLAGS += "-Wl,--as-needed -latomic -Wl,--no-as-needed"
+
+do_install_append() {
+ cp -av --no-preserve=ownership ${B}/lib/.libs/*.so* ${D}${libdir}
+ rm -fr "${D}${localstatedir}/lock"
+ rm -fr "${D}${localstatedir}/run"
+ rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
+ rmdir --ignore-fail-on-non-empty "${D}${datadir}/java"
+ if [ ! -d "${D}${sysconfdir}/init.d" ]; then
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${B}/osaf/services/infrastructure/nid/scripts/opensafd ${D}${sysconfdir}/init.d/
+ fi
+}
+
+FILES_${PN} += "${systemd_unitdir}/system/*.service"
+FILES_${PN}-staticdev += "${PKGLIBDIR}/*.a"
+
+INSANE_SKIP_${PN} = "dev-so"
+
+RDEPENDS_${PN} += "bash python"
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.2.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.2.0.bb
deleted file mode 100644
index be79ba8cb..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.2.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"
-SECTION = "admin"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7"
-
-DEPENDS = "libxml2 python"
-TOOLCHAIN = "gcc"
-
-SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/releases/${BPN}-${PV}.tar.gz \
- file://0001-configure-Pass-linker-specific-options-with-Wl.patch \
- file://0001-configure-Disable-format-overflow-if-supported-by-gc.patch \
- file://0001-Remove-unused-variables.patch \
-"
-SRC_URI[md5sum] = "08991fd467ae9dcea3c8747be8e3981e"
-SRC_URI[sha256sum] = "903478244afe37e329be93050f1d48fa18c84ea17862134c4217b920e267a04a"
-
-inherit autotools useradd systemd pkgconfig
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "-f -r opensaf"
-USERADD_PARAM_${PN} = "-r -g opensaf -d ${datadir}/opensaf/ -s ${sbindir}/nologin -c \"OpenSAF\" opensaf"
-
-SYSTEMD_SERVICE_${PN} += "opensafd.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-PACKAGECONFIG[systemd] = ",,systemd"
-PACKAGECONFIG[openhpi] = "--with-hpi-interface=B03 --enable-ais-plm,,openhpi"
-
-PACKAGECONFIG_append = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd', '', d)}"
-
-PKGLIBDIR="${libdir}"
-
-LDFLAGS += "-Wl,--as-needed -latomic -Wl,--no-as-needed"
-
-do_install_append() {
- cp -av --no-preserve=ownership ${B}/lib/.libs/*.so* ${D}${libdir}
- rm -fr "${D}${localstatedir}/lock"
- rm -fr "${D}${localstatedir}/run"
- rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
- rmdir --ignore-fail-on-non-empty "${D}${datadir}/java"
- if [ ! -d "${D}${sysconfdir}/init.d" ]; then
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${B}/osaf/services/infrastructure/nid/scripts/opensafd ${D}${sysconfdir}/init.d/
- fi
-}
-
-FILES_${PN} += "${systemd_unitdir}/system/*.service"
-FILES_${PN}-staticdev += "${PKGLIBDIR}/*.a"
-
-INSANE_SKIP_${PN} = "dev-so"
-
-RDEPENDS_${PN} += "bash python"
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/files/0001-Check-for-glibc-before-setting-CANT_USE_SEND_RECV_MS.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/files/0001-Check-for-glibc-before-setting-CANT_USE_SEND_RECV_MS.patch
new file mode 100644
index 000000000..6b86e3925
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/files/0001-Check-for-glibc-before-setting-CANT_USE_SEND_RECV_MS.patch
@@ -0,0 +1,26 @@
+From 63619acf25151d4dade6d65732722ec4a710a5ac Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 15 Jul 2017 09:54:25 -0700
+Subject: [PATCH] Check for glibc before setting CANT_USE_SEND_RECV_MSG
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/util/sys_defs.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/util/sys_defs.h b/src/util/sys_defs.h
+index f720e2a..7314c63 100644
+--- a/src/util/sys_defs.h
++++ b/src/util/sys_defs.h
+@@ -813,7 +813,7 @@ extern int initgroups(const char *, int);
+ #define KERNEL_VERSION(a,b,c) (LINUX_VERSION_CODE + 1)
+ #endif
+ #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,2,0)) \
+- || (__GLIBC__ < 2)
++ || (defined(__GLIBC__) && (__GLIBC__ < 2))
+ #define CANT_USE_SEND_RECV_MSG
+ #define DEF_SMTP_CACHE_DEMAND 0
+ #else
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/files/0001-makedefs-Use-native-compiler-to-build-makedefs.test.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/files/0001-makedefs-Use-native-compiler-to-build-makedefs.test.patch
new file mode 100644
index 000000000..763a4a9b9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/files/0001-makedefs-Use-native-compiler-to-build-makedefs.test.patch
@@ -0,0 +1,64 @@
+From a0d0de10e4c5ab55bc2fa48798079e2876b1211d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 26 Aug 2017 10:29:37 -0700
+Subject: [PATCH] makedefs: Use native compiler to build makedefs.test
+
+Its a binary used during build
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ makedefs | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/makedefs b/makedefs
+index 9fd4bc2..5ee7747 100644
+--- a/makedefs
++++ b/makedefs
+@@ -526,7 +526,7 @@ int main(int argc, char **argv)
+ exit(0);
+ }
+ EOF
+- ${CC-gcc} -o makedefs.test makedefs.test.c || exit 1
++ ${BUILD_CC-gcc} -o makedefs.test makedefs.test.c || exit 1
+ rm -f makedefs.test makedefs.test.[co]
+ fi;;
+ esac
+@@ -762,7 +762,7 @@ int main(int argc, char **argv)
+ exit(0);
+ }
+ EOF
+- ${CC-gcc} -o makedefs.test makedefs.test.c || exit 1
++ ${BUILD_CC-gcc} -o makedefs.test makedefs.test.c || exit 1
+ ./makedefs.test 2>/dev/null ||
+ CCARGS="$CCARGS -DNO_SIGSETJMP"
+ rm -f makedefs.test makedefs.test.[co]
+@@ -796,7 +796,7 @@ int main(int argc, char **argv)
+ &error) != 14);
+ }
+ EOF
+- ${CC-gcc} -o makedefs.test makedefs.test.c $icu_cppflags \
++ ${BUILD_CC-gcc} -o makedefs.test makedefs.test.c $icu_cppflags \
+ $icu_ldflags >/dev/null 2>&1
+ if ./makedefs.test 2>/dev/null ; then
+ CCARGS="$CCARGS $icu_cppflags"
+@@ -911,7 +911,7 @@ int main(void)
+ exit(ferror(stdout) ? 1 : 0);
+ }
+ EOF
+- eval ${CC-gcc} ${CCARGS} -o makedefs.test makedefs.test.c || exit 1
++ eval ${BUILD_CC-gcc} ${CCARGS} -o makedefs.test makedefs.test.c || exit 1
+ ./makedefs.test || exit 1
+ rm -f makedefs.test makedefs.test.[co]
+ }
+@@ -1067,7 +1067,7 @@ int main(void)
+ exit(ferror(stdout) ? 1 : 0);
+ }
+ EOF
+- eval ${CC-gcc} ${CCARGS} -o makedefs.test makedefs.test.c || exit 1
++ eval ${BUILD_CC-gcc} ${CCARGS} -o makedefs.test makedefs.test.c || exit 1
+ parm_val=`./makedefs.test` || exit 1
+ rm -f makedefs.test makedefs.test.[co]
+ eval ${parm_name}=\""\$parm_val"\"
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/files/icu-config.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/files/icu-config.patch
new file mode 100644
index 000000000..9bd9c2f03
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/files/icu-config.patch
@@ -0,0 +1,21 @@
+do not entertain cppflags from icu, this is because
+icu-config feeds the -I path without sysroot which
+caused native headers to be included and build is
+corrupted in any case its just adding -I/usr/include
+to the CCARGS which we loose nothing if its not
+entertained.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: postfix-3.2.2/makedefs
+===================================================================
+--- postfix-3.2.2.orig/makedefs
++++ postfix-3.2.2/makedefs
+@@ -799,7 +799,6 @@ EOF
+ ${BUILD_CC-gcc} -o makedefs.test makedefs.test.c $icu_cppflags \
+ $icu_ldflags >/dev/null 2>&1
+ if ./makedefs.test 2>/dev/null ; then
+- CCARGS="$CCARGS $icu_cppflags"
+ SYSLIBS="$SYSLIBS $icu_ldflags"
+ else
+ CCARGS="$CCARGS -DNO_EAI"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/files/postfix-install.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/files/postfix-install.patch
new file mode 100644
index 000000000..45479bd52
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/files/postfix-install.patch
@@ -0,0 +1,26 @@
+Index: postfix-3.2.2/postfix-install
+===================================================================
+--- postfix-3.2.2.orig/postfix-install
++++ postfix-3.2.2/postfix-install
+@@ -843,7 +843,7 @@ IFS="$BACKUP_IFS"
+ # the wrong place when Postfix is being upgraded.
+
+ case "$mail_version" in
+-"") mail_version="`$POSTCONF -dhx mail_version`" || exit 1
++"") mail_version="`$POSTCONF -c $CONFIG_DIRECTORY -dhx mail_version`" || exit 1
+ esac
+
+ # Undo MAIL_VERSION expansion at the end of a parameter value. If
+Index: postfix-3.2.2/Makefile.in
+===================================================================
+--- postfix-3.2.2.orig/Makefile.in
++++ postfix-3.2.2/Makefile.in
+@@ -20,7 +20,7 @@ META = meta/main.cf.proto meta/master.cf
+ EXPAND = sed -e "s;\$${LIB_PREFIX};$(LIB_PREFIX);" \
+ -e "s;\$${LIB_SUFFIX};$(LIB_SUFFIX);"
+ SHLIB_DIR_OVERRIDE = \
+- $${shlib_directory:-`$(SHLIB_ENV) bin/postconf -dhx shlib_directory`}
++ $${shlib_directory:-`$(SHLIB_ENV) $(POSTCONF) -dhx shlib_directory`}
+
+ default: update
+
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 4c794ffd6..a588bd347 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
@@ -60,20 +60,24 @@ export AUXLIBS-ldap = "\
export CCARGS-ldap_class-native = ""
export AUXLIBS-ldap_class-native = ""
+export CCARGS-nonis_libc-musl = "-DNO_NIS"
+export CCARGS-nonis = ""
+
# SASL support -DUSE_LDAP_SASL -DUSE_SASL_AUTH
# current openldap didn't enable SASL
export CCARGS-sasl = "\
- ${@bb.utils.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${STAGING_INCDIR}/sasl', '', d)}"
export AUXLIBS-sasl = "\
${@bb.utils.contains('DISTRO_FEATURES', 'sasl', '-lsasl2', '', d)}"
export CCARGS-sasl_class-native = ""
export AUXLIBS-sasl_class-native = ""
# PCRE, TLS support default
-export CCARGS = "${CFLAGS} -DHAS_PCRE -DUSE_TLS ${CCARGS-ldap} ${CCARGS-sasl}"
+export CCARGS = "${CFLAGS} -DHAS_PCRE -DUSE_TLS -I${STAGING_INCDIR}/openssl ${CCARGS-ldap} ${CCARGS-sasl} ${CCARGS-nonis}"
export AUXLIBS = "-lpcre -lssl -lcrypto ${AUXLIBS-sasl} ${AUXLIBS-ldap}"
export POSTCONF = "${STAGING_DIR_NATIVE}${sbindir_native}/postconf"
+export CCARGS-nonis_libc-musl = "-DNO_NIS"
# OPT,DEBUG is aready in CFLAGS
# ignore the OPTS="CC=$CC" in Makefile it will not use the CC=$CC $CCARGS
EXTRA_OEMAKE += "OPT= DEBUG= OPTS= "
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
deleted file mode 100644
index dbbe24ca3..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.1.1.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require postfix.inc
-
-SRC_URI[md5sum] = "40d72ea143af7ab0038c2cee1f483707"
-SRC_URI[sha256sum] = "3deda4c34631970490b1b5fbb559905f93531bf1c7eb00e38b0d0deb1dba9982"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.2.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.2.2.bb
new file mode 100644
index 000000000..439ede9b6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.2.2.bb
@@ -0,0 +1,18 @@
+require postfix.inc
+
+SRC_URI = "ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${PV}.tar.gz \
+ file://makedefs.patch \
+ file://install.patch \
+ file://main.cf_2.0 \
+ file://postfix \
+ file://internal_recipient \
+ file://postfix.service \
+ file://aliasesdb \
+ file://check_hostname.sh \
+ file://0001-Check-for-glibc-before-setting-CANT_USE_SEND_RECV_MS.patch \
+ file://0001-makedefs-Use-native-compiler-to-build-makedefs.test.patch \
+ file://postfix-install.patch \
+ file://icu-config.patch \
+ "
+SRC_URI[md5sum] = "aea073a9b0bea5bdb590460a270a4aa0"
+SRC_URI[sha256sum] = "d06849418d119d09366997b2b481bb23f737629769b4e4a52da42fb3ad8b0576"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/proftpd/files/build_fixup.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/proftpd/files/build_fixup.patch
index 19617a6bb..9816d4d22 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/proftpd/files/build_fixup.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/proftpd/files/build_fixup.patch
@@ -9,11 +9,11 @@ redefine PR_RUN_DIR as ${localstatedir}/run
Signed-off-By: Armin Kuster <akuster808@gmail.com>
-Index: proftpd-1.3.5/Make.rules.in
+Index: proftpd-1.3.6/Make.rules.in
===================================================================
---- proftpd-1.3.5.orig/Make.rules.in
-+++ proftpd-1.3.5/Make.rules.in
-@@ -29,9 +29,9 @@ INSTALL=@INSTALL@
+--- proftpd-1.3.6.orig/Make.rules.in
++++ proftpd-1.3.6/Make.rules.in
+@@ -30,9 +30,9 @@ INSTALL=@INSTALL@
INSTALL_STRIP=@INSTALL_STRIP@
INSTALL_USER=@install_user@
INSTALL_GROUP=@install_group@
@@ -26,10 +26,10 @@ Index: proftpd-1.3.5/Make.rules.in
RM=rm -f
SHELL=@CONFIG_SHELL@
-Index: proftpd-1.3.5/Makefile.in
+Index: proftpd-1.3.6/Makefile.in
===================================================================
---- proftpd-1.3.5.orig/Makefile.in
-+++ proftpd-1.3.5/Makefile.in
+--- proftpd-1.3.6.orig/Makefile.in
++++ proftpd-1.3.6/Makefile.in
@@ -105,7 +105,6 @@ check: proftpd$(EXEEXT)
$(DESTDIR)$(localedir) $(DESTDIR)$(includedir) $(DESTDIR)$(includedir)/proftpd $(DESTDIR)$(libdir) $(DESTDIR)$(pkgconfigdir) $(DESTDIR)$(libdir)/proftpd $(DESTDIR)$(libexecdir) $(DESTDIR)$(localstatedir) $(DESTDIR)$(sysconfdir) $(DESTDIR)$(bindir) $(DESTDIR)$(sbindir) $(DESTDIR)$(mandir) $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man8:
@if [ ! -d $@ ]; then \
@@ -60,11 +60,11 @@ Index: proftpd-1.3.5/Makefile.in
$(top_srcdir)/sample-configurations/basic.conf \
$(DESTDIR)$(sysconfdir)/proftpd.conf ; \
fi
-Index: proftpd-1.3.5/configure
+Index: proftpd-1.3.6/configure
===================================================================
---- proftpd-1.3.5.orig/configure
-+++ proftpd-1.3.5/configure
-@@ -38255,7 +38255,7 @@ _ACEOF
+--- proftpd-1.3.6.orig/configure
++++ proftpd-1.3.6/configure
+@@ -41777,7 +41777,7 @@ _ACEOF
cat >>confdefs.h <<_ACEOF
@@ -72,9 +72,9 @@ Index: proftpd-1.3.5/configure
+#define PR_RUN_DIR "`eval echo "${localstatedir}"/run/`"
_ACEOF
- cat >>confdefs.h <<_ACEOF
-@@ -38263,7 +38263,7 @@ cat >>confdefs.h <<_ACEOF
- _ACEOF
+
+@@ -41787,7 +41787,7 @@ _ACEOF
+
cat >>confdefs.h <<_ACEOF
-#define PR_PID_FILE_PATH "`eval echo "${localstatedir}/proftpd.pid"`"
@@ -82,25 +82,25 @@ Index: proftpd-1.3.5/configure
_ACEOF
-Index: proftpd-1.3.5/configure.in
+Index: proftpd-1.3.6/configure.in
===================================================================
---- proftpd-1.3.5.orig/configure.in
-+++ proftpd-1.3.5/configure.in
-@@ -2971,8 +2971,8 @@ locale_dir="`eval echo ${locale_dir}`"
- AC_DEFINE_UNQUOTED(PR_LOCALE_DIR, "`eval echo "${locale_dir}"`")
+--- proftpd-1.3.6.orig/configure.in
++++ proftpd-1.3.6/configure.in
+@@ -3833,8 +3833,8 @@ locale_dir="`eval echo ${locale_dir}`"
+ AC_DEFINE_UNQUOTED(PR_LOCALE_DIR, "`eval echo "${locale_dir}"`", [Define the locale directory])
- AC_DEFINE_UNQUOTED(PR_RUN_DIR, "`eval echo "${localstatedir}"`")
--AC_DEFINE_UNQUOTED(PR_CONFIG_FILE_PATH, "`eval echo "${sysconfdir}/proftpd.conf"`")
--AC_DEFINE_UNQUOTED(PR_PID_FILE_PATH, "`eval echo "${localstatedir}/proftpd.pid"`")
-+AC_DEFINE_UNQUOTED(PR_CONFIG_FILE_PATH, "`eval echo "${sysconfdir}/run/proftpd.conf"`")
-+AC_DEFINE_UNQUOTED(PR_PID_FILE_PATH, "`eval echo "${localstatedir}/run/proftpd.pid"`")
+ AC_DEFINE_UNQUOTED(PR_RUN_DIR, "`eval echo "${localstatedir}"`", [Define the run directory])
+-AC_DEFINE_UNQUOTED(PR_CONFIG_FILE_PATH, "`eval echo "${sysconfdir}/proftpd.conf"`", [Define the configuration file path])
+-AC_DEFINE_UNQUOTED(PR_PID_FILE_PATH, "`eval echo "${localstatedir}/proftpd.pid"`", [Define the PID file path])
++AC_DEFINE_UNQUOTED(PR_CONFIG_FILE_PATH, "`eval echo "${sysconfdir}/run/proftpd.conf"`", [Define the configuration file path])
++AC_DEFINE_UNQUOTED(PR_PID_FILE_PATH, "`eval echo "${localstatedir}/run/proftpd.pid"`", [Define the PID file path])
prefix="$pr_saved_prefix"
exec_prefix="$pr_saved_exec_prefix"
-Index: proftpd-1.3.5/lib/libcap/Makefile
+Index: proftpd-1.3.6/lib/libcap/Makefile
===================================================================
---- proftpd-1.3.5.orig/lib/libcap/Makefile
-+++ proftpd-1.3.5/lib/libcap/Makefile
+--- proftpd-1.3.6.orig/lib/libcap/Makefile
++++ proftpd-1.3.6/lib/libcap/Makefile
@@ -26,7 +26,7 @@ OBJS=$(addsuffix .o, $(FILES))
all: $(LIBNAME)
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
deleted file mode 100644
index 73efac2fb..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.5b.bb
+++ /dev/null
@@ -1,137 +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 \
- "
-
-SRC_URI[md5sum] = "f7b8e3a383b34a894c2502db74ccccde"
-SRC_URI[sha256sum] = "afc1789f2478acf88dfdc7d70da90a4fa2786d628218e9574273295d044b4fc8"
-
-inherit autotools-brokensep useradd update-rc.d systemd
-
-PACKAGECONFIG ??= "shadow \
- ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 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/proftpd/proftpd_1.3.6.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.6.bb
new file mode 100644
index 000000000..409947265
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.6.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 \
+ "
+iSRC_URI[md5sum] = "13270911c42aac842435f18205546a1b"
+SRC_URI[sha256sum] = "91ef74b143495d5ff97c4d4770c6804072a8c8eb1ad1ecc8cc541b40e152ecaf"
+
+inherit autotools-brokensep useradd update-rc.d systemd
+
+PACKAGECONFIG ??= "shadow \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 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 () {
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
+ 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_2.14.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd_2.14.bb
deleted file mode 100644
index 2525249cb..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd_2.14.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-
-require radvd.inc
-
-SRC_URI[md5sum] = "acd3883dece2c7888d15596b05c9fae4"
-SRC_URI[sha256sum] = "46d31c05daea11c3d1e3dc092997d3631b3bc72b20a4f279b05304b83dbd7aa8"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd_2.17.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd_2.17.bb
new file mode 100644
index 000000000..4baea01d0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd_2.17.bb
@@ -0,0 +1,5 @@
+
+require radvd.inc
+
+SRC_URI[md5sum] = "64ee3fdb5544bcddef1c6cd80d77fa0a"
+SRC_URI[sha256sum] = "53757e7f2164899e1145482f1ae91829600a6e2f6fec29cfb3b350a3bb45bd5d"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-configure-Check-for-Wno-error-format-truncation-comp.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-configure-Check-for-Wno-error-format-truncation-comp.patch
new file mode 100644
index 000000000..0c0a3aad1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-configure-Check-for-Wno-error-format-truncation-comp.patch
@@ -0,0 +1,116 @@
+From 14d469bc82c758116aef7d549abd49c131b4170f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 22 Apr 2017 11:54:57 -0700
+Subject: [PATCH] configure: Check for -Wno-error=format-truncation compiler
+ option
+
+If this option is supported by compiler then disable it ( gcc7+)
+Fixes
+client.c:834:23: error: '%s' directive output may be truncated writing up to 1023 bytes into a region of size 1010 [-Werror=format-truncation=]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 3 +-
+ m4/ax_check_compile_flag.m4 | 74 +++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 76 insertions(+), 1 deletion(-)
+ create mode 100644 m4/ax_check_compile_flag.m4
+
+Index: squid-3.5.26/configure.ac
+===================================================================
+--- squid-3.5.26.orig/configure.ac
++++ squid-3.5.26/configure.ac
+@@ -26,6 +26,7 @@ m4_include([acinclude/pkg.m4])
+ m4_include([acinclude/lib-checks.m4])
+ m4_include([acinclude/ax_cxx_compile_stdcxx_11.m4])
+ m4_include([acinclude/ax_cxx_0x_types.m4])
++m4_include([acinclude/ax_check_compile_flag.m4])
+
+ HOSTCXX="$BUILD_CXX"
+ PRESET_CFLAGS="$CFLAGS"
+@@ -44,6 +45,7 @@ AC_PROG_CXX
+ AC_LANG([C++])
+ AC_CANONICAL_HOST
+
++AX_CHECK_COMPILE_FLAG([-Werror=format-truncation],[CFLAGS="$CFLAGS -Wno-error=format-truncation" CXXFLAGS="$CXXFLAGS -Wno-error=format-truncation"])
+ # Clang 3.2 on some CPUs requires -march-native to detect correctly.
+ # GCC 4.3+ can also produce faster executables when its used.
+ # But building inside a virtual machine environment has been found to
+Index: squid-3.5.26/acinclude/ax_check_compile_flag.m4
+===================================================================
+--- /dev/null
++++ squid-3.5.26/acinclude/ax_check_compile_flag.m4
+@@ -0,0 +1,74 @@
++# ===========================================================================
++# https://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++# AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT])
++#
++# DESCRIPTION
++#
++# Check whether the given FLAG works with the current language's compiler
++# or gives an error. (Warnings, however, are ignored)
++#
++# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
++# success/failure.
++#
++# If EXTRA-FLAGS is defined, it is added to the current language's default
++# flags (e.g. CFLAGS) when the check is done. The check is thus made with
++# the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to
++# force the compiler to issue an error when a bad flag is given.
++#
++# INPUT gives an alternative input source to AC_COMPILE_IFELSE.
++#
++# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this
++# macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG.
++#
++# LICENSE
++#
++# Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
++# Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
++#
++# 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 3 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, see <https://www.gnu.org/licenses/>.
++#
++# As a special exception, the respective Autoconf Macro's copyright owner
++# gives unlimited permission to copy, distribute and modify the configure
++# scripts that are the output of Autoconf when processing the Macro. You
++# need not follow the terms of the GNU General Public License when using
++# or distributing such scripts, even though portions of the text of the
++# Macro appear in them. The GNU General Public License (GPL) does govern
++# all other use of the material that constitutes the Autoconf Macro.
++#
++# This special exception to the GPL applies to versions of the Autoconf
++# Macro released by the Autoconf Archive. When you make and distribute a
++# modified version of the Autoconf Macro, you may extend this special
++# exception to the GPL to apply to your modified version as well.
++
++#serial 5
++
++AC_DEFUN([AX_CHECK_COMPILE_FLAG],
++[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF
++AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl
++AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [
++ ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS
++ _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1"
++ AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])],
++ [AS_VAR_SET(CACHEVAR,[yes])],
++ [AS_VAR_SET(CACHEVAR,[no])])
++ _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags])
++AS_VAR_IF(CACHEVAR,yes,
++ [m4_default([$2], :)],
++ [m4_default([$3], :)])
++AS_VAR_POPDEF([CACHEVAR])dnl
++])dnl AX_CHECK_COMPILE_FLAGS
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-tools.cc-fixed-unused-result-warning.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-tools.cc-fixed-unused-result-warning.patch
new file mode 100644
index 000000000..082a1114b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-tools.cc-fixed-unused-result-warning.patch
@@ -0,0 +1,36 @@
+From a78f2f0feda8f92cb59afe8236bd90726908768f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 25 Jun 2017 00:59:24 -0700
+Subject: [PATCH] tools.cc: fixed unused-result warning
+
+fix
+| ../../squid-3.5.26/src/tools.cc: In function 'void enter_suid()':
+| ../../squid-3.5.26/src/tools.cc:616:11: error: ignoring return value of 'int setuid(__uid_t)', declared with attribute warn_unused_result [-Werror=unused-result]
+| setuid(0);
+| ~~~~~~^~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted
+
+ src/tools.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/tools.cc b/src/tools.cc
+index 8137a03..843e266 100644
+--- a/src/tools.cc
++++ b/src/tools.cc
+@@ -612,8 +612,8 @@ enter_suid(void)
+ if (setresuid((uid_t)-1, 0, (uid_t)-1) < 0)
+ debugs (21, 3, "enter_suid: setresuid failed: " << xstrerror ());
+ #else
+-
+- setuid(0);
++ if (setuid(0) < 0)
++ debugs(50, DBG_IMPORTANT, "WARNING: no_suid: setuid(0): " << xstrerror());
+ #endif
+ #if HAVE_PRCTL && defined(PR_SET_DUMPABLE)
+ /* Set Linux DUMPABLE flag */
+--
+2.13.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/gcc7-fixes.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/gcc7-fixes.patch
new file mode 100644
index 000000000..cc1ea78a5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/gcc7-fixes.patch
@@ -0,0 +1,17 @@
+../../squid-3.5.26/src/DiskIO/DiskThreads/aiops.cc: In function 'void squidaio_init()': ../../squid-3.5.26/src/DiskIO/DiskThreads/DiskThreads.h:30:50: error: '*' in boolean context, suggest '&&' instead [-Werror=int-in-bool-context] #define NUMTHREADS (Config.cacheSwap.n_configured*16)
+
+
+Upstream-Status: Backport
+Index: squid-3.5.26/src/DiskIO/DiskThreads/aiops.cc
+===================================================================
+--- squid-3.5.26.orig/src/DiskIO/DiskThreads/aiops.cc
++++ squid-3.5.26/src/DiskIO/DiskThreads/aiops.cc
+@@ -290,7 +290,7 @@ squidaio_init(void)
+ /* Create threads and get them to sit in their wait loop */
+ squidaio_thread_pool = memPoolCreate("aio_thread", sizeof(squidaio_thread_t));
+
+- assert(NUMTHREADS);
++ assert(NUMTHREADS != 0);
+
+ for (i = 0; i < NUMTHREADS; ++i) {
+ threadp = (squidaio_thread_t *)squidaio_thread_pool->alloc();
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.25.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.25.bb
deleted file mode 100644
index 5116383b8..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.25.bb
+++ /dev/null
@@ -1,106 +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://set_sysroot_patch.patch \
- file://squid-don-t-do-squid-conf-tests-at-build-time.patch \
- file://0001-SquidNew-use-noexcept-instead-of-throw-for-C-11-comp.patch \
- "
-SRC_URI[md5sum] = "c34b228129a755f363367c45c46287ba"
-SRC_URI[sha256sum] = "0bfd6182154b7f29574d71c659f1cfd1b7d9be9356895dac70dc0f3696a0639b"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=c492e2d6d32ec5c1aad0e0609a141ce9 \
- file://errors/COPYRIGHT;md5=8861130fae91400bcf99b66f133172b3 \
- "
-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('TARGET_ARCH', 'mipsel', 'noatomics', '', d)} \
- ${@bb.utils.filter('DISTRO_FEATURES', '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"
-BASIC_AUTH_append_libc-glibc = " 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.26.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.26.bb
new file mode 100644
index 000000000..3ee96abb7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.26.bb
@@ -0,0 +1,114 @@
+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 \
+ file://0001-SquidNew-use-noexcept-instead-of-throw-for-C-11-comp.patch \
+ file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch \
+ file://gcc7-fixes.patch \
+ file://0001-tools.cc-fixed-unused-result-warning.patch \
+ "
+
+SRC_URI_remove_toolchain-clang = "file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch"
+
+SRC_URI[md5sum] = "dc1830cd361e077814aa39bcc3691d8b"
+SRC_URI[sha256sum] = "41d8845863dcd026c856508cd1599d417c8947ffd96e86e24085f9893cb8b8c2"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=c492e2d6d32ec5c1aad0e0609a141ce9 \
+ file://errors/COPYRIGHT;md5=8861130fae91400bcf99b66f133172b3 \
+ "
+DEPENDS = "libtool krb5 openldap db cyrus-sasl openssl expat libxml2"
+
+inherit autotools pkgconfig useradd ptest perlnative
+
+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('TARGET_ARCH', 'mipsel', 'noatomics', '', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', '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"
+
+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} \
+ 'PERL=${USRBINPATH}/env perl'"
+
+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/tftp-hpa/files/0001-__progname-is-provided-by-libc.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/files/0001-__progname-is-provided-by-libc.patch
new file mode 100644
index 000000000..cead977e2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/files/0001-__progname-is-provided-by-libc.patch
@@ -0,0 +1,62 @@
+From 941038fc05be21202cab7a7a9434097fb55ecbe0 Mon Sep 17 00:00:00 2001
+From: Thorsten Glaser <tg@mirbsd.de>
+Date: Thu, 31 Jul 2014 16:29:41 +0930
+Subject: [PATCH] __progname[] is provided by libc
+
+Rename local variable to tftpd_progname to avoid a clash with glibc
+global symbols and work around Debian bug #519006 (Closes: #564052).
+
+[ hpa: specifically, double-underscore symbols in C are reserved for
+ the implementation, i.e. compiler/libc. ]
+
+Signed-off-by: Ron Lee <ron@debian.org>
+Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
+---
+ tftpd/tftpd.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/tftpd/tftpd.c b/tftpd/tftpd.c
+index e247b97..5fec7bf 100644
+--- a/tftpd/tftpd.c
++++ b/tftpd/tftpd.c
+@@ -76,7 +76,7 @@ static int ai_fam = AF_INET;
+ #define TRIES 6 /* Number of attempts to send each packet */
+ #define TIMEOUT_LIMIT ((1 << TRIES)-1)
+
+-const char *__progname;
++const char *tftpd_progname;
+ static int peer;
+ static unsigned long timeout = TIMEOUT; /* Current timeout value */
+ static unsigned long rexmtval = TIMEOUT; /* Basic timeout value */
+@@ -395,9 +395,9 @@ int main(int argc, char **argv)
+ /* basename() is way too much of a pain from a portability standpoint */
+
+ p = strrchr(argv[0], '/');
+- __progname = (p && p[1]) ? p + 1 : argv[0];
++ tftpd_progname = (p && p[1]) ? p + 1 : argv[0];
+
+- openlog(__progname, LOG_PID | LOG_NDELAY, LOG_DAEMON);
++ openlog(tftpd_progname, LOG_PID | LOG_NDELAY, LOG_DAEMON);
+
+ srand(time(NULL) ^ getpid());
+
+@@ -946,14 +946,14 @@ int main(int argc, char **argv)
+ syslog daemon gets restarted by the time we get here. */
+ if (secure && standalone) {
+ closelog();
+- openlog(__progname, LOG_PID | LOG_NDELAY, LOG_DAEMON);
++ openlog(tftpd_progname, LOG_PID | LOG_NDELAY, LOG_DAEMON);
+ }
+
+ #ifdef HAVE_TCPWRAPPERS
+ /* Verify if this was a legal request for us. This has to be
+ done before the chroot, while /etc is still accessible. */
+ request_init(&wrap_request,
+- RQ_DAEMON, __progname,
++ RQ_DAEMON, tftpd_progname,
+ RQ_FILE, fd,
+ RQ_CLIENT_SIN, &from, RQ_SERVER_SIN, &myaddr, 0);
+ sock_methods(&wrap_request);
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/files/tftpd-hpa.service b/import-layers/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/files/tftpd-hpa.service
new file mode 100644
index 000000000..97d56586b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/files/tftpd-hpa.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Tftp Server
+Requires=tftpd-hpa.socket
+
+[Service]
+ExecStart=@SBINDIR@/in.tftpd-hpa -s /var/lib/tftpboot
+StandardInput=socket
+
+[Install]
+Also=tftpd-hpa.socket
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/files/tftpd-hpa.socket b/import-layers/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/files/tftpd-hpa.socket
new file mode 100644
index 000000000..8764c1de3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/files/tftpd-hpa.socket
@@ -0,0 +1,8 @@
+[Unit]
+Description=Tftp Server Activation Socket
+
+[Socket]
+ListenDatagram=69
+
+[Install]
+WantedBy=sockets.target
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 7f567133b..132972b33 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
@@ -7,6 +7,7 @@ remote machine. This program and TFTP provide very little security, \
and should not be enabled unless it is expressly needed."
DEPENDS = "tcp-wrappers readline"
SECTION = "net"
+HOMEPAGE = "http://freecode.com/projects/tftp-hpa"
LICENSE = "BSD-4-Clause"
LIC_FILES_CHKSUM = "file://MCONFIG.in;beginline=1;endline=9;md5=c28ba5adb43041fae4629db05c83cbdd \
file://tftp/tftp.c;beginline=1;endline=32;md5=988c1cba99d70858a26cd877209857f4"
@@ -26,12 +27,15 @@ SRC_URI = "http://kernel.org/pub/software/network/tftp/tftp-hpa/tftp-hpa-${PV}.t
file://add-error-check-for-disk-filled-up.patch \
file://tftp-hpa-bug-fix-on-separated-CR-and-LF.patch \
file://fix-writing-emtpy-file.patch \
+ file://0001-__progname-is-provided-by-libc.patch \
+ file://tftpd-hpa.socket \
+ file://tftpd-hpa.service \
"
SRC_URI[md5sum] = "46c9bd20bbffa62f79c958c7b99aac21"
SRC_URI[sha256sum] = "0a9f88d4c1c02687b4853b02ab5dd8779d4de4ffdb9b2e5c9332841304d1a269"
-inherit autotools-brokensep update-rc.d update-alternatives
+inherit autotools-brokensep update-rc.d update-alternatives systemd
export AR = "${HOST_PREFIX}ar cq"
@@ -60,6 +64,11 @@ do_install() {
install -d ${D}${sysconfdir}/default
install -m 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/tftpd-hpa
+
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/tftpd-hpa.socket ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/tftpd-hpa.service ${D}${systemd_unitdir}/system
+ sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/tftpd-hpa.service
}
FILES_${PN} = "${bindir}"
@@ -77,3 +86,6 @@ ALTERNATIVE_${PN} = "tftp"
ALTERNATIVE_TARGET[tftp] = "${bindir}/tftp-hpa"
ALTERNATIVE_PRIORITY = "60"
+SYSTEMD_PACKAGES = "tftp-hpa-server"
+SYSTEMD_SERVICE_tftp-hpa-server = "tftpd-hpa.socket tftpd-hpa.service"
+SYSTEMD_AUTO_ENABLE_tftp-hpa-server = "enable"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/vblade/files/vblade.conf b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vblade/files/vblade.conf
new file mode 100644
index 000000000..e8b93ec37
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vblade/files/vblade.conf
@@ -0,0 +1,2 @@
+# network_device shelf slot file/disk/partition mac[,mac[,mac]]
+#eth0 0 0 /dev/sdb 00:11:22:33:44:55
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/vblade/files/vblade.init b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vblade/files/vblade.init
new file mode 100644
index 000000000..0298c8001
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vblade/files/vblade.init
@@ -0,0 +1,193 @@
+#!/bin/sh
+#
+# Init script for vblade (ATA over Ethernet daemon)
+#
+# chkconfig: - 30 70
+# description: vblade AoE daemon
+#
+# processname: vblade
+# config: /etc/vblade.conf
+#
+# Shamelessly hacked together from other init scripts (sshd, mostly)
+# integrate vblade.init from Fedora's vblade-14-6.fc12.src.rpm
+#
+
+RETVAL=0
+prog=vblade
+
+spawn_vblade() {
+ ALLOWMACS=""
+ [ -n "$5" ] && ALLOWMACS="-m $5"
+ ID="$1-e$2.$3"
+ if [ ! -d "/var/run/$prog" ]; then
+ mkdir /var/run/$prog
+ fi
+ PID_FILE=/var/run/$prog/${ID}.pid
+ $prog $ALLOWMACS $2 $3 $1 $4 >> /var/log/$prog.log 2>&1 &
+ pid=$!
+ RETVAL=$?
+ echo $pid > $PID_FILE
+ echo -n $"$4 (e$2.$3@$1) [pid $pid]"
+ [ "$RETVAL" = 0 ] && echo "success" || echo "failure"
+ echo
+}
+
+start() {
+ local ret
+
+ echo $"Starting up $prog: "
+
+ #/var/lock/subsys/$prog exists?
+ status $prog 2>&1 > /dev/null
+ ret=$?
+
+ if [ "$ret" = "2" ]; then
+ echo "$prog dead but subsys locked"
+ echo
+ return 2
+ else
+ if [ "$ret" = "0" ]; then
+ #is running
+ echo "already running"
+ return 0
+ fi
+ fi
+
+ if [ 0 -ne `grep -vc '^#\|^$' /etc/$prog.conf` ]
+ then
+ grep -v '^#' /etc/$prog.conf | sed -e 's/ / /g' -e 's/ / /g' | while read line
+ do
+ spawn_vblade $line
+ done
+ touch /var/lock/subsys/$prog
+ else
+ echo -n "empty $prog.conf?"
+ echo " passed"
+ echo
+ fi
+}
+
+stop() {
+ echo -n $"Shutting down $prog: "
+ for pidfile in `ls /var/run/$prog/*.pid 2>/dev/null`
+ do
+ kill -TERM `cat $pidfile`
+ rm -f $pidfile
+ done
+ echo "success"
+ echo
+ rm -f /var/lock/subsys/$prog
+}
+
+__pids_var_run() {
+ local base=${1##*/}
+ local pid_file=${2:-/var/run/$base.pid}
+
+ pid=
+ if [ -f "$pid_file" ] ; then
+ local line p
+
+ while : ; do
+ read line
+ [ -z "$line" ] && break
+ for p in $line ; do
+ [ -z "${p//[0-9]/}" -a -d "/proc/$p" ] && pid="$pid $p"
+ done
+ done < "$pid_file"
+
+ if [ -n "$pid" ]; then
+ return 0
+ fi
+ return 1 # "Program is dead and /var/run pid file exists"
+ fi
+ return 3 # "Program is not running"
+}
+
+__pids_pidof() {
+ pidof "$1" || pidof "${1##*/}"
+}
+
+status() {
+ local base pid lock_file= pid_file=
+
+ # Test syntax.
+ if [ "$#" = 0 ] ; then
+ echo $"Usage: status [-p pidfile] {program}"
+ return 1
+ fi
+ if [ "$1" = "-p" ]; then
+ pid_file=$2
+ shift 2
+ fi
+ if [ "$1" = "-l" ]; then
+ lock_file=$2
+ shift 2
+ fi
+ base=${1##*/}
+
+ # First try "pidof"
+ __pids_var_run "$1" "$pid_file"
+ RC=$?
+ if [ -z "$pid_file" -a -z "$pid" ]; then
+ pid="$(__pids_pidof "$1")"
+ fi
+ if [ -n "$pid" ]; then
+ echo $"${base} (pid $pid) is running..."
+ return 0
+ fi
+
+ case "$RC" in
+ 0)
+ echo $"${base} (pid $pid) is running..."
+ return 0
+ ;;
+ 1)
+ echo $"${base} dead but pid file exists"
+ return 1
+ ;;
+ esac
+ if [ -z "${lock_file}" ]; then
+ lock_file=${base}
+ fi
+ # See if /var/lock/subsys/${lock_file} exists
+ if [ -f /var/lock/subsys/${lock_file} ]; then
+ echo $"${base} dead but subsys locked"
+ return 2
+ fi
+ echo $"${base} is stopped"
+ return 3
+}
+
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart)
+ stop
+ start
+ ;;
+ reload)
+ # yes, this sucks, but the vblade processes die on SIGHUP
+ stop
+ start
+ ;;
+ condrestart)
+ if [ -f /var/lock/subsys/$prog ]; then
+ stop
+ # avoid race
+ sleep 3
+ start
+ fi
+ ;;
+ status)
+ status $prog
+ RETVAL=$?
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|restart|reload|condrestart|status}"
+ RETVAL=1
+esac
+exit $RETVAL
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/vblade/files/vblade.service b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vblade/files/vblade.service
new file mode 100644
index 000000000..83a4d5dcb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vblade/files/vblade.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Virtual EtherDrive blade AoE target
+After=syslog.target network.target
+
+[Service]
+Type=forking
+ExecStart=@BINDIR@/vblade.init start
+ExecStop=@BINDIR@/vblade.init stop
+
+[Install]
+WantedBy=multi-user.target
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/vblade/files/volatiles.99_vblade b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vblade/files/volatiles.99_vblade
new file mode 100644
index 000000000..64a5881c0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vblade/files/volatiles.99_vblade
@@ -0,0 +1 @@
+d root root 0755 /var/run/vblade none
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
deleted file mode 100644
index 344c7462c..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/vblade/vblade_20.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Virtual EtherDrive blade AoE target"
-SECTION = "admin"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/aoetools/${BPN}-${PV}.tgz \
- file://cross.patch \
- file://makefile-add-ldflags.patch \
- "
-
-SRC_URI[md5sum] = "3c80e4a6bc7d66ae0c235b88cb44bd59"
-SRC_URI[sha256sum] = "c8fe2fc4f2fba8e07e5cfdf17335982584eef2cd5c78bf8b1db93f2b56e7121d"
-
-inherit autotools-brokensep
-
-do_install() {
- install -D -m 0755 ${S}/vblade ${D}/${sbindir}/vblade
- install -D -m 0755 ${S}/vbladed ${D}/${sbindir}/vbladed
- install -D -m 0644 ${S}/vblade.8 ${D}/${mandir}/man8/vblade.8
-}
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/vblade/vblade_22.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vblade/vblade_22.bb
new file mode 100644
index 000000000..d7b1dfaad
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vblade/vblade_22.bb
@@ -0,0 +1,51 @@
+SUMMARY = "Virtual EtherDrive blade AoE target"
+SECTION = "admin"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/aoetools/${BP}.tar.gz \
+ file://cross.patch \
+ file://makefile-add-ldflags.patch \
+ file://${BPN}.conf \
+ file://${BPN}.init \
+ file://${BPN}.service \
+ file://volatiles.99_vblade \
+ "
+
+SRC_URI[md5sum] = "510d98ba0f231284a5fbe2da11cb2d6e"
+SRC_URI[sha256sum] = "a990378f273f10eb431e42954a871aed52714035bbab28c54cef600c458356bb"
+
+inherit autotools-brokensep update-rc.d systemd
+
+do_install() {
+ install -D -m 0755 ${S}/vblade ${D}/${sbindir}/vblade
+ install -D -m 0755 ${S}/vbladed ${D}/${sbindir}/vbladed
+ install -D -m 0644 ${S}/vblade.8 ${D}/${mandir}/man8/vblade.8
+
+ install -D -m 0644 ${WORKDIR}/${BPN}.conf ${D}/${sysconfdir}/${BPN}.conf
+ install -D -m 0755 ${WORKDIR}/${BPN}.init ${D}/${sysconfdir}/init.d/${BPN}
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+ install -d ${D}/${sysconfdir}/default/volatiles
+ install -m 0755 ${WORKDIR}/volatiles.99_vblade ${D}/${sysconfdir}/default/volatiles/99_vblade
+ fi
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}/${bindir}
+ install -m 0755 ${WORKDIR}/${BPN}.init ${D}/${bindir}/
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ echo "d /var/run/${BPN} 0755 root root -" > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
+
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/vblade.service ${D}${systemd_system_unitdir}
+ sed -e 's,@BINDIR@,${bindir},g' -i ${D}${systemd_system_unitdir}/*.service
+ fi
+
+}
+
+INITSCRIPT_NAME = "vblade"
+INITSCRIPT_PARAMS = "start 30 . stop 70 0 1 2 3 4 5 6 ."
+
+SYSTEMD_SERVICE_${PN} = "vblade.service"
+SYSTEMD_AUTO_ENABLE = "disable"
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 e52461446..7a2035601 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
@@ -37,6 +37,7 @@ PACKAGECONFIG[tcp-wrappers] = ",,tcp-wrappers"
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)}"
+WRAPLIB = "${@bb.utils.contains('PACKAGECONFIG', 'tcp-wrappers', '-lwrap', '', d)}"
NOPAM_SRC ="${@bb.utils.contains('PACKAGECONFIG', 'tcp-wrappers', 'file://nopam-with-tcp_wrappers.patch', 'file://nopam.patch', d)}"
inherit update-rc.d useradd systemd
@@ -54,7 +55,7 @@ do_configure() {
}
do_compile() {
- oe_runmake "LIBS=-L${STAGING_LIBDIR} -lcrypt -lcap ${PAMLIB} -lwrap"
+ oe_runmake "LIBS=-L${STAGING_LIBDIR} -lcrypt -lcap ${PAMLIB} ${WRAPLIB}"
}
do_install() {
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/run-ptest b/import-layers/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl/run-ptest
index f1c833e6c..f1c833e6c 100644
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/run-ptest
+++ b/import-layers/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl/run-ptest
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch b/import-layers/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch
index 9798af497..9798af497 100644
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl_0.22.bb b/import-layers/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl_0.22.bb
index ea5bb1b0c..ea5bb1b0c 100644
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl_0.22.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl_0.22.bb
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-devtools/python/python-ldap_2.4.41.bb b/import-layers/meta-openembedded/meta-networking/recipes-devtools/python/python-ldap_2.4.41.bb
new file mode 100644
index 000000000..3dbc8b13e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-devtools/python/python-ldap_2.4.41.bb
@@ -0,0 +1,29 @@
+#
+# Copyright (C) 2012 Wind River Systems, Inc.
+#
+SUMMARY = "Provides a wrapper in Python to LDAP"
+DESCRIPTION = "This module provides access to the LDAP \
+(Lightweight Directory Access Protocol) through Python operations \
+instead of C API. The module mainly acts as a wrapper for the \
+OpenLDAP 2.x libraries. Errors will appear as exceptions."
+
+LICENSE = "PSF"
+HOMEPAGE = "http://www.python-ldap.org/"
+DEPENDS = "python openldap cyrus-sasl"
+
+PYPI_PACKAGE = "python-ldap"
+inherit pypi setuptools
+
+LIC_FILES_CHKSUM = "file://LICENCE;md5=a41c82edffa04912007cae1d20cac555"
+SRC_URI[md5sum] = "18db2d009150ec1864710fea3ed76173"
+SRC_URI[sha256sum] = "6d430ecf040f2fc704ee316d3390cb1f5419c191371e1e131baef54a0e42cef0"
+
+do_configure_prepend() {
+ sed -i -e 's:^library_dirs =.*::' setup.cfg
+ sed -i -e 's:^include_dirs =.*:include_dirs = =/usr/include/sasl/:' setup.cfg
+}
+
+RDEPENDS_${PN} = " \
+ ${PYTHON_PN}-pprint \
+ ${PYTHON_PN}-threading \
+"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/corosync/corosync/0001-Include-fcntl.h-for-F_-and-O_-defines.patch b/import-layers/meta-openembedded/meta-networking/recipes-extended/corosync/corosync/0001-Include-fcntl.h-for-F_-and-O_-defines.patch
index fe4b0793f..fe4b0793f 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/corosync/corosync/0001-Include-fcntl.h-for-F_-and-O_-defines.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-extended/corosync/corosync/0001-Include-fcntl.h-for-F_-and-O_-defines.patch
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_2.4.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_2.4.2.bb
new file mode 100644
index 000000000..33e74e2ff
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_2.4.2.bb
@@ -0,0 +1,80 @@
+SUMMARY = "The Corosync Cluster Engine and Application Programming Interfaces"
+DESCRIPTION = "This package contains the Corosync Cluster Engine Executive, several default \
+APIs and libraries, default configuration files, and an init script."
+HOMEPAGE = "http://corosync.github.io/corosync/"
+
+SECTION = "base"
+
+inherit autotools pkgconfig systemd useradd
+
+SRC_URI = "http://build.clusterlabs.org/corosync/releases/${BP}.tar.gz \
+ file://0001-Include-fcntl.h-for-F_-and-O_-defines.patch \
+ "
+SRC_URI[md5sum] = "547fa78704da53aa35912be58d31035f"
+SRC_URI[sha256sum] = "f26e3011309fe4bcce94b1dc20ea8c462f19483a73f3ca62f13b925d011a4ba9"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a85eb4ce24033adb6088dd1d6ffc5e5d"
+
+DEPENDS = "groff-native nss libqb"
+
+SYSTEMD_SERVICE_${PN} = "corosync.service corosync-notifyd.service \
+ ${@bb.utils.contains('PACKAGECONFIG', 'qdevice', 'corosync-qdevice.service', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'qnetd', 'corosync-qnetd.service', '', d)} \
+"
+SYSTEMD_AUTO_ENABLE = "enable"
+
+INITSCRIPT_NAME = "corosync-daemon"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
+ dbus qdevice qnetd snmp \
+"
+
+PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus"
+PACKAGECONFIG[qdevice] = "--enable-qdevices,--disable-qdevices"
+PACKAGECONFIG[qnetd] = "--enable-qnetd,--disable-qnetd"
+PACKAGECONFIG[rdma] = "--enable-rdma,--disable-rdma"
+PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp"
+PACKAGECONFIG[systemd] = "--enable-systemd --with-systemddir=${systemd_system_unitdir},--disable-systemd --without-systemddir,systemd"
+
+EXTRA_OECONF = "ac_cv_path_BASHPATH=${base_bindir}/bash"
+EXTRA_OEMAKE = "tmpfilesdir_DATA="
+
+do_configure_prepend() {
+ ( cd ${S}
+ ${S}/autogen.sh )
+}
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/sysconfig/
+ install -m 0644 ${S}/init/corosync.sysconfig.example ${D}${sysconfdir}/sysconfig/corosync
+ install -m 0644 ${S}/tools/corosync-notifyd.sysconfig.example ${D}${sysconfdir}/sysconfig/corosync-notifyd
+
+ rm -rf "${D}${localstatedir}/run"
+
+ install -d ${D}${sysconfdir}/default/volatiles
+ echo "d root root 0755 ${localstatedir}/log/cluster none" > ${D}${sysconfdir}/default/volatiles/05_corosync
+
+ if ${@bb.utils.contains('PACKAGECONFIG', 'qnetd', 'true', 'false', d)}; then
+ chown -R coroqnetd:coroqnetd ${D}${sysconfdir}/${BPN}/qnetd
+ echo "d coroqnetd coroqnetd 0770 /var/run/corosync-qnetd none" >> ${D}${sysconfdir}/default/volatiles/05_corosync
+ fi
+
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ echo "d ${localstatedir}/log/cluster - - - -" > ${D}${sysconfdir}/tmpfiles.d/corosync.conf
+
+ if ${@bb.utils.contains('PACKAGECONFIG', 'qnetd', 'true', 'false', d)}; then
+ install -m 0644 ${S}/conf/tmpfiles.d/corosync-qnetd.conf ${D}${sysconfdir}/tmpfiles.d
+ fi
+ fi
+}
+
+RDEPENDS_${PN} += "bash"
+
+FILES_${PN}-dbg += "${libexecdir}/lcrso/.debug"
+FILES_${PN}-doc += "${datadir}/snmp/mibs/COROSYNC-MIB.txt"
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "--system coroqnetd"
+USERADD_PARAM_${PN} = "--system -d / -M -s /bin/nologin -c 'User for corosync-qnetd' -g coroqnetd coroqnetd"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/dlm/dlm/respect-ldflags-also-from-bin_ldflags.patch b/import-layers/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/respect-ldflags-also-from-bin_ldflags.patch
index 69b2f903c..69b2f903c 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/dlm/dlm/respect-ldflags-also-from-bin_ldflags.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/respect-ldflags-also-from-bin_ldflags.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/dlm/dlm_4.0.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-extended/dlm/dlm_4.0.2.bb
index 31e411e86..31e411e86 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/dlm/dlm_4.0.2.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-extended/dlm/dlm_4.0.2.bb
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/files/0001-kernel-event-netlink_ack-now-requires-4-arguments.patch b/import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/files/0001-kernel-event-netlink_ack-now-requires-4-arguments.patch
new file mode 100644
index 000000000..4426d3552
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/files/0001-kernel-event-netlink_ack-now-requires-4-arguments.patch
@@ -0,0 +1,40 @@
+From cbc5f8151017f45231b75a826f18354a81c287c4 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 26 Aug 2017 07:52:59 -0700
+Subject: [PATCH] kernel/event: netlink_ack() now requires 4 arguments
+
+see https://patchwork.kernel.org/patch/9670181/
+
+event.c:32:4: error: too few arguments to function 'netlink_ack'
+| netlink_ack(skb, nlh, 0);
+| ^~~~~~~~~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ kernel/event.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: iscsitarget-1.4.20.3+svn502/kernel/event.c
+===================================================================
+--- iscsitarget-1.4.20.3+svn502.orig/kernel/event.c
++++ iscsitarget-1.4.20.3+svn502/kernel/event.c
+@@ -6,6 +6,7 @@
+ * Some functions are based on audit code.
+ */
+
++#include <linux/version.h>
+ #include <linux/module.h>
+ #include <net/tcp.h>
+ #include "iet_u.h"
+@@ -29,7 +30,11 @@ static void event_recv_skb(struct sk_buf
+ ietd_pid = NETLINK_CB(skb).portid;
+ WARN_ON(ietd_pid == 0);
+ if (nlh->nlmsg_flags & NLM_F_ACK)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
++ netlink_ack(skb, nlh, 0, NULL);
++#else
+ netlink_ack(skb, nlh, 0);
++#endif
+ skb_pull(skb, rlen);
+ }
+ }
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 5c1e38e17..659366107 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
@@ -14,7 +14,9 @@ SRC_URI = "http://ftp.heanet.ie/mirrors/ubuntu/pool/universe/i/${BPN}/${BPN}_${P
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_interfaces_of_linux_v4.8_and_above.patch \
- file://fix-call-trace-of-ahash-API-calling.patch"
+ file://fix-call-trace-of-ahash-API-calling.patch \
+ file://0001-kernel-event-netlink_ack-now-requires-4-arguments.patch \
+ "
SRC_URI[md5sum] = "ef9bc823bbabd3c772208c00d5f2d089"
SRC_URI[sha256sum] = "d3196ccb78a43266dce28587bfe30d8ab4db7566d7bce96057dfbb84100babb5"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables-save b/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables-save
new file mode 100755
index 000000000..2d7fc4ed7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables-save
@@ -0,0 +1,43 @@
+#!/bin/bash
+
+EBTABLES="/sbin/ebtables"
+
+[ -x "$EBTABLES" ] || exit 1
+
+echo "# Generated by ebtables-save v1.0 on $(date)"
+
+cnt=""
+[ "x$EBTABLES_SAVE_COUNTER" = "xyes" ] && cnt="--Lc"
+
+for table_name in $(grep -E '^ebtable_' /proc/modules | cut -f1 -d' ' | sed s/ebtable_//); do
+ table=$($EBTABLES -t $table_name -L $cnt)
+ [ $? -eq 0 ] || { echo "$table"; exit -1; }
+
+ chain=""
+ rules=""
+ while read line; do
+ [ -z "$line" ] && continue
+
+ case "$line" in
+ Bridge\ table:\ *)
+ echo "*${line:14}"
+ ;;
+ Bridge\ chain:\ *)
+ chain="${line:14}"
+ chain="${chain%%,*}"
+ policy="${line##*policy: }"
+ echo ":$chain $policy"
+ ;;
+ *)
+ if [ "$cnt" = "--Lc" ]; then
+ line=${line/, pcnt \=/ -c}
+ line=${line/-- bcnt \=/}
+ fi
+ rules="$rules-A $chain $line\n"
+ ;;
+ esac
+ done <<EOF
+$table
+EOF
+ echo -e $rules
+done
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables_2.0.10-4.bb b/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables_2.0.10-4.bb
index 375423d5d..d5e7341a0 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables_2.0.10-4.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables_2.0.10-4.bb
@@ -1,17 +1,19 @@
SUMMARY = "Filtering tool for a Linux-based bridging firewall"
+HOMEPAGE = "http://sourceforge.net/projects/ebtables/"
DESCRIPTION = "Utility for basic Ethernet frame filtering on a Linux bridge, \
advanced logging, MAC DNAT/SNAT and brouting."
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=53b4a999993871a28ab1488fdbd2e73e"
SECTION = "net"
-PR = "r3"
+PR = "r4"
-RDEPENDS_${PN} += "perl"
+RDEPENDS_${PN} += "bash"
RRECOMMENDS_${PN} += "kernel-module-ebtables \
"
SRC_URI = "${SOURCEFORGE_MIRROR}/ebtables/ebtables-v${PV}.tar.gz \
+ file://ebtables-save \
file://installnonroot.patch \
file://01debian_defaultconfig.patch \
file://ebtables.init \
@@ -78,12 +80,10 @@ do_install () {
mv ${D}${sysconfdir}/default/ebtables-config ${D}${sysconfdir}/default/ebtables
sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/ebtables
- # The script ebtables-save refernces perl in exec_prefix, so
- # move it to sbindir to avoid QA issue
- if ${base_sbindir} != ${sbindir} ; then
- install -d ${D}/${sbindir}
- mv ${D}/${base_sbindir}/ebtables-save ${D}/${sbindir}
- fi
+ # Replace upstream ebtables-save perl script with Fedora bash based rewrite
+ # http://pkgs.fedoraproject.org/cgit/rpms/ebtables.git/tree/ebtables-save
+ install -m 0755 ${WORKDIR}/ebtables-save ${D}${base_sbindir}/ebtables-save
+ sed -i 's!/sbin/!${base_sbindir}/!g' ${D}${base_sbindir}/ebtables-save
# Install systemd service files
install -d ${D}${systemd_unitdir}/system
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
deleted file mode 100644
index b45879980..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-filter/libmnl/libmnl_1.0.4.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] = "be9b4b5328c6da1bda565ac5dffadb2d"
-SRC_URI[tar.sha256sum] = "171f89699f286a5854b72b91d06e8f8e3683064c5901fb09d954a9ab6f551f81"
-
-inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/snprintf_shadow.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/snprintf_shadow.patch
deleted file mode 100644
index 0453b1b49..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/snprintf_shadow.patch
+++ /dev/null
@@ -1,224 +0,0 @@
-Taken from
-https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=755956
-
---- ./src/expr_ops.h 2014-06-24 17:07:05.574784704 +0400
-+++ ../libnftnl-1.0.2-my/./src/expr_ops.h 2014-07-25 00:19:28.367694613 +0400
-@@ -28,7 +28,7 @@
- const void *(*get)(const struct nft_rule_expr *e, uint16_t type, uint32_t *data_len);
- int (*parse)(struct nft_rule_expr *e, struct nlattr *attr);
- void (*build)(struct nlmsghdr *nlh, struct nft_rule_expr *e);
-- int (*snprintf)(char *buf, size_t len, uint32_t type, uint32_t flags, struct nft_rule_expr *e);
-+ int (*snprintf_)(char *buf, size_t len, uint32_t type, uint32_t flags, struct nft_rule_expr *e);
- int (*xml_parse)(struct nft_rule_expr *e, mxml_node_t *tree,
- struct nft_parse_err *err);
- int (*json_parse)(struct nft_rule_expr *e, json_t *data,
---- ./src/rule.c 2014-06-24 17:07:05.574784704 +0400
-+++ ../libnftnl-1.0.2-my/./src/rule.c 2014-07-25 00:19:28.355694880 +0400
-@@ -813,7 +813,7 @@
- "{\"type\":\"%s\",", expr->ops->name);
- SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
-
-- ret = expr->ops->snprintf(buf+offset, len, type, flags, expr);
-+ ret = expr->ops->snprintf_(buf+offset, len, type, flags, expr);
- SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
-
- /*
---- ./src/expr.c 2014-06-24 17:07:05.574784704 +0400
-+++ ../libnftnl-1.0.2-my/./src/expr.c 2014-07-25 00:19:27.367716863 +0400
-@@ -227,7 +227,7 @@
- int ret;
- unsigned int offset = 0, len = size;
-
-- ret = expr->ops->snprintf(buf+offset, len, type, flags, expr);
-+ ret = expr->ops->snprintf_(buf+offset, len, type, flags, expr);
- SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
-
- return offset;
---- ./src/expr/exthdr.c 2014-06-25 18:34:08.174284719 +0400
-+++ ../libnftnl-1.0.2-my/./src/expr/exthdr.c 2014-07-25 00:21:48.192583628 +0400
-@@ -362,7 +362,7 @@
- .get = nft_rule_expr_exthdr_get,
- .parse = nft_rule_expr_exthdr_parse,
- .build = nft_rule_expr_exthdr_build,
-- .snprintf = nft_rule_expr_exthdr_snprintf,
-+ .snprintf_ = nft_rule_expr_exthdr_snprintf,
- .xml_parse = nft_rule_expr_exthdr_xml_parse,
- .json_parse = nft_rule_expr_exthdr_json_parse,
- };
---- ./src/expr/log.c 2014-06-25 18:34:08.178284810 +0400
-+++ ../libnftnl-1.0.2-my/./src/expr/log.c 2014-07-25 00:21:48.160584340 +0400
-@@ -332,7 +332,7 @@
- .get = nft_rule_expr_log_get,
- .parse = nft_rule_expr_log_parse,
- .build = nft_rule_expr_log_build,
-- .snprintf = nft_rule_expr_log_snprintf,
-+ .snprintf_ = nft_rule_expr_log_snprintf,
- .xml_parse = nft_rule_expr_log_xml_parse,
- .json_parse = nft_rule_expr_log_json_parse,
- };
---- ./src/expr/limit.c 2014-06-25 18:34:08.178284810 +0400
-+++ ../libnftnl-1.0.2-my/./src/expr/limit.c 2014-07-25 00:21:48.108585496 +0400
-@@ -250,7 +250,7 @@
- .get = nft_rule_expr_limit_get,
- .parse = nft_rule_expr_limit_parse,
- .build = nft_rule_expr_limit_build,
-- .snprintf = nft_rule_expr_limit_snprintf,
-+ .snprintf_ = nft_rule_expr_limit_snprintf,
- .xml_parse = nft_rule_expr_limit_xml_parse,
- .json_parse = nft_rule_expr_limit_json_parse,
- };
---- ./src/expr/cmp.c 2014-06-25 18:34:08.174284719 +0400
-+++ ../libnftnl-1.0.2-my/./src/expr/cmp.c 2014-07-25 00:21:48.172584073 +0400
-@@ -331,7 +331,7 @@
- .get = nft_rule_expr_cmp_get,
- .parse = nft_rule_expr_cmp_parse,
- .build = nft_rule_expr_cmp_build,
-- .snprintf = nft_rule_expr_cmp_snprintf,
-+ .snprintf_ = nft_rule_expr_cmp_snprintf,
- .xml_parse = nft_rule_expr_cmp_xml_parse,
- .json_parse = nft_rule_expr_cmp_json_parse,
- };
---- ./src/expr/target.c 2014-06-25 18:34:08.182284901 +0400
-+++ ../libnftnl-1.0.2-my/./src/expr/target.c 2014-07-25 00:21:48.184583806 +0400
-@@ -274,7 +274,7 @@
- .get = nft_rule_expr_target_get,
- .parse = nft_rule_expr_target_parse,
- .build = nft_rule_expr_target_build,
-- .snprintf = nft_rule_expr_target_snprintf,
-+ .snprintf_ = nft_rule_expr_target_snprintf,
- .xml_parse = nft_rule_expr_target_xml_parse,
- .json_parse = nft_rule_expr_target_json_parse,
- };
---- ./src/expr/byteorder.c 2014-06-25 18:34:08.158284356 +0400
-+++ ../libnftnl-1.0.2-my/./src/expr/byteorder.c 2014-07-25 00:21:48.148584607 +0400
-@@ -384,7 +384,7 @@
- .get = nft_rule_expr_byteorder_get,
- .parse = nft_rule_expr_byteorder_parse,
- .build = nft_rule_expr_byteorder_build,
-- .snprintf = nft_rule_expr_byteorder_snprintf,
-+ .snprintf_ = nft_rule_expr_byteorder_snprintf,
- .xml_parse = nft_rule_expr_byteorder_xml_parse,
- .json_parse = nft_rule_expr_byteorder_json_parse,
- };
---- ./src/expr/lookup.c 2014-06-25 18:34:08.178284810 +0400
-+++ ../libnftnl-1.0.2-my/./src/expr/lookup.c 2014-07-25 00:21:48.136584874 +0400
-@@ -305,7 +305,7 @@
- .get = nft_rule_expr_lookup_get,
- .parse = nft_rule_expr_lookup_parse,
- .build = nft_rule_expr_lookup_build,
-- .snprintf = nft_rule_expr_lookup_snprintf,
-+ .snprintf_ = nft_rule_expr_lookup_snprintf,
- .xml_parse = nft_rule_expr_lookup_xml_parse,
- .json_parse = nft_rule_expr_lookup_json_parse,
- };
---- ./src/expr/immediate.c 2014-06-25 18:34:08.178284810 +0400
-+++ ../libnftnl-1.0.2-my/./src/expr/immediate.c 2014-07-25 00:21:48.124585141 +0400
-@@ -365,7 +365,7 @@
- .get = nft_rule_expr_immediate_get,
- .parse = nft_rule_expr_immediate_parse,
- .build = nft_rule_expr_immediate_build,
-- .snprintf = nft_rule_expr_immediate_snprintf,
-+ .snprintf_ = nft_rule_expr_immediate_snprintf,
- .xml_parse = nft_rule_expr_immediate_xml_parse,
- .json_parse = nft_rule_expr_immediate_json_parse,
- };
---- ./src/expr/meta.c 2014-06-25 18:34:08.178284810 +0400
-+++ ../libnftnl-1.0.2-my/./src/expr/meta.c 2014-07-25 00:21:48.040587008 +0400
-@@ -340,7 +340,7 @@
- .get = nft_rule_expr_meta_get,
- .parse = nft_rule_expr_meta_parse,
- .build = nft_rule_expr_meta_build,
-- .snprintf = nft_rule_expr_meta_snprintf,
-+ .snprintf_ = nft_rule_expr_meta_snprintf,
- .xml_parse = nft_rule_expr_meta_xml_parse,
- .json_parse = nft_rule_expr_meta_json_parse,
- };
---- ./src/expr/queue.c 2014-06-25 18:34:08.182284901 +0400
-+++ ../libnftnl-1.0.2-my/./src/expr/queue.c 2014-07-25 00:21:48.208583272 +0400
-@@ -294,7 +294,7 @@
- .get = nft_rule_expr_queue_get,
- .parse = nft_rule_expr_queue_parse,
- .build = nft_rule_expr_queue_build,
-- .snprintf = nft_rule_expr_queue_snprintf,
-+ .snprintf_ = nft_rule_expr_queue_snprintf,
- .xml_parse = nft_rule_expr_queue_xml_parse,
- .json_parse = nft_rule_expr_queue_json_parse,
- };
---- ./src/expr/nat.c 2014-06-25 18:34:08.182284901 +0400
-+++ ../libnftnl-1.0.2-my/./src/expr/nat.c 2014-07-25 00:21:48.084586030 +0400
-@@ -430,7 +430,7 @@
- .get = nft_rule_expr_nat_get,
- .parse = nft_rule_expr_nat_parse,
- .build = nft_rule_expr_nat_build,
-- .snprintf = nft_rule_expr_nat_snprintf,
-+ .snprintf_ = nft_rule_expr_nat_snprintf,
- .xml_parse = nft_rule_expr_nat_xml_parse,
- .json_parse = nft_rule_expr_nat_json_parse,
- };
---- ./src/expr/payload.c 2014-06-25 18:34:08.182284901 +0400
-+++ ../libnftnl-1.0.2-my/./src/expr/payload.c 2014-07-25 00:21:48.200583450 +0400
-@@ -337,7 +337,7 @@
- .get = nft_rule_expr_payload_get,
- .parse = nft_rule_expr_payload_parse,
- .build = nft_rule_expr_payload_build,
-- .snprintf = nft_rule_expr_payload_snprintf,
-+ .snprintf_ = nft_rule_expr_payload_snprintf,
- .xml_parse = nft_rule_expr_payload_xml_parse,
- .json_parse = nft_rule_expr_payload_json_parse,
- };
---- ./src/expr/reject.c 2014-06-25 18:34:08.182284901 +0400
-+++ ../libnftnl-1.0.2-my/./src/expr/reject.c 2014-07-25 00:21:48.096585762 +0400
-@@ -242,7 +242,7 @@
- .get = nft_rule_expr_reject_get,
- .parse = nft_rule_expr_reject_parse,
- .build = nft_rule_expr_reject_build,
-- .snprintf = nft_rule_expr_reject_snprintf,
-+ .snprintf_ = nft_rule_expr_reject_snprintf,
- .xml_parse = nft_rule_expr_reject_xml_parse,
- .json_parse = nft_rule_expr_reject_json_parse,
- };
---- ./src/expr/counter.c 2014-06-25 18:34:08.174284719 +0400
-+++ ../libnftnl-1.0.2-my/./src/expr/counter.c 2014-07-25 00:21:48.056586652 +0400
-@@ -236,7 +236,7 @@
- .get = nft_rule_expr_counter_get,
- .parse = nft_rule_expr_counter_parse,
- .build = nft_rule_expr_counter_build,
-- .snprintf = nft_rule_expr_counter_snprintf,
-+ .snprintf_ = nft_rule_expr_counter_snprintf,
- .xml_parse = nft_rule_expr_counter_xml_parse,
- .json_parse = nft_rule_expr_counter_json_parse,
- };
---- ./src/expr/ct.c 2014-06-25 18:34:08.174284719 +0400
-+++ ../libnftnl-1.0.2-my/./src/expr/ct.c 2014-07-25 00:21:48.068586385 +0400
-@@ -428,7 +428,7 @@
- .get = nft_rule_expr_ct_get,
- .parse = nft_rule_expr_ct_parse,
- .build = nft_rule_expr_ct_build,
-- .snprintf = nft_rule_expr_ct_snprintf,
-+ .snprintf_ = nft_rule_expr_ct_snprintf,
- .xml_parse = nft_rule_expr_ct_xml_parse,
- .json_parse = nft_rule_expr_ct_json_parse,
- };
---- ./src/expr/bitwise.c 2014-06-25 18:34:08.158284356 +0400
-+++ ../libnftnl-1.0.2-my/./src/expr/bitwise.c 2014-07-25 00:21:49.272559599 +0400
-@@ -403,7 +403,7 @@
- .get = nft_rule_expr_bitwise_get,
- .parse = nft_rule_expr_bitwise_parse,
- .build = nft_rule_expr_bitwise_build,
-- .snprintf = nft_rule_expr_bitwise_snprintf,
-+ .snprintf_ = nft_rule_expr_bitwise_snprintf,
- .xml_parse = nft_rule_expr_bitwise_xml_parse,
- .json_parse = nft_rule_expr_bitwise_json_parse,
- };
---- ./src/expr/match.c 2014-06-25 18:34:08.178284810 +0400
-+++ ../libnftnl-1.0.2-my/./src/expr/match.c 2014-07-25 00:21:48.032587186 +0400
-@@ -273,7 +273,7 @@
- .get = nft_rule_expr_match_get,
- .parse = nft_rule_expr_match_parse,
- .build = nft_rule_expr_match_build,
-- .snprintf = nft_rule_expr_match_snprintf,
-+ .snprintf_ = nft_rule_expr_match_snprintf,
- .xml_parse = nft_rule_expr_match_xml_parse,
- .json_parse = nft_rule_expr_match_json_parse,
- };
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/files/0001-testmmap-fix-compile-issue-with-gcc-5.x.patch b/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/files/0001-testmmap-fix-compile-issue-with-gcc-5.x.patch
deleted file mode 100644
index ea36b1cd9..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/files/0001-testmmap-fix-compile-issue-with-gcc-5.x.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Upstream-Status: Pending
-
-From c81bf54d6eb870286662a11d3b4a994717c47696 Mon Sep 17 00:00:00 2001
-From: Armin Kuster <akuster808@gmail.com>
-Date: Tue, 8 Sep 2015 05:36:27 -0700
-Subject: [PATCH] testmmap: fix compile issue with gcc 5.x
-
-this fixes:
-examples/testmmap.c:540:10: error: format '%ld' expects argument of type 'long int', but argument 3 has type 'ssize_t {aka const int}' [-Werror=format=]
-| printf("ring_ofs[%d] %ld\n", i, nifp->ring_ofs[i]);
-| ^
-
-Signed-off-by: Armin Kuster <akuster808@gmail.com>
----
- examples/testmmap.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/examples/testmmap.c b/examples/testmmap.c
-index d7f6acc..934489a 100644
---- a/examples/testmmap.c
-+++ b/examples/testmmap.c
-@@ -537,7 +537,7 @@ do_if()
- for (i = 0; i < 5; i++)
- printf("spare1[%d] %u\n", i, nifp->ni_spare1[i]);
- for (i = 0; i < (nifp->ni_tx_rings + nifp->ni_rx_rings + 2); i++)
-- printf("ring_ofs[%d] %ld\n", i, nifp->ring_ofs[i]);
-+ printf("ring_ofs[%d] %zd\n", i, nifp->ring_ofs[i]);
- }
-
- struct netmap_ring *
---
-2.3.5
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/files/makefile_fixup.patch b/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/files/makefile_fixup.patch
deleted file mode 100644
index b050bf001..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/files/makefile_fixup.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-The makefile assumes building locally.
-
-Upstream Status: Inappropriate [Native]
-
-The configure is not auto-make based
-
-Signed-of-by: Armin Kuster <akuster@mvista.com>
-
-Index: LINUX/netmap.mak.in
-===================================================================
---- a/LINUX/netmap.mak.in
-+++ b/LINUX/netmap.mak.in
-@@ -12,10 +12,9 @@ SRCDIR:=@SRCDIR@
- # The following commands are needed to build the modules as out-of-tree,
- # in fact the kernel sources path must be specified.
-
--PWD ?= $(CURDIR)
-
- # Additional compile flags (e.g. header location)
--EXTRA_CFLAGS := -I$(PWD) -I$(SRCDIR) -I$(SRCDIR)/../sys -I$(SRCDIR)/../sys/dev -DCONFIG_NETMAP
-+EXTRA_CFLAGS := -I$(SRCDIR) -I$(SRCDIR)/../sys -I$(SRCDIR)/../sys/dev -DCONFIG_NETMAP
- EXTRA_CFLAGS += -Wno-unused-but-set-variable
- EXTRA_CFLAGS += $(foreach s,$(SUBSYS),-DCONFIG_NETMAP_$(shell echo $s|tr a-z- A-Z_))
-
-Index: LINUX/configure
-===================================================================
---- a/LINUX/configure
-+++ b/LINUX/configure
-@@ -349,52 +349,6 @@ reset_tests() {
- EOF
- }
-
--# run_tests: run all accumulated tests and exec the pertinent
--# success/failure actions for each one.
--run_tests() {
-- local t= # prevent -EOF to eat the make TAB
-- cat > $TMPDIR/Makefile <<-EOF
-- ifneq (\$(KERNELRELEASE),)
-- obj-m := $TESTOBJS
-- else
-- S_DRIVERS := $(drv print)
-- all: \$(S_DRIVERS:%=get-%)
-- $t \$(MAKE) -C $ksrc M=\$\$PWD $kopts
--
-- -include $TOPDIR/drivers.mak
-- EOF
-- for d in $(drv print); do
-- cat >> $TMPDIR/Makefile <<-EOF
-- get-$d:
-- $t [ -z "\$($d-src)" ] || cp -Rp \$($d-src) \$(if \$($d-dst),\$($d-dst),.)
-- $t touch get-$d
-- EOF
-- done
-- echo endif >> $TMPDIR/Makefile
-- {
-- cat <<-EOF
--##############################################################################
--## BEGIN RUNNING TESTS: $(date)
--##############################################################################
--## Makefile:
-- EOF
-- cat $TMPDIR/Makefile
-- cat <<-EOF
--##############################################################################
-- EOF
-- } >> config.log
-- (
-- cd $TMPDIR
-- make -k -j $(grep -c processor /proc/cpuinfo)
-- ) >> config.log
-- eval "$TESTPOSTPROC"
-- cat >> config.log <<-EOF
--##############################################################################
--## END RUNNING TESTS: $(date)
--##############################################################################
-- EOF
--}
--
- configh=netmap_linux_config.h
- # succes/failure actions are expected to write some macros
- # in netma_linux_config.h. The following functions can be
-@@ -619,7 +573,6 @@ configuration. Please check 'config.log'
- reset_tests
- rm -f drivers.mak
- add_test true broken_buildsystem < /dev/null
--run_tests
-
- drvname2config() {
- local name=$1
-@@ -1280,7 +1233,6 @@ cat > $configh <<-EOF
- EOF
-
- # the TESTPOSTPROC script will add macros to $configh
--run_tests
-
- define DRIVER_SUFFIX \"$drvsuffix\"
-
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
deleted file mode 100644
index 192ece0e9..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap-modules_git.bb
+++ /dev/null
@@ -1,92 +0,0 @@
-require netmap.inc
-
-DEPENDS = "virtual/kernel"
-do_configure[depends] += "virtual/kernel:do_shared_workdir"
-
-inherit module
-
-CLEANBROKEN = "1"
-
-export INSTALL_MOD_DIR="kernel/netmap-modules"
-
-EXTRA_OECONF = "--kernel-dir=${STAGING_KERNEL_BUILDDIR} \
- --kernel-sources=${STAGING_KERNEL_DIR} \
- --install-mod-path=${D} \
- --driver-suffix="-netmap" \
- "
-
-# The driver builds are optional, but for deterministic builds,
-# we should be able to explicitly enable/disable the builds
-# for them in a proper place (maybe in BSP).
-# But we can't use PACKAGECONFIG since there is no option for
-# each driver, and the options are:
-# --no-drivers do not compile any driver
-# --no-drivers= do not compile the given drivers (comma sep.)
-# --drivers= only compile the given drivers (comma sep.)
-#
-# So use NETMAP_DRIVERS and the following python code to add proper
-# configs to EXTRA_OECONF.
-#
-# The default is no-drivers, and all supported drivers are listed
-# in NETMAP_ALL_DRIVERS.
-NETMAP_DRIVERS ??= ""
-NETMAP_ALL_DRIVERS = "ixgbe igb e1000e e1000 veth.c forcedeth.c virtio_net.c r8169.c"
-
-python __anonymous () {
- drivers_list = d.getVar("NETMAP_DRIVERS").split()
- all_drivers_list = d.getVar("NETMAP_ALL_DRIVERS").split()
- config_drivers = "--drivers=" + ",".join(drivers_list)
-
- extra_oeconf_drivers = bb.utils.contains_any('NETMAP_DRIVERS', all_drivers_list, config_drivers, '--no-drivers', d)
- d.appendVar("EXTRA_OECONF", extra_oeconf_drivers)
-}
-
-LDFLAGS := "${@'${LDFLAGS}'.replace('-Wl,-O1', '')}"
-LDFLAGS := "${@'${LDFLAGS}'.replace('-Wl,--as-needed', '')}"
-
-do_configure () {
- cd ${S}/LINUX
- ./configure ${EXTRA_OECONF}
-}
-
-do_configure_append () {
- cat >> ${S}/LINUX/netmap_linux_config.h <<EOF
-#define NETMAP_LINUX_HAVE_HRTIMER_MODE_REL
-#define NETMAP_LINUX_HAVE_HRTIMER_FORWARD_NOW
-#define NETMAP_LINUX_HAVE_PHYS_ADDR_T
-#define NETMAP_LINUX_HAVE_ACCESS_ONCE
-#define NETMAP_LINUX_HAVE_NETDEV_OPS
-#define NETMAP_LINUX_HAVE_INIT_NET
-#define NETMAP_LINUX_HAVE_LIVE_ADDR_CHANGE
-#define NETMAP_LINUX_HAVE_TX_SKB_SHARING
-#define NETMAP_LINUX_HAVE_UNLOCKED_IOCTL
-#define NETMAP_LINUX_HAVE_PERNET_OPS_ID
-#define NETMAP_LINUX_VIRTIO_FUNCTIONS
-#define NETMAP_LINUX_VIRTIO_FREE_PAGES
-#define NETMAP_LINUX_VIRTIO_GET_VRSIZE
-#define NETMAP_LINUX_TIMER_RTYPE enum hrtimer_restart
-#define NETMAP_LINUX_VIRTIO_MULTI_QUEUE
-#define NETMAP_LINUX_HAVE_E1000E_EXT_RXDESC
-#define NETMAP_LINUX_HAVE_E1000E_DOWN2
-EOF
-
-if ${@ 'false' if (bb.utils.vercmp_string(d.getVar('KERNEL_VERSION') or "0", '3.17') < 0) else 'true' } ; then
- echo OK
- cat >> ${S}/LINUX/netmap_linux_config.h <<EOF
-#define NETMAP_LINUX_ALLOC_NETDEV_4ARGS
-EOF
-fi
-}
-
-do_compile () {
- cd ${S}/LINUX
- oe_runmake
-}
-
-do_install () {
- 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 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap.inc b/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap.inc
deleted file mode 100644
index ab33e765d..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap.inc
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "netmap and VALE - very fast packet I/O from userspace (FreeBSD/Linux)"
-DESCRIPTION= "NETMAP is a framework for very fast packet I/O from userspace. VALE is an equally fast in-kernel software switch using the netmap API. Both are implemented as a single kernel module for FreeBSD and Linux, and can deal with line rate on real or emulated 10 Gbit ports."
-SECTION = "networking"
-HOMEPAGE = "http://code.google.com/p/netmap/"
-LICENSE = "GPLv2+"
-
-LIC_FILES_CHKSUM = "file://README;beginline=13;endline=14;md5=56ae0b9c7ba0476ab9098de94c2714d6"
-
-SRCREV = "da9e19e69b84e4f6f8ae125f8d01b42a4abade6a"
-PV = "master+git${SRCPV}"
-
-SRC_URI = "git://github.com/luigirizzo/netmap.git"
-SRC_URI += "file://makefile_fixup.patch"
-
-S = "${WORKDIR}/git"
-
-COMPATIBLE_HOST = '(x86_64|i.86|mips|arm).*-linux'
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
deleted file mode 100644
index 2d8509c74..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap_git.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-require netmap.inc
-
-DEPENDS = "netmap-modules"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-EXTRA_OECONF = "--kernel-dir=${STAGING_KERNEL_BUILDDIR} \
- --kernel-sources=${STAGING_KERNEL_DIR} \
- --no-drivers \
- --disable-generic \
- --prefix=${prefix} \
- --destdir=${D} \
- --cc='${CC}' \
- --ld='${LD}' \
- "
-SRC_URI += "file://0001-testmmap-fix-compile-issue-with-gcc-5.x.patch"
-
-do_configure () {
- cd ${S}/LINUX
- ./configure ${EXTRA_OECONF}
-}
-
-do_compile () {
- cd ${S}/LINUX
- make apps
-}
-
-do_install () {
- cd ${S}/LINUX
- make install-apps DESTDIR=${D}
-}
-
-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 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170421.bb b/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170810.bb
index 2c69c58f8..2c69c58f8 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170421.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170810.bb
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170421.bb b/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170421.bb
deleted file mode 100644
index 79d420f1a..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170421.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-require wireguard.inc
-
-inherit bash-completion systemd pkgconfig
-
-DEPENDS = "wireguard-module libmnl"
-
-do_compile_prepend () {
- cd ${S}/tools
-}
-
-do_install () {
- cd ${S}/tools
- oe_runmake DESTDIR="${D}" PREFIX="${prefix}" SYSCONFDIR="${sysconfdir}" \
- SYSTEMDUNITDIR="${systemd_unitdir}" \
- WITH_SYSTEMDUNITS=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'yes', '', d)} \
- WITH_BASHCOMPLETION=yes \
- WITH_WGQUICK=yes \
- install
-}
-
-FILES_${PN} = " \
- ${sysconfdir} \
- ${systemd_unitdir} \
- ${bindir} \
-"
-
-RDEPENDS_${PN} = "wireguard-module"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170810.bb b/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170810.bb
new file mode 100644
index 000000000..c4ddbcb0e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170810.bb
@@ -0,0 +1,27 @@
+require wireguard.inc
+
+inherit bash-completion systemd pkgconfig
+
+DEPENDS = "wireguard-module libmnl"
+
+do_compile_prepend () {
+ cd ${S}/tools
+}
+
+do_install () {
+ cd ${S}/tools
+ oe_runmake DESTDIR="${D}" PREFIX="${prefix}" SYSCONFDIR="${sysconfdir}" \
+ SYSTEMDUNITDIR="${systemd_unitdir}" \
+ WITH_SYSTEMDUNITS=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'yes', '', d)} \
+ WITH_BASHCOMPLETION=yes \
+ WITH_WGQUICK=yes \
+ install
+}
+
+FILES_${PN} = " \
+ ${sysconfdir} \
+ ${systemd_unitdir} \
+ ${bindir} \
+"
+
+RDEPENDS_${PN} = "wireguard-module bash"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc b/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc
index 46a9971f8..f37d52b22 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc
+++ b/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc
@@ -11,8 +11,7 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://../COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${PV}.tar.xz"
-
-SRC_URI[md5sum] = "8e559f4fd672b15c38a15eb4d88cc84d"
-SRC_URI[sha256sum] = "03c82af774224cd171d000ee4a519b5e474cc6842ac04967773cf77b26750000"
+SRC_URI[md5sum] = "8dd3e080407b8295c25565a847a4ca27"
+SRC_URI[sha256sum] = "ab96230390625aad6f4816fa23aef6e9f7fee130f083d838919129ff12089bf7"
S = "${WORKDIR}/WireGuard-${PV}/src/"
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 d61636ee8..3990f7b52 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
@@ -70,7 +70,7 @@ do_install () {
install -m 0644 debian/hosts.equiv ${D}/${sysconfdir}
install -m 0644 ${WORKDIR}/rexec.pam ${D}/${sysconfdir}/pam.d/rexec
install -m 0644 ${WORKDIR}/rlogin.pam ${D}/${sysconfdir}/pam.d/rlogin
- install -m 0664 ${WORKDIR}/rsh.pam ${D}/${sysconfdir}/pam.d/rsh
+ install -m 0644 ${WORKDIR}/rsh.pam ${D}/${sysconfdir}/pam.d/rsh
fi
cp ${WORKDIR}/rexec.xinetd.netkit ${D}/${sysconfdir}/xinetd.d/rexec
cp ${WORKDIR}/rlogin.xinetd.netkit ${D}/${sysconfdir}/xinetd.d/rlogin
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb b/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb
index 54a58c8a1..807b56644 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb
@@ -1,4 +1,5 @@
DESCRIPTION = "netkit-telnet includes the telnet daemon and client."
+HOMEPAGE = "http://www.hcs.harvard.edu/~dholland/computers/netkit.html"
SECTION = "net"
DEPENDS = "ncurses"
LICENSE = "BSD"
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
deleted file mode 100644
index 0a86504c7..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/accel-ppp/accel-ppp_git.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "ACCEL-PPP is a high performance VPN server application for linux"
-HOMEPAGE = "http://sourceforge.net/apps/trac/accel-ppp/wiki"
-SECTION = "net"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
-
-DEPENDS = "openssl libpcre"
-
-inherit cmake
-
-PR = "r1"
-PV = "1.7.3+git"
-
-SRCREV = "4acfa46c321a344b9a6ce4128e72d1e02828d8a0"
-SRC_URI = "git://accel-ppp.git.sourceforge.net/gitroot/accel-ppp/accel-ppp;branch=1.7"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OECMAKE = " \
- -DBUILD_DRIVER=FALSE \
- -DCMAKE_INSTALL_PREFIX=${prefix} \
- -DCMAKE_BUILD_TYPE=Release \
- -DLOG_PGSQL=FALSE \
- -DRADIUS=FALSE \
- -DNETSNMP=FALSE \
-"
-FILES_${PN}-dbg += "/usr/lib/${BPN}/.debug/*"
-
-PACKAGES =+ "${PN}-libs"
-FILES_${PN}-libs = "${libdir}/${BPN}/*.so /usr/lib/${BPN}/*.so"
-INSANE_SKIP_${PN}-libs = "dev-so"
-RDEPENDS_${PN} += "${PN}-libs"
-
-do_install_prepend() {
- cmlist=`find ${S} -name CMakeLists.txt`
- for file in $cmlist; do
- sed -i -e "s:LIBRARY DESTINATION lib/accel-ppp:LIBRARY DESTINATION ${baselib}/accel-ppp:g" \
- -e "s:\${CMAKE_INSTALL_PREFIX}/lib/accel-ppp:\${CMAKE_INSTALL_PREFIX}/${baselib}/accel-ppp:g" \
- $cmlist
- done
-}
-
-# http://errors.yoctoproject.org/Errors/Details/81003/
-PNBLACKLIST[accel-ppp] ?= "BROKEN: fails to build with new binutils-2.27 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/mdns/files/build.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/mdns/files/build.patch
new file mode 100644
index 000000000..4ab9d23bf
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/mdns/files/build.patch
@@ -0,0 +1,167 @@
+From 43b6e98c9c37afd0d914949dcff4eab81f5a995f Mon Sep 17 00:00:00 2001
+From: Brendan Le Foll <brendan.le.foll@intel.com>
+Date: Tue, 3 Mar 2015 11:42:57 +0000
+
+Upstream-Status: Inappropriate [OE-specific]
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+
+---
+ mDNSPosix/Makefile | 54 +++++++++++++++++++++++++-----------------------------
+ 1 file changed, 25 insertions(+), 29 deletions(-)
+
+diff --git a/mDNSPosix/Makefile b/mDNSPosix/Makefile
+index 4f98e90..8ac97ad 100755
+--- a/mDNSPosix/Makefile
++++ b/mDNSPosix/Makefile
+@@ -50,6 +50,7 @@
+
+ LIBVERS = 1
+
++POSIXDIR = ../mDNSPosix
+ COREDIR = ../mDNSCore
+ SHAREDDIR ?= ../mDNSShared
+ JDK = /usr/jdk
+@@ -58,11 +59,11 @@ CC = @cc
+ BISON = @bison
+ FLEX = @flex
+ ST = @strip
+-LD = ld -shared
++LD =@LD
+ CP = cp
+ RM = rm
+ LN = ln -s -f
+-CFLAGS_COMMON = -I$(COREDIR) -I$(SHAREDDIR) -I$(OBJDIR) -fwrapv -W -Wall -DPID_FILE=\"/var/run/mdnsd.pid\" -DMDNS_UDS_SERVERPATH=\"/var/run/mdnsd\"
++CFLAGS_COMMON = -I$(POSIXDIR) -I$(COREDIR) -I$(SHAREDDIR) -I$(OBJDIR) -fwrapv -W -Wall -DPID_FILE=\"/var/run/mdnsd.pid\" -DMDNS_UDS_SERVERPATH=\"/var/run/mdnsd\"
+ CFLAGS_PTHREAD =
+ LINKOPTS =
+ LINKOPTS_PTHREAD = -lpthread
+@@ -70,7 +71,7 @@ LDSUFFIX = so
+ JAVACFLAGS_OS = -fPIC -shared -ldns_sd
+
+ # Set up diverging paths for debug vs. prod builds
+-DEBUG=0
++DEBUG?=1
+ ifeq ($(DEBUG),1)
+ CFLAGS_DEBUG = -g -DMDNS_DEBUGMSGS=2
+ OBJDIR = objects/debug
+@@ -213,7 +214,7 @@ endif
+ endif
+ endif
+
+-CFLAGS = $(CFLAGS_COMMON) $(CFLAGS_OS) $(CFLAGS_DEBUG)
++CFLAGS_BUILD = $(CFLAGS) $(CFLAGS_COMMON) $(CFLAGS_OS) $(CFLAGS_DEBUG)
+
+ #############################################################################
+
+@@ -249,8 +250,7 @@ Daemon: setup $(BUILDDIR)/mdnsd
+ @echo "Responder daemon done"
+
+ $(BUILDDIR)/mdnsd: $(DAEMONOBJS)
+- $(CC) -o $@ $+ $(LINKOPTS)
+- @$(STRIP) $@
++ $(CC) -o $@ $+
+
+ # libdns_sd target builds the client library
+ libdns_sd: setup $(BUILDDIR)/libdns_sd.$(LDSUFFIX)
+@@ -259,22 +259,18 @@ libdns_sd: setup $(BUILDDIR)/libdns_sd.$(LDSUFFIX)
+ CLIENTLIBOBJS = $(OBJDIR)/dnssd_clientlib.c.so.o $(OBJDIR)/dnssd_clientstub.c.so.o $(OBJDIR)/dnssd_ipc.c.so.o
+
+ $(BUILDDIR)/libdns_sd.$(LDSUFFIX): $(CLIENTLIBOBJS)
+- @$(LD) $(LINKOPTS) -o $@ $+
+- @$(STRIP) $@
++ $(LD) -shared $(LINKOPTS) -Wl,-soname,libdns_sd.$(LDSUFFIX).1 -o $@ $+
+
+-Clients: setup libdns_sd ../Clients/build/dns-sd
++Clients: setup libdns_sd
++ @$(MAKE) -C ../Clients DEBUG=${DEBUG}
+ @echo "Clients done"
+
+-../Clients/build/dns-sd:
+- @$(MAKE) -C ../Clients
+-
+ # nss_mdns target builds the Name Service Switch module
+ nss_mdns: setup $(BUILDDIR)/$(NSSLIBFILE)
+ @echo "Name Service Switch module done"
+
+ $(BUILDDIR)/$(NSSLIBFILE): $(CLIENTLIBOBJS) $(OBJDIR)/nss_mdns.c.so.o
+- @$(LD) $(LINKOPTS) -o $@ $+
+- @$(STRIP) $@
++ $(LD) -shared $(LINKOPTS) -o $@ $+
+
+ #############################################################################
+
+@@ -470,55 +466,55 @@ dnsextd: setup $(BUILDDIR)/dnsextd
+ @echo "dnsextd done"
+
+ $(BUILDDIR)/mDNSClientPosix: $(APPOBJ) $(OBJDIR)/Client.c.o
+- $(CC) $+ -o $@ $(LINKOPTS)
++ $(CC) $+ -o $@
+
+ $(BUILDDIR)/mDNSResponderPosix: $(COMMONOBJ) $(OBJDIR)/Responder.c.o
+- $(CC) $+ -o $@ $(LINKOPTS)
++ $(CC) $+ -o $@
+
+ $(BUILDDIR)/mDNSProxyResponderPosix: $(COMMONOBJ) $(OBJDIR)/ProxyResponder.c.o
+- $(CC) $+ -o $@ $(LINKOPTS)
++ $(CC) $+ -o $@
+
+ $(BUILDDIR)/mDNSIdentify: $(SPECIALOBJ) $(OBJDIR)/Identify.c.o
+- $(CC) $+ -o $@ $(LINKOPTS)
++ $(CC) $+ -o $@
+
+ $(OBJDIR)/Identify.c.o: $(COREDIR)/mDNS.c # Note: Identify.c textually imports mDNS.c
+
+ $(BUILDDIR)/mDNSNetMonitor: $(SPECIALOBJ) $(OBJDIR)/NetMonitor.c.o
+- $(CC) $+ -o $@ $(LINKOPTS)
++ $(CC) $+ -o $@
+
+ $(OBJDIR)/NetMonitor.c.o: $(COREDIR)/mDNS.c # Note: NetMonitor.c textually imports mDNS.c
+
+ $(BUILDDIR)/dnsextd: $(DNSEXTDOBJ) $(OBJDIR)/dnsextd.c.threadsafe.o
+- $(CC) $+ -o $@ $(LINKOPTS) $(LINKOPTS_PTHREAD)
++ $(CC) $+ -o $@ $(LINKOPTS_PTHREAD)
+
+ #############################################################################
+
+ # Implicit rules
+ $(OBJDIR)/%.c.o: %.c
+- $(CC) $(CFLAGS) -c -o $@ $<
++ $(CC) $(CFLAGS_BUILD) -c -o $@ $<
+
+ $(OBJDIR)/%.c.o: $(COREDIR)/%.c
+- $(CC) $(CFLAGS) -c -o $@ $<
++ $(CC) $(CFLAGS_BUILD) -c -o $@ $<
+
+ $(OBJDIR)/%.c.o: $(SHAREDDIR)/%.c
+- $(CC) $(CFLAGS) -c -o $@ $<
++ $(CC) $(CFLAGS_BUILD) -c -o $@ $<
+
+ $(OBJDIR)/%.c.threadsafe.o: %.c
+- $(CC) $(CFLAGS) $(CFLAGS_PTHREAD) -D_REENTRANT -c -o $@ $<
++ $(CC) $(CFLAGS_BUILD) $(CFLAGS_PTHREAD) -D_REENTRANT -c -o $@ $<
+
+ $(OBJDIR)/%.c.threadsafe.o: $(SHAREDDIR)/%.c
+- $(CC) $(CFLAGS) $(CFLAGS_PTHREAD) -D_REENTRANT -c -o $@ $<
++ $(CC) $(CFLAGS_BUILD) $(CFLAGS_PTHREAD) -D_REENTRANT -c -o $@ $<
+
+ $(OBJDIR)/%.c.so.o: %.c
+- $(CC) $(CFLAGS) -c -fPIC -o $@ $<
++ $(CC) $(CFLAGS_BUILD) -c -fPIC -o $@ $<
+
+ $(OBJDIR)/%.c.so.o: $(SHAREDDIR)/%.c
+- $(CC) $(CFLAGS) -c -fPIC -o $@ $<
++ $(CC) $(CFLAGS_BUILD) -c -fPIC -o $@ $<
+
+ $(OBJDIR)/%.y.o: $(SHAREDDIR)/%.y
+ $(BISON) -o $(OBJDIR)/$*.c -d $<
+- $(CC) $(CFLAGS) -c -o $@ $(OBJDIR)/$*.c
++ $(CC) $(CFLAGS_BUILD) -c -o $@ $(OBJDIR)/$*.c
+
+ $(OBJDIR)/%.l.o: $(SHAREDDIR)/%.l
+ $(FLEX) $(FLEXFLAGS_OS) -i -o$(OBJDIR)/$*.l.c $<
+- $(CC) $(CFLAGS) -Wno-error -c -o $@ $(OBJDIR)/$*.l.c
++ $(CC) $(CFLAGS_BUILD) -Wno-error -c -o $@ $(OBJDIR)/$*.l.c
+--
+2.9.5
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/mdns/files/mdns.service b/import-layers/meta-openembedded/meta-networking/recipes-protocols/mdns/files/mdns.service
new file mode 100644
index 000000000..531d142dc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/mdns/files/mdns.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Zero-configuration networking
+After=network.target
+
+[Service]
+Type=forking
+ExecStartPre=/bin/rm -f /var/run/mdnsd.pid
+ExecStart=/usr/sbin/mdnsd
+ExecReload=/bin/kill -HUP $MAINPID
+PIDFile=/var/run/mdnsd.pid
+Restart=always
+RestartSec=10s
+
+[Install]
+WantedBy=multi-user.target
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb b/import-layers/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb
new file mode 100644
index 000000000..1a80f7acb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb
@@ -0,0 +1,89 @@
+SUMMARY = "Publishes & browses available services on a link according to the Zeroconf / Bonjour protocol"
+DESCRIPTION = "Bonjour, also known as zero-configuration networking, enables automatic discovery of computers, devices, and services on IP networks."
+HOMEPAGE = "http://developer.apple.com/networking/bonjour/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://../LICENSE;md5=31c50371921e0fb731003bbc665f29bf"
+
+RPROVIDES_${PN} += "libdns_sd.so"
+
+SRC_URI = "http://opensource.apple.com/tarballs/mDNSResponder/mDNSResponder-${PV}.tar.gz \
+ file://build.patch;patchdir=.. \
+ file://mdns.service \
+ "
+
+SRC_URI[md5sum] = "4a6bc1628851002634ea3833a4dca317"
+SRC_URI[sha256sum] = "de61dd0034357aa50c60806726fb1f70fa8e953ff9cb62eccfb73efad10dba0a"
+
+PARALLEL_MAKE = ""
+
+S = "${WORKDIR}/mDNSResponder-${PV}/mDNSPosix"
+
+EXTRA_OEMAKE += "os=linux DEBUG=0 'CC=${CC}' 'LD=${CCLD} ${LDFLAGS}'"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_install () {
+ install -d ${D}${sbindir}
+ install -m 0755 build/prod/mdnsd ${D}${sbindir}
+
+ install -d ${D}${libdir}
+ cp build/prod/libdns_sd.so ${D}${libdir}/libdns_sd.so.1
+ chmod 0644 ${D}${libdir}/libdns_sd.so.1
+ ln -s libdns_sd.so.1 ${D}${libdir}/libdns_sd.so
+
+ install -d ${D}${includedir}
+ install -m 0644 ../mDNSShared/dns_sd.h ${D}${includedir}
+
+ install -d ${D}${mandir}/man8
+ install -m 0644 ../mDNSShared/mDNSResponder.8 ${D}${mandir}/man8/mdnsd.8
+
+ install -d ${D}${bindir}
+ install -m 0755 ../Clients/build/dns-sd ${D}${bindir}
+
+ install -d ${D}${libdir}
+ oe_libinstall -C build/prod -so libnss_mdns-0.2 ${D}${libdir}
+ ln -s libnss_mdns-0.2.so ${D}${libdir}/libnss_mdns.so.2
+
+ install -d ${D}${sysconfdir}
+ install -m 0644 nss_mdns.conf ${D}${sysconfdir}
+
+ install -d ${D}${mandir}/man5
+ install -m 0644 nss_mdns.conf.5 ${D}${mandir}/man5
+
+ install -d ${D}${mandir}/man8
+ install -m 0644 libnss_mdns.8 ${D}${mandir}/man8
+
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/mdns.service ${D}${systemd_unitdir}/system/
+}
+
+pkg_postinst_${PN} () {
+ sed -e '/^hosts:/s/\s*\<mdns\>//' \
+ -e 's/\(^hosts:.*\)\(\<files\>\)\(.*\)\(\<dns\>\)\(.*\)/\1\2 mdns\3\4\5/' \
+ -i $D/etc/nsswitch.conf
+}
+
+pkg_prerm_${PN} () {
+ sed -e '/^hosts:/s/\s*\<mdns\>//' \
+ -e '/^hosts:/s/\s*mdns//' \
+ -i $D/etc/nsswitch.conf
+}
+
+inherit systemd
+
+SYSTEMD_SERVICE_${PN} = "mdns.service"
+
+FILES_${PN} += "${systemd_unitdir}/system/mdns.service"
+FILES_${PN} += "${libdir}/libdns_sd.so.1 \
+ ${bindir}/dns-sd \
+ ${libdir}/libnss_mdns-0.2.so \
+ ${sysconfdir}/nss_mdns.conf"
+
+FILES_${PN}-dev += "${libdir}/libdns_sd.so \
+ ${includedir}/dns_sd.h "
+
+FILES_${PN}-man += "${mandir}/man8/mdnsd.8 \
+ ${mandir}/man5/nss_mdns.conf.5 \
+ ${mandir}/man8/libnss_mdns.8"
+
+PACKAGES = "${PN} ${PN}-dev ${PN}-man ${PN}-dbg"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/files/init b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/files/init
index 2b8fe18b3..47995466f 100755
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/files/init
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/files/init
@@ -3,9 +3,6 @@
. /etc/init.d/functions
-test -x /usr/sbin/snmpd || exit 0
-test -x /usr/sbin/snmptrapd || exit 0
-
# Defaults
export MIBDIRS=/usr/share/snmp/mibs
SNMPDRUN=yes
@@ -18,6 +15,9 @@ SPIDFILE=/var/run/snmptrapd.pid
# Reads config file if exists (will override defaults above)
[ -r /etc/default/snmpd ] && . /etc/default/snmpd
+[ "$SNMPDRUN" = "yes" ] && { test -x /usr/sbin/snmpd || exit 0; }
+[ "$TRAPDRUN" = "yes" ] && { test -x /usr/sbin/snmptrapd || exit 0; }
+
case "$1" in
start)
echo -n "Starting network management services:"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch
new file mode 100644
index 000000000..efe803876
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch
@@ -0,0 +1,45 @@
+From e47c60dc7f649959f63e56bc62355de4bdfd73f4 Mon Sep 17 00:00:00 2001
+From: Marian Florea <marian.florea@windriver.com>
+Date: Thu, 20 Jul 2017 16:55:24 +0800
+Subject: [PATCH] net snmp: fix engineBoots value on SIGHUP
+
+Upstream-Status: Pending
+
+Signed-off-by: Marian Florea <marian.florea@windriver.com>
+Signed-off-by: Li Zhou <li.zhou@windriver.com>
+---
+ agent/snmpd.c | 1 +
+ snmplib/snmpv3.c | 4 ++--
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/agent/snmpd.c b/agent/snmpd.c
+index 056048a..12a7ea1 100644
+--- a/agent/snmpd.c
++++ b/agent/snmpd.c
+@@ -1246,6 +1246,7 @@ receive(void)
+ snmp_log(LOG_INFO, "NET-SNMP version %s restarted\n",
+ netsnmp_get_version());
+ update_config();
++ snmp_store(app_name);
+ send_easy_trap(SNMP_TRAP_ENTERPRISESPECIFIC, 3);
+ #if HAVE_SIGHOLD
+ sigrelse(SIGHUP);
+diff --git a/snmplib/snmpv3.c b/snmplib/snmpv3.c
+index 435cafd..6ad8208 100644
+--- a/snmplib/snmpv3.c
++++ b/snmplib/snmpv3.c
+@@ -984,9 +984,9 @@ init_snmpv3_post_config(int majorid, int minorid, void *serverarg,
+ /*
+ * if our engineID has changed at all, the boots record must be set to 1
+ */
+- if (engineIDLen != oldEngineIDLength ||
++ if (oldEngineIDLength != (size_t)0 && (engineIDLen != oldEngineIDLength ||
+ oldEngineID == NULL || c_engineID == NULL ||
+- memcmp(oldEngineID, c_engineID, engineIDLen) != 0) {
++ memcmp(oldEngineID, c_engineID, engineIDLen) != 0)) {
+ engineBoots = 1;
+ }
+
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-fix-for-disable-des.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-fix-for-disable-des.patch
new file mode 100644
index 000000000..25eb9c96f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-fix-for-disable-des.patch
@@ -0,0 +1,32 @@
+From 270e952f58a7e5ddeabe5a15e3ddaaadf40017d0 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Thu, 22 Jun 2017 10:25:08 +0800
+Subject: [PATCH] net-snmp: fix for --disable-des
+
+Include des.h only if it's found in openssl so that
+the --disable-des works correctly.
+
+Upstream-Status: Submitted [net-snmp-coders@lists.sourceforge.net]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ snmplib/scapi.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/snmplib/scapi.c b/snmplib/scapi.c
+index 16ac829..271684b 100644
+--- a/snmplib/scapi.c
++++ b/snmplib/scapi.c
+@@ -79,7 +79,9 @@ netsnmp_feature_child_of(usm_scapi, usm_support)
+ #include <openssl/hmac.h>
+ #include <openssl/evp.h>
+ #include <openssl/rand.h>
++#ifdef HAVE_OPENSSL_DES_H
+ #include <openssl/des.h>
++#endif
+ #ifdef HAVE_AES
+ #include <openssl/aes.h>
+ #endif
+--
+2.11.0
+
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 2d6887e37..849ae0763 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
@@ -30,6 +30,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/net-snmp/net-snmp-${PV}.zip \
file://0002-configure-fix-a-cc-check-issue.patch \
file://0003-CHANGES-BUG-2712-Fix-Perl-module-compilation.patch \
file://0004-configure-fix-incorrect-variable.patch \
+ file://net-snmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch \
+ file://net-snmp-fix-for-disable-des.patch \
"
SRC_URI[md5sum] = "9f682bd70c717efdd9f15b686d07baee"
SRC_URI[sha256sum] = "e8dfc79b6539b71a6ff335746ce63d2da2239062ad41872fff4354cafed07a3e"
@@ -58,7 +60,8 @@ EXTRA_OECONF = "--enable-shared \
--with-defaults \
--with-install-prefix=${D} \
--with-persistent-directory=${localstatedir}/lib/net-snmp \
- ${@base_conditional('SITEINFO_ENDIANNESS', 'le', '--with-endianness=little', '--with-endianness=big', d)}"
+ ${@base_conditional('SITEINFO_ENDIANNESS', 'le', '--with-endianness=little', '--with-endianness=big', d)} \
+"
# net-snmp needs to have mib-modules=smux enabled to enable quagga to support snmp
EXTRA_OECONF += "--with-mib-modules=smux"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/0001-l2tp_api.c-include-rpc-clnt.h-for-resultproc_t.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/0001-l2tp_api.c-include-rpc-clnt.h-for-resultproc_t.patch
new file mode 100644
index 000000000..a11a97ebd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/0001-l2tp_api.c-include-rpc-clnt.h-for-resultproc_t.patch
@@ -0,0 +1,31 @@
+From 8f299df4dd1ca857e34859c377a29b183c630961 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 21 Sep 2017 13:05:03 -0700
+Subject: [PATCH] l2tp_api.c: include rpc/clnt.h for 'resultproc_t'
+
+Fixes
+
+| /mnt/a/oe/build/tmp/work/mips32r2-bec-linux-musl/openl2tp/1.8-r0/recipe-sysroot/usr/include/tirpc/rpc/pmap_clnt.h:81:12: error: unknown type name 'resultproc_t'; did you mean 'rpcproc_t'? | resultproc_t); | ^~~~~~~~~~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ l2tp_api.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/l2tp_api.c b/l2tp_api.c
+index f0946fd..f77881c 100644
+--- a/l2tp_api.c
++++ b/l2tp_api.c
+@@ -26,6 +26,7 @@
+ #include <sys/types.h>
+ #include <rpc/types.h>
+ #include <rpc/xdr.h>
++#include <rpc/clnt.h>
+ #include <rpc/pmap_clnt.h>
+ //#include <netinet/in.h>
+
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tpd-initscript-fix-sysconfig.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tpd-initscript-fix-sysconfig.patch
new file mode 100644
index 000000000..3119425e6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tpd-initscript-fix-sysconfig.patch
@@ -0,0 +1,35 @@
+commit 6ea3125e2bec15004f312814022335d94cdf7e94
+Author: Aws Ismail <aws.ismail@windriver.com>
+Date: Wed Sep 19 11:34:48 2012 -0400
+
+ Fix openl2tp config script location
+
+ Correct the location of the sysconfig
+ script. Use /etc/default/ instead of
+ /etc/sysconfig/
+
+ Signed-off-by: Aws Ismail <aws.ismail@windriver.com>
+
+ Upstream-Status: Inappropriate [configuration]
+
+ Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+
+diff --git a/etc/rc.d/init.d/openl2tpd b/etc/rc.d/init.d/openl2tpd
+index 7f27bb7..4194f63 100755
+--- a/etc/rc.d/init.d/openl2tpd
++++ b/etc/rc.d/init.d/openl2tpd
+@@ -8,12 +8,12 @@
+ # can be used to implement L2TP VPNs. As a server, it can handle
+ # hundreds of tunnels and sessions.
+ # processname: openl2tpd
+-# config: /etc/sysconfig/openl2tpd
++# config: /etc/default/openl2tpd
+ # pidfile: /var/run/openl2tpd.pid
+
+ # Source function library.
+ . /etc/init.d/functions
+-. /etc/sysconfig/openl2tpd
++. /etc/default/openl2tpd
+
+ # See how we were called.
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tpd-initscript-fix-warning.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tpd-initscript-fix-warning.patch
new file mode 100644
index 000000000..15a8c5b08
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tpd-initscript-fix-warning.patch
@@ -0,0 +1,32 @@
+openl2tp: eliminate warning from modprobe
+
+modprobe will emit alarming warnings if it cannot
+find a module, but we only care that it find one
+of two possible modules when we start openl2tpd.
+
+Suppress messages from modprobe.
+
+Upstream-Status: Pending
+
+Signed-off-by: Joe Slater <jslater@windriver.com>
+
+--- a/etc/rc.d/init.d/openl2tpd
++++ b/etc/rc.d/init.d/openl2tpd
+@@ -29,7 +29,7 @@ start() {
+ return 1
+ fi
+ fi
+- modprobe -s pppol2tp || modprobe -s l2tp_ppp
++ modprobe -sq pppol2tp || modprobe -sq l2tp_ppp
+ RETVAL=$?
+ if [ $RETVAL -eq 0 ]; then
+ start-stop-daemon --start --exec openl2tpd $OPENL2TPDARGS
+@@ -57,7 +57,7 @@ stop() {
+ return 1;
+ fi
+ killproc openl2tpd
+- modprobe -s -r pppol2tp || modprobe -s -r l2tp_ppp
++ modprobe -srq pppol2tp || modprobe -srq l2tp_ppp
+ echo
+ rm -f /var/run/openl2tpd.pid
+ rm -f /var/lock/subsys/openl2tpd
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tpd-initscript-fix.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tpd-initscript-fix.patch
new file mode 100644
index 000000000..9ecd4b072
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tpd-initscript-fix.patch
@@ -0,0 +1,49 @@
+commit 7c58a1e244ea83a9e7bbd51a6d354cee25cdbd33
+Author: Aws Ismail <aws.ismail@windriver.com>
+Date: Wed Sep 12 23:35:40 2012 -0400
+
+ Fix openl2tpd initscript
+
+ - Correct the location of the retval statement.
+ - use start-stop-daemon instead of daemon.
+
+ Signed-off-by: Aws Ismail <aws.ismail@windriver.com>
+
+ Upstream-Status: Inappropriate [OE specific]
+
+ Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+
+diff --git a/etc/rc.d/init.d/openl2tpd b/etc/rc.d/init.d/openl2tpd
+index ce21b50..7f27bb7 100755
+--- a/etc/rc.d/init.d/openl2tpd
++++ b/etc/rc.d/init.d/openl2tpd
+@@ -24,7 +24,7 @@ start() {
+ if [ -e /var/lock/subsys/openl2tpd ]; then
+ if [ -e /var/run/openl2tpd.pid ] && [ -e /proc/`cat /var/run/openl2tpd.pid` ]; then
+ echo -n $"cannot start openl2tpd: openl2tpd is already running.";
+- failure $"cannot start openl2tpd: openl2tpd already running.";
++ #failure $"cannot start openl2tpd: openl2tpd already running.";
+ echo
+ return 1
+ fi
+@@ -32,9 +32,9 @@ start() {
+ modprobe -s pppol2tp || modprobe -s l2tp_ppp
+ RETVAL=$?
+ if [ $RETVAL -eq 0 ]; then
+- daemon openl2tpd $OPENL2TPDARGS
++ start-stop-daemon --start --exec openl2tpd $OPENL2TPDARGS
++ RETVAL=$?
+ fi
+- RETVAL=$?
+ echo
+ if [ $RETVAL -eq 0 ]; then
+ touch /var/lock/subsys/openl2tpd
+@@ -52,7 +52,7 @@ stop() {
+ echo -n $"Stopping $prog: "
+ if [ ! -e /var/lock/subsys/openl2tpd ]; then
+ echo -n $"cannot stop openl2tpd: openl2tpd is not running."
+- failure $"cannot stop openl2tpd: openl2tpd is not running."
++ #failure $"cannot stop openl2tpd: openl2tpd is not running."
+ echo
+ return 1;
+ fi
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tpd.service b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tpd.service
new file mode 100644
index 000000000..7b3faf672
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tpd.service
@@ -0,0 +1,17 @@
+[Unit]
+Description=The open L2TP implementation
+After=network.target remote-fs.target nss-lookup.target rpcbind.target
+Requires=rpcbind.service
+
+[Service]
+Type=forking
+PIDFile=@STATEDIR@/run/openl2tpd.pid
+EnvironmentFile=@SYSCONFDIR@/default/openl2tpd
+ExecStartPre=@BASE_BINDIR@/sh -c "@BASE_SBINDIR@/modprobe -sq l2tp_ppp || @BASE_SBINDIR@/modprobe -sq pppol2tp"
+ExecStart=@SBINDIR@/openl2tpd $OPENL2TPDARGS
+ExecStartPost=@BASE_BINDIR@/sh -c 'if [ -n "$OPENL2TPD_CONFIG_FILE" ]; then sleep 1; @BINDIR@/l2tpconfig config restore file=$OPENL2TPD_CONFIG_FILE; fi'
+ExecStopPost=@BASE_BINDIR@/sh -c "@BASE_SBINDIR@/modprobe -rsq l2tp_ppp || @BASE_SBINDIR@/modprobe -rsq pppol2tp"
+SuccessExitStatus=1
+
+[Install]
+WantedBy=multi-user.target
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 e1670b3ae..bbde8a337 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
@@ -7,8 +7,15 @@ different configuration. It is used by several ISPs to provide \
L2TP services and by corporations to implement L2TP VPNs."
HOMEPAGE = "http://www.openl2tp.org/"
SECTION = "net"
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e9d9259cbbf00945adc25a470c1d3585"
+
+# cli and usl use license LGPL-2.1
+LICENSE = "GPL-2.0 & LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e9d9259cbbf00945adc25a470c1d3585 \
+ file://LICENSE;md5=f8970abd5ea9be701a0deedf5afd77a5 \
+ file://cli/LICENSE;md5=9c1387a3c5213aa40671438af3e00793 \
+ file://usl/LICENSE;md5=9c1387a3c5213aa40671438af3e00793 \
+ "
+
DEPENDS = "popt flex readline"
SRC_URI = "ftp://ftp.openl2tp.org/releases/${BP}/${BP}.tar.gz \
@@ -20,16 +27,24 @@ SRC_URI = "ftp://ftp.openl2tp.org/releases/${BP}/${BP}.tar.gz \
file://0002-cli-include-fcntl.h-for-O_CREAT-define.patch \
file://0003-cli-Define-_GNU_SOURCE-for-getting-sighandler_t.patch \
file://0001-l2tp_api-Included-needed-headers.patch \
+ file://openl2tpd-initscript-fix.patch \
+ file://openl2tpd-initscript-fix-sysconfig.patch \
+ file://openl2tpd-initscript-fix-warning.patch \
+ file://openl2tpd.service \
"
SRC_URI_append_libc-musl = "\
file://0004-Adjust-for-linux-kernel-headers-assumptions-on-glibc.patch \
file://0002-user-ipv6-structures.patch \
+ file://0001-l2tp_api.c-include-rpc-clnt.h-for-resultproc_t.patch \
"
SRC_URI[md5sum] = "e3d08dedfb9e6a9a1e24f6766f6dadd0"
SRC_URI[sha256sum] = "1c97704d4b963a87fbc0e741668d4530933991515ae9ab0dffd11b5444f4860f"
-inherit autotools-brokensep pkgconfig
+inherit autotools-brokensep pkgconfig systemd
+
+SYSTEMD_SERVICE_${PN} = "openl2tpd.service"
+SYSTEMD_AUTO_ENABLE = "disable"
DEPENDS_append_libc-musl = " libtirpc"
CPPFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc"
@@ -51,3 +66,23 @@ do_compile_prepend() {
-e 's:CPPFLAGS-y:CPPFLAGS:g' \
${S}/Makefile
}
+
+do_install_append () {
+ install -d ${D}${sysconfdir}/init.d
+ install -d ${D}${sysconfdir}/default
+ install -m 0755 ${S}/etc/rc.d/init.d/openl2tpd ${D}${sysconfdir}/init.d/openl2tpd
+ install -m 0755 ${S}/etc/sysconfig/openl2tpd ${D}${sysconfdir}/default/openl2tpd
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -D -m 0644 ${WORKDIR}/openl2tpd.service ${D}${systemd_system_unitdir}/openl2tpd.service
+ sed -i -e 's,@STATEDIR@,${localstatedir},g' \
+ -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ -e 's,@SBINDIR@,${sbindir},g' \
+ -e 's,@BINDIR@,${bindir},g' \
+ -e 's,@BASE_SBINDIR@,${base_sbindir},g' \
+ -e 's,@BASE_BINDIR@,${base_bindir},g' \
+ ${D}${systemd_system_unitdir}/openl2tpd.service
+ fi
+}
+
+RDEPENDS_${PN} = "ppp ppp-l2tp bash"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux/0001-include-missing-sys-types.h.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux/0001-include-missing-sys-types.h.patch
new file mode 100644
index 000000000..804bf1234
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux/0001-include-missing-sys-types.h.patch
@@ -0,0 +1,28 @@
+From f6c4d2468ae0dadd2f35680d61b98b2a59077328 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 7 Jul 2017 10:31:03 -0700
+Subject: [PATCH] include missing sys/types.h
+
+Fixes errors seen on musl
+pqueue.h:21:3: error: unknown type name 'u_int32_t'
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ pqueue.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/pqueue.h b/pqueue.h
+index c37ba7b..ae4cc6a 100644
+--- a/pqueue.h
++++ b/pqueue.h
+@@ -3,6 +3,7 @@
+
+ #include <time.h>
+ #include <sys/time.h>
++#include <sys/types.h>
+
+ /* wait this many seconds for missing packets before forgetting about them */
+ #define DEFAULT_PACKET_TIMEOUT 0.3
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux-1.8.0/options.pptp b/import-layers/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux/options.pptp
index f446e22a6..f446e22a6 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux-1.8.0/options.pptp
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux/options.pptp
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.8.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.8.0.bb
deleted file mode 100644
index bc8b2cb2b..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.8.0.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "Client for Microsoft PPTP VPNs"
-DESCRIPTION = "PPTP Client is a Linux, FreeBSD, NetBSD \
- and OpenBSD client for the proprietary Microsoft Point-to-Point \
- Tunneling Protocol, PPTP. Allows connection to a PPTP based \
- Virtual Private Network (VPN) as used by employers and some \
- cable and ADSL internet service providers."
-HOMEPAGE = "http://pptpclient.sourceforge.net"
-SECTION = "net"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-PR = "r1"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/sourceforge/pptpclient/pptp-${PV}.tar.gz \
- file://options.pptp \
-"
-
-SRC_URI[md5sum] = "4efce9f263e2c3f38d79d9df222476de"
-SRC_URI[sha256sum] = "e39c42d933242a8a6dd8600a0fa7f0a5ec8f066d10c4149d8e81a5c68fe4bbda"
-
-S = "${WORKDIR}/pptp-${PV}"
-
-EXTRA_OEMAKE = "-e MAKEFLAGS="
-
-do_install() {
- install -d ${D}${sbindir} ${D}${sysconfdir}/ppp ${D}${mandir}/man8
- install -m 555 pptp ${D}${sbindir}
- install -m 644 pptp.8 ${D}${mandir}/man8
- install -m 644 ${WORKDIR}/options.pptp ${D}${sysconfdir}/ppp
-}
-
-RDEPENDS_${PN} = "ppp"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.9.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.9.0.bb
new file mode 100644
index 000000000..10c9170fb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.9.0.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Client for Microsoft PPTP VPNs"
+DESCRIPTION = "PPTP Client is a Linux, FreeBSD, NetBSD \
+ and OpenBSD client for the proprietary Microsoft Point-to-Point \
+ Tunneling Protocol, PPTP. Allows connection to a PPTP based \
+ Virtual Private Network (VPN) as used by employers and some \
+ cable and ADSL internet service providers."
+HOMEPAGE = "http://pptpclient.sourceforge.net"
+SECTION = "net"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/sourceforge/pptpclient/pptp-${PV}.tar.gz \
+ file://options.pptp \
+ file://0001-include-missing-sys-types.h.patch \
+ "
+
+SRC_URI[md5sum] = "b2117b377f65294a9786f80f0235d308"
+SRC_URI[sha256sum] = "0b1e8cbfc578d3f5ab12ee87c5c2c60419abfe9cc445690a8a19c320b11c9201"
+
+S = "${WORKDIR}/pptp-${PV}"
+
+EXTRA_OEMAKE = "-e MAKEFLAGS="
+
+do_install() {
+ install -d ${D}${sbindir} ${D}${sysconfdir}/ppp ${D}${mandir}/man8
+ install -m 555 pptp ${D}${sbindir}
+ install -m 644 pptp.8 ${D}${mandir}/man8
+ install -m 644 ${WORKDIR}/options.pptp ${D}${sysconfdir}/ppp
+}
+
+RDEPENDS_${PN} = "ppp"
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 4fb6723c3..dfd6aa7eb 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
@@ -7,21 +7,20 @@ Ishiguro. The Quagga tree aims to build a more involved community \
around Quagga than the current centralised model of GNU Zebra."
HOMEPAGE = "http://www.nongnu.org/quagga/"
SECTION = "net"
-LICENSE = "GPL-2.0 & LGPL-2.0"
-DEPENDS = "readline ncurses perl-native"
-DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'snmp', 'net-snmp', '', d)}"
-SNMP_CONF="${@bb.utils.contains('DISTRO_FEATURES', 'snmp', '--enable-snmp', '', d)}"
+
+LICENSE = "GPL-2.0 & LGPL-2.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=81bcece21748c91ba9992349a91ec11d \
file://COPYING.LIB;md5=01ef24401ded36cd8e5d18bfe947240c"
+DEPENDS = "readline ncurses perl-native c-ares"
+DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'snmp', 'net-snmp', '', d)}"
+SNMP_CONF="${@bb.utils.contains('DISTRO_FEATURES', 'snmp', '--enable-snmp', '', d)}"
+
# the "ip" command from busybox is not sufficient (flush by protocol flushes all routes)
RDEPENDS_${PN} += "iproute2"
-QUAGGASUBDIR = ""
-# ${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; \
+SRC_URI = "${SAVANNAH_GNU_MIRROR}/quagga/quagga-${PV}.tar.gz; \
file://quagga.init \
file://quagga.default \
file://watchquagga.init \
@@ -35,7 +34,7 @@ SRC_URI = "${SAVANNAH_GNU_MIRROR}/quagga${QUAGGASUBDIR}/quagga-${PV}.tar.gz; \
file://ripd.service \
file://ripngd.service \
file://zebra.service \
-"
+ "
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
PACKAGECONFIG[cap] = "--enable-capabilities,--disable-capabilities,libcap"
@@ -108,10 +107,6 @@ do_install () {
sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/* ${D}${sysconfdir}/default/volatiles/volatiles.03_quagga
sed -i 's!^PATH=.*!PATH=${base_sbindir}:${sbindir}:${base_bindir}:${bindir}!' ${D}${sysconfdir}/init.d/*
- # Remove generated info dir file, it doesn't belong in the generated
- # package.
- rm -f ${D}${infodir}/dir
-
# For PAM
for feature in ${DISTRO_FEATURES}; do
if [ "$feature" = "pam" ]; then
@@ -188,9 +183,6 @@ CONFFILES_${PN}-watchquagga = "${sysconfdir}/default/watchquagga"
DEBIAN_NOAUTONAME_${PN}-ospfd = "1"
DEBIAN_NOAUTONAME_${PN}-ospfclient = "1"
-# the "ip" command from busybox is not sufficient (flush by protocol flushes all routes)
-RDEPENDS_${PN} += "iproute2"
-
# Main init script starts all deamons
# Seperate init script for watchquagga
INITSCRIPT_PACKAGES = "${PN} ${PN}-watchquagga"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga_1.1.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga_1.1.0.bb
deleted file mode 100644
index 1b5c34c87..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga_1.1.0.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require quagga.inc
-
-SRC_URI[md5sum] = "daa303871e07ea5856aae6fd79e89722"
-SRC_URI[sha256sum] = "f7a43a9c59bfd3722002210530b2553c8d5cc05bfea5acd56d4f102b9f55dc63"
-
-QUAGGASUBDIR = ""
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga_1.2.1.bb b/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga_1.2.1.bb
new file mode 100644
index 000000000..4d43d7b2a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga_1.2.1.bb
@@ -0,0 +1,4 @@
+require quagga.inc
+
+SRC_URI[md5sum] = "b1546de89062f7070d56e780b30be4b1"
+SRC_URI[sha256sum] = "aaddba5d4f41ed8e4c2f155f4584c993465d122c9096b5b52ada3fc75266fbcd"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc b/import-layers/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc
index 6f7f69330..d037c7cfc 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc
@@ -6,12 +6,9 @@ DEPENDS = "ppp virtual/kernel"
PACKAGE_ARCH = "${MACHINE_ARCH}"
LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0636e73ff0215e8d672dc4c32c317bb3"
-
-INC_PR = "r0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "git://github.com/xelerance/xl2tpd.git \
- file://fix-inline-functions-errors-with-gcc-5.x.patch \
"
S = "${WORKDIR}/git"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd/fix-inline-functions-errors-with-gcc-5.x.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd/fix-inline-functions-errors-with-gcc-5.x.patch
deleted file mode 100644
index b75c9129d..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd/fix-inline-functions-errors-with-gcc-5.x.patch
+++ /dev/null
@@ -1,134 +0,0 @@
-Upstream-Status: Backport
-
-Backport from https://github.com/xelerance/xl2tpd/commit/9098f64950eb22cf049058d40f647bafdb822174
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
-From 9098f64950eb22cf049058d40f647bafdb822174 Mon Sep 17 00:00:00 2001
-From: Kai Kang <kai.kang@windriver.com>
-Date: Wed, 23 Sep 2015 10:41:05 +0800
-Subject: [PATCH] Fix build errors caused by inline function with gcc 5
-
-GCC 5 defaults to -std=gnu11 instead of -std=gnu89. And -std=gnu89
-employs the GNU89 inline semantics, -std=gnu11 uses the C99 inline
-semantics.
-
-For 'inline' fuction, it is NOT exported by C99. So error messages such as:
-
-| control.c:1717: undefined reference to `check_control'
-
-For these functions which is not referred by other compile units, make
-them 'static inline'.
-
-For 'extern inline' function, it fails such as:
-
-| misc.h:68:20: warning: inline function 'swaps' declared but never defined
-| extern inline void swaps (void *, int);
-| ^
-
-Because function swaps() is referred by other compile units, it must be
-exported. The semantics of 'extern inline' are not same between GNU89
-and C99, so remove 'inline' attribute for compatible with GNU89.
-
-Ref:
-https://gcc.gnu.org/gcc-5/porting_to.html
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
- control.c | 8 ++++----
- misc.c | 2 +-
- misc.h | 2 +-
- network.c | 4 ++--
- 4 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/control.c b/control.c
-index b2891a9..c4a39b5 100644
---- a/control.c
-+++ b/control.c
-@@ -1140,7 +1140,7 @@ int control_finish (struct tunnel *t, struct call *c)
- return 0;
- }
-
--inline int check_control (const struct buffer *buf, struct tunnel *t,
-+static inline int check_control (const struct buffer *buf, struct tunnel *t,
- struct call *c)
- {
- /*
-@@ -1276,7 +1276,7 @@ inline int check_control (const struct buffer *buf, struct tunnel *t,
- return 0;
- }
-
--inline int check_payload (struct buffer *buf, struct tunnel *t,
-+static inline int check_payload (struct buffer *buf, struct tunnel *t,
- struct call *c)
- {
- /*
-@@ -1382,7 +1382,7 @@ inline int check_payload (struct buffer *buf, struct tunnel *t,
- #endif
- return 0;
- }
--inline int expand_payload (struct buffer *buf, struct tunnel *t,
-+static inline int expand_payload (struct buffer *buf, struct tunnel *t,
- struct call *c)
- {
- /*
-@@ -1562,7 +1562,7 @@ void send_zlb (void *data)
- toss (buf);
- }
-
--inline int write_packet (struct buffer *buf, struct tunnel *t, struct call *c,
-+static inline int write_packet (struct buffer *buf, struct tunnel *t, struct call *c,
- int convert)
- {
- /*
-diff --git a/misc.c b/misc.c
-index 3092401..af90dbf 100644
---- a/misc.c
-+++ b/misc.c
-@@ -170,7 +170,7 @@ void do_packet_dump (struct buffer *buf)
- printf ("}\n");
- }
-
--inline void swaps (void *buf_v, int len)
-+void swaps (void *buf_v, int len)
- {
- #ifdef __alpha
- /* Reverse byte order alpha is little endian so lest save a step.
-diff --git a/misc.h b/misc.h
-index aafdc62..caab7a1 100644
---- a/misc.h
-+++ b/misc.h
-@@ -65,7 +65,7 @@ extern void l2tp_log (int level, const char *fmt, ...);
- extern struct buffer *new_buf (int);
- extern void udppush_handler (int);
- extern int addfcs (struct buffer *buf);
--extern inline void swaps (void *, int);
-+extern void swaps (void *, int);
- extern void do_packet_dump (struct buffer *);
- extern void status (const char *fmt, ...);
- extern void status_handler (int signal);
-diff --git a/network.c b/network.c
-index b1268c6..d324a71 100644
---- a/network.c
-+++ b/network.c
-@@ -135,7 +135,7 @@ int init_network (void)
- return 0;
- }
-
--inline void extract (void *buf, int *tunnel, int *call)
-+static inline void extract (void *buf, int *tunnel, int *call)
- {
- /*
- * Extract the tunnel and call #'s, and fix the order of the
-@@ -155,7 +155,7 @@ inline void extract (void *buf, int *tunnel, int *call)
- }
- }
-
--inline void fix_hdr (void *buf)
-+static inline void fix_hdr (void *buf)
- {
- /*
- * Fix the byte order of the header
---
-2.6.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_git.bb b/import-layers/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_git.bb
index 42bc398a1..88ae5d6f8 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_git.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_git.bb
@@ -2,7 +2,7 @@ require xl2tpd.inc
# This is v1.3.6 plus some commits. There is no tag for this commit.
#
-PV = "1.3.6+git${SRCPV}"
+PV = "1.3.9+git${SRCPV}"
-SRCREV = "a96b345962622ea58490924130675df6db062d11"
+SRCREV = "f114c10ac532051badeca0132b144a2f1596f047"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables_git.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables_git.bb
index 274a55d91..cec1d1f77 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables_git.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables_git.bb
@@ -23,7 +23,8 @@ inherit systemd
EXTRA_OEMAKE = "'BINDIR=${sbindir}' 'MANDIR=${mandir}'"
-do_install_append() {
+do_install() {
+ oe_runmake install DESTDIR=${D}
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
install -d ${D}${systemd_unitdir}/system
install -m 644 ${WORKDIR}/arptables.service ${D}${systemd_unitdir}/system
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
deleted file mode 100644
index 10fad4e94..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares/0001-configure.ac-don-t-override-passed-cflags.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-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/cmake-install-libcares.pc.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares/cmake-install-libcares.pc.patch
new file mode 100644
index 000000000..5dd4c7d77
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares/cmake-install-libcares.pc.patch
@@ -0,0 +1,105 @@
+From 7e1ae687916fd5878ee755afbdea6b10494e0b92 Mon Sep 17 00:00:00 2001
+From: Alexey Firago <alexey_firago@mentor.com>
+Date: Wed, 26 Jul 2017 23:21:25 +0300
+Subject: [PATCH] cmake: Install libcares.pc
+
+Prepare and install libcares.pc file during cmake build, so libraries
+using pkg-config to find libcares will not fail.
+
+Signed-off-by: Alexey Firago <alexey_firago@mentor.com>
+---
+ CMakeLists.txt | 21 +++++++++++++++++++++
+ libcares.pc.cmakein | 20 ++++++++++++++++++++
+ 2 files changed, 41 insertions(+)
+ create mode 100644 libcares.pc.cmakein
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 364b6c7..0016b67 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -173,21 +173,29 @@ ADD_DEFINITIONS(${SYSFLAGS})
+
+
+ # Tell C-Ares about libraries to depend on
++# Also pass these libraries to pkg-config file
++SET(CARES_PRIVATE_LIBS_LIST)
+ IF (HAVE_LIBRESOLV)
+ LIST (APPEND CARES_DEPENDENT_LIBS resolv)
++ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lresolv")
+ ENDIF ()
+ IF (HAVE_LIBNSL)
+ LIST (APPEND CARES_DEPENDENT_LIBS nsl)
++ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lnsl")
+ ENDIF ()
+ IF (HAVE_LIBSOCKET)
+ LIST (APPEND CARES_DEPENDENT_LIBS socket)
++ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lsocket")
+ ENDIF ()
+ IF (HAVE_LIBRT)
+ LIST (APPEND CARES_DEPENDENT_LIBS rt)
++ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lrt")
+ ENDIF ()
+ IF (WIN32)
+ LIST (APPEND CARES_DEPENDENT_LIBS ws2_32)
++ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lws2_32")
+ ENDIF ()
++string (REPLACE ";" " " CARES_PRIVATE_LIBS "${CARES_PRIVATE_LIBS_LIST}")
+
+
+ # When checking for symbols, we need to make sure we set the proper
+@@ -489,6 +497,13 @@ CONFIGURE_FILE (ares_build.h.cmake ${PROJECT_BINARY_DIR}/ares_build.h)
+ # Write ares_config.h configuration file. This is used only for the build.
+ CONFIGURE_FILE (ares_config.h.cmake ${PROJECT_BINARY_DIR}/ares_config.h)
+
++# Pass required CFLAGS to pkg-config in case of static library
++IF (CARES_STATIC)
++ SET (CPPFLAG_CARES_STATICLIB "-DCARES_STATICLIB")
++ENDIF()
++
++# Write ares_config.h configuration file. This is used only for the build.
++CONFIGURE_FILE (libcares.pc.cmakein ${PROJECT_BINARY_DIR}/libcares.pc @ONLY)
+
+ # TRANSFORM_MAKEFILE_INC
+ #
+@@ -625,6 +640,12 @@ IF (CARES_INSTALL)
+ INSTALL (FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake" DESTINATION ${CMAKECONFIG_INSTALL_DIR})
+ ENDIF ()
+
++# pkg-config file
++IF (CARES_INSTALL)
++ SET (PKGCONFIG_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
++ INSTALL (FILES "${CMAKE_CURRENT_BINARY_DIR}/libcares.pc" DESTINATION ${PKGCONFIG_INSTALL_DIR})
++ENDIF ()
++
+ # Legacy chain-building variables (provided for compatibility with old code).
+ # Don't use these, external code should be updated to refer to the aliases directly (e.g., Cares::cares).
+ SET (CARES_FOUND 1 CACHE INTERNAL "CARES LIBRARY FOUND")
+diff --git a/libcares.pc.cmakein b/libcares.pc.cmakein
+new file mode 100644
+index 0000000..f29fede
+--- /dev/null
++++ b/libcares.pc.cmakein
+@@ -0,0 +1,20 @@
++#***************************************************************************
++# Project ___ __ _ _ __ ___ ___
++# / __|____ / _` | '__/ _ \/ __|
++# | (_|_____| (_| | | | __/\__ \
++# \___| \__,_|_| \___||___/
++#
++prefix=@CMAKE_INSTALL_PREFIX@
++exec_prefix=@CMAKE_INSTALL_PREFIX@
++libdir=@CMAKE_INSTALL_FULL_LIBDIR@
++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
++
++Name: c-ares
++URL: http://daniel.haxx.se/projects/c-ares/
++Description: asynchronous DNS lookup library
++Version: @VERSION@
++Requires:
++Requires.private:
++Cflags: -I${includedir} @CPPFLAG_CARES_STATICLIB@
++Libs: -L${libdir} -lcares
++Libs.private: @CARES_PRIVATE_LIBS@
+--
+2.7.4
+
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
deleted file mode 100644
index 4e28d6abc..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares_1.12.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-# 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/c-ares/c-ares_1.13.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares_1.13.0.bb
new file mode 100644
index 000000000..70e497f5f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares_1.13.0.bb
@@ -0,0 +1,24 @@
+# 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"
+SRCREV = "3be1924221e1326df520f8498d704a5c4c8d0cce"
+PV = "1.13.0+gitr${SRCPV}"
+
+SRC_URI = "\
+ git://github.com/c-ares/c-ares.git \
+ file://cmake-install-libcares.pc.patch \
+"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
+
+PACKAGES =+ "${PN}-utils"
+
+FILES_${PN}-dev += "${libdir}/cmake"
+FILES_${PN}-utils = "${bindir}"
+
+BBCLASSEXTEND = "native"
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 efda70755..3ca5b780b 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,12 +4,13 @@ SECTION = "otherosfs"
LICENSE = "GPLv3 & LGPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-PV = "6.6"
+PV = "6.7"
-SRCREV = "7926aaea98cdc96b6544b8e21fb5b0b4422c340d"
+SRCREV = "8101a07871f185c7044fa2ca221b282ab4607c8b"
SRC_URI = "git://git.samba.org/cifs-utils.git"
S = "${WORKDIR}/git"
+DEPENDS += "libtalloc"
PACKAGECONFIG ??= ""
PACKAGECONFIG[cap] = "--with-libcap,--without-libcap,libcap"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/curlpp/curlpp/example21.cpp-remove-deprecated-code.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/curlpp/curlpp/example21.cpp-remove-deprecated-code.patch
deleted file mode 100644
index dae583d85..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/curlpp/curlpp/example21.cpp-remove-deprecated-code.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-example21.cpp: remove deprecated code
-
-The deprecated code was no longer used, so remove it to avoid
-compiling failure with -Werror=unused-function
-...
-| example21.cpp:51:8: error: 'size_t {anonymous}::readData(char*,
-size_t, size_t)' defined but not used [-Werror=unused-function]
-| size_t readData(char *buffer, size_t size, size_t nitems)
-...
-
-Upstream-Status: Pending
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- examples/example21.cpp | 17 -----------------
- 1 file changed, 17 deletions(-)
-
-diff --git a/examples/example21.cpp b/examples/example21.cpp
---- a/examples/example21.cpp
-+++ b/examples/example21.cpp
-@@ -39,23 +39,6 @@
- #include <curlpp/Options.hpp>
- #include <curlpp/Exception.hpp>
-
--/*
-- anonymous namespace to prevent name clash in case other examples using the same global entities
-- would be compiled in the same project
--*/
--namespace
--{
--
--char *data = NULL;
--
--size_t readData(char *buffer, size_t size, size_t nitems)
--{
-- strncpy(buffer, data, size * nitems);
-- return size * nitems;
--}
--
--} // namespace
--
- int main(int argc, char *argv[])
- {
- if(argc != 3) {
---
-1.9.1
-
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 ef79c5f82..4f4bbf144 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
@@ -6,8 +6,8 @@ LICENSE = "GPLv2 | GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
file://COPYING-v3;md5=d32239bcb673463ab874e80d47fae504"
-#at least versions 2.15 and prior are moved to the archive folder on the server
-SRC_URI = "http://www.thekelleys.org.uk/dnsmasq/${@['archive/', ''][float(d.getVar('PV').split('.')[1]) > 15]}dnsmasq-${PV}.tar.gz;name=dnsmasq-${PV} \
+#at least versions 2.69 and prior are moved to the archive folder on the server
+SRC_URI = "http://www.thekelleys.org.uk/dnsmasq/${@['archive/', ''][float(d.getVar('PV').split('.')[1]) > 69]}dnsmasq-${PV}.tar.gz;name=dnsmasq-${PV} \
file://init \
file://dnsmasq.conf \
file://dnsmasq-resolvconf.service \
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq/lua.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq/lua.patch
index 918c0b6d5..0991dd8b9 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq/lua.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq/lua.patch
@@ -1,29 +1,30 @@
-From 1e5be0a0bcf85913d63408030dec038d360a5fa6 Mon Sep 17 00:00:00 2001
+From be1b3d2d0f1608cba5efee73d6aac5ad0709041b Mon Sep 17 00:00:00 2001
From: Joe MacDonald <joe_macdonald@mentor.com>
Date: Tue, 9 Sep 2014 10:24:58 -0400
Subject: [PATCH] Upstream-status: Inappropriate [OE specific]
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
- Makefile | 4 ++--
+ Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
-index fc38393..a79f8bf 100644
+index 73ea23e..ed3eeb9 100644
--- a/Makefile
+++ b/Makefile
-@@ -57,8 +57,8 @@ idn_cflags = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_IDN $(PKG_CONFIG) -
- idn_libs = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_IDN $(PKG_CONFIG) --libs libidn`
+@@ -59,8 +59,8 @@ idn2_cflags = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_LIBIDN2 $(PKG_CONFI
+ idn2_libs = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_LIBIDN2 $(PKG_CONFIG) --libs libidn2`
ct_cflags = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_CONNTRACK $(PKG_CONFIG) --cflags libnetfilter_conntrack`
ct_libs = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_CONNTRACK $(PKG_CONFIG) --libs libnetfilter_conntrack`
--lua_cflags = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_LUASCRIPT $(PKG_CONFIG) --cflags lua5.1`
--lua_libs = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_LUASCRIPT $(PKG_CONFIG) --libs lua5.1`
+-lua_cflags = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_LUASCRIPT $(PKG_CONFIG) --cflags lua5.2`
+-lua_libs = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_LUASCRIPT $(PKG_CONFIG) --libs lua5.2`
+lua_cflags = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_LUASCRIPT $(PKG_CONFIG) --cflags lua`
+lua_libs = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_LUASCRIPT $(PKG_CONFIG) --libs lua`
nettle_cflags = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_DNSSEC $(PKG_CONFIG) --cflags nettle hogweed`
nettle_libs = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_DNSSEC $(PKG_CONFIG) --libs nettle hogweed`
- gmp_libs = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_DNSSEC $(PKG_CONFIG) --copy -lgmp`
+ gmp_libs = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_DNSSEC NO_GMP --copy -lgmp`
--
-1.7.9.5
+2.9.5
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
deleted file mode 100644
index 41573d9dd..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.76.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-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/dnsmasq/dnsmasq_2.78.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.78.bb
new file mode 100644
index 000000000..4d1dc6e69
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.78.bb
@@ -0,0 +1,8 @@
+require dnsmasq.inc
+
+SRC_URI += "\
+ file://lua.patch \
+"
+
+SRC_URI[dnsmasq-2.78.md5sum] = "3bb97f264c73853f802bf70610150788"
+SRC_URI[dnsmasq-2.78.sha256sum] = "c92e5d78aa6353354d02aabf74590d08980bb1385d8a00b80ef9bc80430aa1dc"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot/0001-doveadm-Fix-parallel-build.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot/0001-doveadm-Fix-parallel-build.patch
new file mode 100644
index 000000000..65ae9bf91
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot/0001-doveadm-Fix-parallel-build.patch
@@ -0,0 +1,38 @@
+From be9b3809b86fe593dbb16f0b981b3d315a27b799 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 22 Oct 2017 22:10:41 -0700
+Subject: [PATCH] doveadm: Fix parallel build
+
+Sometimes dovetail build fails with errors like
+
+doveadm-util.o: file not recognized: File truncated
+collect2: error: ld returned 1 exit status
+make[4]: *** [Makefile:812: test-doveadm-util] Error 1
+
+This is partial backport from
+
+https://github.com/dovecot/core/commit/b200bc3875fa06d42c8619865cc306c3297fcacc
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/doveadm/Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/doveadm/Makefile.am b/src/doveadm/Makefile.am
+index c644646..6ae9144 100644
+--- a/src/doveadm/Makefile.am
++++ b/src/doveadm/Makefile.am
+@@ -180,8 +180,8 @@ test_libs = \
+ ../lib/liblib.la
+ test_deps = $(noinst_LTLIBRARIES) $(test_libs)
+
+-test_doveadm_util_SOURCES = test-doveadm-util.c
+-test_doveadm_util_LDADD = doveadm-util.o $(test_libs) $(MODULE_LIBS)
++test_doveadm_util_SOURCES = doveadm-util.c test-doveadm-util.c
++test_doveadm_util_LDADD = $(test_libs) $(MODULE_LIBS)
+ test_doveadm_util_DEPENDENCIES = $(test_deps)
+
+ check: check-am check-test
+--
+2.14.2
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.29.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.29.bb
index b2a3de394..166340873 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.29.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.29.bb
@@ -1,4 +1,5 @@
SUMMARY = "Dovecot is an open source IMAP and POP3 email server"
+HOMEPAGE = "https://www.dovecot.org/"
DESCRIPTION = "Dovecot is an open source IMAP and POP3 email server for Linux/UNIX-like systems, written with security primarily in mind. Dovecot is an excellent choice for both small and large installations. It's fast, simple to set up, requires no special administration and it uses very little memory."
SECTION = "mail"
LICENSE = "LGPLv2.1 & MIT"
@@ -7,7 +8,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a981379bd0f1c362f8d1d21515e5b30b"
SRC_URI = "http://dovecot.org/releases/2.2/dovecot-${PV}.tar.gz \
file://0001-configure.ac-convert-AC_TRY_RUN-to-AC_TRY_LINK-state.patch \
file://dovecot.service \
- file://dovecot.socket"
+ file://dovecot.socket \
+ file://0001-doveadm-Fix-parallel-build.patch \
+ "
SRC_URI[md5sum] = "ff95486a5c43025a2c3f5a712e7962b9"
SRC_URI[sha256sum] = "d939ea99126eb8a8c6955390b422b6e27ec0fa43a3b59b2b3218cb5ad67139a6"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/drbd/drbd/check_existence_of_modules_before_installing.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/drbd/drbd/check_existence_of_modules_before_installing.patch
new file mode 100644
index 000000000..6414f7305
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/drbd/drbd/check_existence_of_modules_before_installing.patch
@@ -0,0 +1,24 @@
+If CONFIG_BLK_DEV_DRBD kernel config is enabled, then DRBD
+does not build drbd.ko here. Under this circumstance do_install
+task is going to fail with a below error:
+-- snip --
+| install: cannot stat ‘drbd.ko’: No such file or directory
+| make[1]: *** [install] Error 1
+-- snip --
+
+So, check for kernel module existence before installing.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
+--- drbd-9.0.1-1/drbd/Makefile 2016-07-03 06:54:19.421538690 -0700
++++ drbd-9.0.1-1/drbd/Makefile_mod 2016-07-03 06:53:18.938801628 -0700
+@@ -158,7 +158,7 @@ else
+ fi
+ install -d $(DESTDIR)/lib/modules/$(KERNELRELEASE)/$(MODSUBDIR)
+ set -e ; for ko in $(MODOBJS); do \
+- install -m 644 $$ko $(DESTDIR)/lib/modules/$(KERNELRELEASE)/$(MODSUBDIR); \
++ [ -e $$ko ] && install -m 644 $$ko $(DESTDIR)/lib/modules/$(KERNELRELEASE)/$(MODSUBDIR); \
+ done
+ ifeq ($(DESTDIR),/)
+ ifeq ($(shell uname -r),$(KERNELRELEASE))
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/drbd/drbd_9.0.8-1.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/drbd/drbd_9.0.8-1.bb
new file mode 100644
index 000000000..e943f2464
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/drbd/drbd_9.0.8-1.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Distributed block device driver for Linux"
+DESCRIPTION = "DRBD is a block device which is designed to build high \
+ availability clusters. This is done by mirroring a whole \
+ block device via (a dedicated) network. You could see \
+ it as a network raid-1."
+HOMEPAGE = "http://oss.linbit.com/drbd/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018"
+DEPENDS = "virtual/kernel"
+
+SRC_URI = "http://www.linbit.com/downloads/drbd/9.0/drbd-${PV}.tar.gz \
+ file://check_existence_of_modules_before_installing.patch"
+
+SRC_URI[md5sum] = "c1dd58043f46e9926b579aa65d4ea980"
+SRC_URI[sha256sum] = "87f72d46db9bad926415b3ab9f5f1397de8c581d2e2ec1addbdd5ce2604e6123"
+inherit module
+
+EXTRA_OEMAKE += "KDIR='${STAGING_KERNEL_DIR}'"
+
+do_install () {
+ oe_runmake install DESTDIR="${D}"
+}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.3.26.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.3.26.bb
index 359911ece..1d78288c8 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.3.26.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.3.26.bb
@@ -1,4 +1,5 @@
SUMMARY = "Fetchmail retrieves mail from remote mail servers and forwards it via SMTP"
+HOMEPAGE = "http://www.fetchmail.info/"
DESCRIPTION = "Fetchmail is a full-featured, robust, well-documented remote-mail retrieval and forwarding utility intended to be used over on-demand TCP/IP links (such as SLIP or PPP connections). It supports every remote-mail protocol now in use on the Internet: POP2, POP3, RPOP, APOP, KPOP, all flavors of IMAP, ETRN, and ODMR. It can even support IPv6 and IPSEC."
SECTION = "mail"
LICENSE = "GPLv2 & MIT"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate-2.2.2/GeoIP.conf b/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate-2.4.0/GeoIP.conf
index 134cfed1f..134cfed1f 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate-2.2.2/GeoIP.conf
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate-2.4.0/GeoIP.conf
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate-2.2.2/geoipupdate.cron b/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate-2.4.0/geoipupdate.cron
index 40597a856..40597a856 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate-2.2.2/geoipupdate.cron
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate-2.4.0/geoipupdate.cron
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
deleted file mode 100644
index 3bc936a0d..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate_2.2.2.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.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/geoip/geoipupdate_2.4.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate_2.4.0.bb
new file mode 100644
index 000000000..3e045bb27
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate_2.4.0.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Crontab entry to provide weekly updates of the GeoIP free databases."
+DESCRIPTION = "update databases for GeoIP"
+
+HOMEPAGE = "http://dev.maxmind.com/geoip/"
+SECTION = "net"
+
+DEPENDS = "zlib curl"
+
+SRC_URI = "https://github.com/maxmind/geoipupdate/releases/download/v2.4.0/geoipupdate-2.4.0.tar.gz \
+ file://GeoIP.conf \
+ file://geoipupdate.cron \
+ "
+SRC_URI[md5sum] = "02f9712fb80e8e979d3d54cda7f7704f"
+SRC_URI[sha256sum] = "8b4e88ce8d84e9c75bc681704d19ec5c63c54f01e945f7669f97fb0df7e13952"
+
+LICENSE = "GPLv2"
+
+LIC_FILES_CHKSUM = "\
+file://ChangeLog.md;md5=334337b6ecbb65093bae66b3ae21c8c2 \
+"
+FILES_${PN} = "/usr/share/GeoIP \
+ /etc/GeoIP.conf \
+ /etc/cron.d/geoipupdate.cron \
+ /usr/bin/geoipupdate \
+"
+inherit autotools
+
+do_install_append() {
+ install -d ${D}/${sysconfdir}
+ install -d ${D}/${sysconfdir}/cron.d
+ install ${WORKDIR}/GeoIP.conf ${D}/${sysconfdir}/
+ install ${WORKDIR}/geoipupdate.cron ${D}/${sysconfdir}/cron.d/
+}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ifenslave/ifenslave_2.7.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/ifenslave/ifenslave_2.7.bb
deleted file mode 100644
index 50289211b..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/ifenslave/ifenslave_2.7.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-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
- install -m 0644 -D ${S}/debian/ifenslave.8 ${D}${mandir}/man8/ifenslave.8
-}
-
-FILES_${PN}-doc_remove = "${mandir}"
-FILES_${PN} += "${mandir}/man8/ifenslave.8"
-
-RDEPENDS_${PN} = "man"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ifenslave/ifenslave_2.9.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/ifenslave/ifenslave_2.9.bb
new file mode 100644
index 000000000..ea28b34aa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ifenslave/ifenslave_2.9.bb
@@ -0,0 +1,27 @@
+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=acc89812938cf9ad6b1debc37cea0253"
+
+
+SRCREV = "42bfbb9beb924672ca86b86e9679ac3d6b87d992"
+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
+ install -m 0644 -D ${S}/debian/ifenslave.8 ${D}${mandir}/man8/ifenslave.8
+}
+
+FILES_${PN}-doc_remove = "${mandir}"
+FILES_${PN} += "${mandir}/man8/ifenslave.8"
+
+RDEPENDS_${PN} = "man"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2016-10396.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2016-10396.patch
new file mode 100644
index 000000000..bd0796554
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2016-10396.patch
@@ -0,0 +1,207 @@
+Upstream-Status: Backport [https://anonscm.debian.org/cgit/pkg-ipsec-tools/pkg-ipsec-tools.git/plain/debian/patches/CVE-2016-10396.patch?id=62ac12648a4eb7c5ba5dba0f81998d1acf310d8b]
+
+Fix CVE-2016-10396.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+Description: Fix remotely exploitable DoS. http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10396
+Source: vendor; https://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=51682
+Bug-debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=867986
+
+Index: pkg-ipsec-tools/src/racoon/isakmp_frag.c
+===================================================================
+--- pkg-ipsec-tools.orig/src/racoon/isakmp_frag.c
++++ pkg-ipsec-tools/src/racoon/isakmp_frag.c
+@@ -1,4 +1,4 @@
+-/* $NetBSD: isakmp_frag.c,v 1.5 2009/04/22 11:24:20 tteras Exp $ */
++/* $NetBSD: isakmp_frag.c,v 1.5.36.1 2017/04/21 16:50:42 bouyer Exp $ */
+
+ /* Id: isakmp_frag.c,v 1.4 2004/11/13 17:31:36 manubsd Exp */
+
+@@ -173,6 +173,43 @@ vendorid_frag_cap(gen)
+ return ntohl(hp[MD5_DIGEST_LENGTH / sizeof(*hp)]);
+ }
+
++static int
++isakmp_frag_insert(struct ph1handle *iph1, struct isakmp_frag_item *item)
++{
++ struct isakmp_frag_item *pitem = NULL;
++ struct isakmp_frag_item *citem = iph1->frag_chain;
++
++ /* no frag yet, just insert at beginning of list */
++ if (iph1->frag_chain == NULL) {
++ iph1->frag_chain = item;
++ return 0;
++ }
++
++ do {
++ /* duplicate fragment number, abort (CVE-2016-10396) */
++ if (citem->frag_num == item->frag_num)
++ return -1;
++
++ /* need to insert before current item */
++ if (citem->frag_num > item->frag_num) {
++ if (pitem != NULL)
++ pitem->frag_next = item;
++ else
++ /* insert at the beginning of the list */
++ iph1->frag_chain = item;
++ item->frag_next = citem;
++ return 0;
++ }
++
++ pitem = citem;
++ citem = citem->frag_next;
++ } while (citem != NULL);
++
++ /* we reached the end of the list, insert */
++ pitem->frag_next = item;
++ return 0;
++}
++
+ int
+ isakmp_frag_extract(iph1, msg)
+ struct ph1handle *iph1;
+@@ -224,39 +261,43 @@ isakmp_frag_extract(iph1, msg)
+ item->frag_next = NULL;
+ item->frag_packet = buf;
+
+- /* Look for the last frag while inserting the new item in the chain */
+- if (item->frag_last)
+- last_frag = item->frag_num;
++ /* Check for the last frag before inserting the new item in the chain */
++ if (item->frag_last) {
++ /* if we have the last fragment, indices must match */
++ if (iph1->frag_last_index != 0 &&
++ item->frag_last != iph1->frag_last_index) {
++ plog(LLV_ERROR, LOCATION, NULL,
++ "Repeated last fragment index mismatch\n");
++ racoon_free(item);
++ vfree(buf);
++ return -1;
++ }
+
+- if (iph1->frag_chain == NULL) {
+- iph1->frag_chain = item;
+- } else {
+- struct isakmp_frag_item *current;
++ last_frag = iph1->frag_last_index = item->frag_num;
++ }
+
+- current = iph1->frag_chain;
+- while (current->frag_next) {
+- if (current->frag_last)
+- last_frag = item->frag_num;
+- current = current->frag_next;
+- }
+- current->frag_next = item;
++ /* insert fragment into chain */
++ if (isakmp_frag_insert(iph1, item) == -1) {
++ plog(LLV_ERROR, LOCATION, NULL,
++ "Repeated fragment index mismatch\n");
++ racoon_free(item);
++ vfree(buf);
++ return -1;
+ }
+
+- /* If we saw the last frag, check if the chain is complete */
++ /* If we saw the last frag, check if the chain is complete
++ * we have a sorted list now, so just walk through */
+ if (last_frag != 0) {
++ item = iph1->frag_chain;
+ for (i = 1; i <= last_frag; i++) {
+- item = iph1->frag_chain;
+- do {
+- if (item->frag_num == i)
+- break;
+- item = item->frag_next;
+- } while (item != NULL);
+-
++ if (item->frag_num != i)
++ break;
++ item = item->frag_next;
+ if (item == NULL) /* Not found */
+ break;
+ }
+
+- if (item != NULL) /* It is complete */
++ if (i > last_frag) /* It is complete */
+ return 1;
+ }
+
+@@ -291,15 +332,9 @@ isakmp_frag_reassembly(iph1)
+ }
+ data = buf->v;
+
++ item = iph1->frag_chain;
+ for (i = 1; i <= frag_count; i++) {
+- item = iph1->frag_chain;
+- do {
+- if (item->frag_num == i)
+- break;
+- item = item->frag_next;
+- } while (item != NULL);
+-
+- if (item == NULL) {
++ if (item->frag_num != i) {
+ plog(LLV_ERROR, LOCATION, NULL,
+ "Missing fragment #%d\n", i);
+ vfree(buf);
+@@ -308,6 +343,7 @@ isakmp_frag_reassembly(iph1)
+ }
+ memcpy(data, item->frag_packet->v, item->frag_packet->l);
+ data += item->frag_packet->l;
++ item = item->frag_next;
+ }
+
+ out:
+Index: pkg-ipsec-tools/src/racoon/isakmp_inf.c
+===================================================================
+--- pkg-ipsec-tools.orig/src/racoon/isakmp_inf.c
++++ pkg-ipsec-tools/src/racoon/isakmp_inf.c
+@@ -720,6 +720,7 @@ isakmp_info_send_nx(isakmp, remote, loca
+ #endif
+ #ifdef ENABLE_FRAG
+ iph1->frag = 0;
++ iph1->frag_last_index = 0;
+ iph1->frag_chain = NULL;
+ #endif
+
+Index: pkg-ipsec-tools/src/racoon/isakmp.c
+===================================================================
+--- pkg-ipsec-tools.orig/src/racoon/isakmp.c
++++ pkg-ipsec-tools/src/racoon/isakmp.c
+@@ -1072,6 +1072,7 @@ isakmp_ph1begin_i(rmconf, remote, local)
+ iph1->frag = 1;
+ else
+ iph1->frag = 0;
++ iph1->frag_last_index = 0;
+ iph1->frag_chain = NULL;
+ #endif
+ iph1->approval = NULL;
+@@ -1176,6 +1177,7 @@ isakmp_ph1begin_r(msg, remote, local, et
+ #endif
+ #ifdef ENABLE_FRAG
+ iph1->frag = 0;
++ iph1->frag_last_index = 0;
+ iph1->frag_chain = NULL;
+ #endif
+ iph1->approval = NULL;
+Index: pkg-ipsec-tools/src/racoon/handler.h
+===================================================================
+--- pkg-ipsec-tools.orig/src/racoon/handler.h
++++ pkg-ipsec-tools/src/racoon/handler.h
+@@ -1,4 +1,4 @@
+-/* $NetBSD: handler.h,v 1.25 2010/11/17 10:40:41 tteras Exp $ */
++/* $NetBSD: handler.h,v 1.26 2017/01/24 19:23:56 christos Exp $ */
+
+ /* Id: handler.h,v 1.19 2006/02/25 08:25:12 manubsd Exp */
+
+@@ -141,6 +141,7 @@ struct ph1handle {
+ #endif
+ #ifdef ENABLE_FRAG
+ int frag; /* IKE phase 1 fragmentation */
++ int frag_last_index;
+ struct isakmp_frag_item *frag_chain; /* Received fragments */
+ #endif
+
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 d7e8b2596..5cbeb15ad 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
@@ -24,6 +24,7 @@ SRC_URI = "http://ftp.netbsd.org/pub/NetBSD/misc/ipsec-tools/0.8/ipsec-tools-${P
file://0001-Fix-build-with-clang.patch \
file://0001-Fix-header-issues-found-with-musl-libc.patch \
file://0002-cfparse-clear-memory-equal-to-size-of-array.patch \
+ file://fix-CVE-2016-10396.patch \
"
SRC_URI[md5sum] = "d53ec14a0a3ece64e09e5e34b3350b41"
SRC_URI[sha256sum] = "8eb6b38716e2f3a8a72f1f549c9444c2bc28d52c9536792690564c74fe722f2d"
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 8d1b3f015..b35a9f4a4 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
@@ -1,4 +1,5 @@
SUMMARY = "Linux Virtual Server administration Utility"
+HOMEPAGE = "http://www.linux-vs.org/software/index.html"
DESCRIPTION = "Ipvsadm is used to set up, maintain or inspect the virtual server \
table in the Linux kernel. The Linux Virtual Server can be used to \
build scalable network services based on a cluster of two or more nodes. \
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libesmtp/libesmtp/snprintf.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/libesmtp/libesmtp/snprintf.patch
new file mode 100644
index 000000000..d0d203ead
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/libesmtp/libesmtp/snprintf.patch
@@ -0,0 +1,19 @@
+Use HAVE_WORKING_SNPRINTF to check for snprintf()
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: libesmtp-1.0.6/missing.h
+===================================================================
+--- libesmtp-1.0.6.orig/missing.h
++++ libesmtp-1.0.6/missing.h
+@@ -43,7 +43,7 @@ int strncasecmp (const char *a, const ch
+ void *memrchr (const void *a, int c, size_t len);
+ #endif
+
+-#ifndef HAVE_SNPRINTF
++#ifndef HAVE_WORKING_SNPRINTF
+ #include <sys/types.h>
+ int snprintf(char *s, size_t n, const char *format, ...);
+ #endif
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libesmtp/libesmtp_1.0.6.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/libesmtp/libesmtp_1.0.6.bb
index 7ddf591eb..71c5d940b 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/libesmtp/libesmtp_1.0.6.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/libesmtp/libesmtp_1.0.6.bb
@@ -9,7 +9,9 @@ SECTION = "libs"
DEPENDS = "openssl"
SRC_URI = "http://www.stafford.uklinux.net/libesmtp/libesmtp-${PV}.tar.bz2 \
- file://include-topdir.patch"
+ file://include-topdir.patch \
+ file://snprintf.patch \
+ "
SRC_URI[md5sum] = "bf3915e627fd8f35524a8fdfeed979c8"
SRC_URI[sha256sum] = "d0a61a5c52d99fa7ce7d00ed0a07e341dbda67101dbed1ab0cdae3f37db4eb0b"
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
index 400055773..272921e56 100644
--- 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
@@ -1,7 +1,10 @@
-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
+From 24911f36bcb00412e5dc4cd11fda139e09d58798 Mon Sep 17 00:00:00 2001
+From: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
+Date: Tue, 1 Aug 2017 03:12:09 +0900
+Subject: [PATCH] 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
@@ -14,6 +17,10 @@ Add configure options for the following packages:
Upstream-Status: Inappropriate [oe deterministic build specific]
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+
+Update for libtdb_1.3.14.
+
+Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
---
lib/replace/system/wscript_configure | 6 ++-
lib/replace/wscript | 85 ++++++++++++++++++++++++++++--------
@@ -37,7 +44,7 @@ index 2035474..10f9ae7 100644
# solaris varients of getXXent_r
diff --git a/lib/replace/wscript b/lib/replace/wscript
-index 145300d..310048c 100644
+index 7c50e1d..15df5c3 100644
--- a/lib/replace/wscript
+++ b/lib/replace/wscript
@@ -23,6 +23,41 @@ def set_options(opt):
@@ -124,7 +131,7 @@ index 145300d..310048c 100644
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):
+@@ -251,17 +301,18 @@ def configure(conf):
conf.CHECK_FUNCS('prctl dirname basename')
@@ -155,23 +162,23 @@ index 145300d..310048c 100644
conf.CHECK_CODE('''
struct ucred cred;
diff --git a/wscript b/wscript
-index 50b2286..748eef1 100644
+index 1c9655a..8c20d3b 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)
+@@ -62,7 +62,12 @@ def set_options(opt):
+ help=("Disable the use of pthread robust mutexes"),
+ action="store_true", dest='disable_tdb_mutex_locking',
+ 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)
++ 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
+2.7.4
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.12.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.12.bb
deleted file mode 100644
index e256ac9b6..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.12.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-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 = "https://samba.org/ftp/tdb/tdb-${PV}.tar.gz \
- file://do-not-check-xsltproc-manpages.patch \
- file://tdb-Add-configure-options-for-packages.patch \
-"
-
-SRC_URI[md5sum] = "d9627e7aacd535a8251401f914bb6924"
-SRC_URI[sha256sum] = "60134e32253cac8e2efe5e0185d20123c208bcf6ad15edf2f50d80daadf8c348"
-
-PACKAGECONFIG ??= "\
- ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
-"
-PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl"
-PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
-PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio"
-PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
-PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
-PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
-
-S = "${WORKDIR}/tdb-${PV}"
-
-inherit waf-samba
-
-EXTRA_OECONF += "--disable-rpath \
- --bundled-libraries=NONE \
- --builtin-libraries=replace \
- --with-libiconv=${STAGING_DIR_HOST}${prefix}\
- "
-
-PACKAGES += "tdb-tools python-tdb python-tdb-dbg"
-
-FILES_${PN} = "${libdir}/*.so.*"
-FILES_tdb-tools = "${bindir}/*"
-FILES_python-tdb = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*"
-FILES_python-tdb-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug/*"
-RDEPENDS_python-tdb = "python"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.14.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.14.bb
new file mode 100644
index 000000000..3122b93ba
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.14.bb
@@ -0,0 +1,44 @@
+SUMMARY = "The tdb library"
+HOMEPAGE = "http://tdb.samba.org/"
+SECTION = "libs"
+LICENSE = "LGPL-3.0+ & GPL-3.0+"
+
+LIC_FILES_CHKSUM = "file://tools/tdbdump.c;endline=18;md5=b59cd45aa8624578126a8c98f48018c4 \
+ file://include/tdb.h;endline=27;md5=f5bb544641d3081821bcc1dd58310be6"
+
+SRC_URI = "https://samba.org/ftp/tdb/tdb-${PV}.tar.gz \
+ file://do-not-check-xsltproc-manpages.patch \
+ file://tdb-Add-configure-options-for-packages.patch \
+"
+
+SRC_URI[md5sum] = "dd23f2ba8ca2bfdcb833bc79d5b5ac6f"
+SRC_URI[sha256sum] = "3a7d4bb79229460df530c7e1c7067ba9fb9d370aa61fff537fdc2bdf918acbe9"
+
+PACKAGECONFIG ??= "\
+ ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
+"
+PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl"
+PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
+PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio"
+PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
+PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
+PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
+
+S = "${WORKDIR}/tdb-${PV}"
+
+inherit waf-samba
+
+EXTRA_OECONF += "--disable-rpath \
+ --bundled-libraries=NONE \
+ --builtin-libraries=replace \
+ --with-libiconv=${STAGING_DIR_HOST}${prefix}\
+ "
+
+PACKAGES += "tdb-tools python-tdb python-tdb-dbg"
+
+FILES_${PN} = "${libdir}/*.so.*"
+FILES_tdb-tools = "${bindir}/*"
+FILES_python-tdb = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*"
+FILES_python-tdb-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug/*"
+RDEPENDS_python-tdb = "python"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/do-not-check-xsltproc-manpages.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/do-not-check-xsltproc-manpages.patch
deleted file mode 100644
index 1ce4dda1c..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/do-not-check-xsltproc-manpages.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Don't check manpages for xsltproc.
-
-Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
-
-diff -Nurp tevent-0.9.21.orig/lib/talloc/wscript tevent-0.9.21/lib/talloc/wscript
---- tevent-0.9.21.orig/lib/talloc/wscript 2013-09-08 21:24:14.000000000 +0900
-+++ tevent-0.9.21/lib/talloc/wscript 2015-04-24 16:28:04.085000230 +0900
-@@ -55,7 +55,7 @@ def configure(conf):
- if conf.env.standalone_talloc:
- conf.env.TALLOC_COMPAT1 = Options.options.TALLOC_COMPAT1
-
-- conf.CHECK_XSLTPROC_MANPAGES()
-+ conf.find_program('xsltproc', var='XSLTPROC')
-
- if not conf.env.disable_python:
- # also disable if we don't have the python libs installed
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.4.36.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.4.36.bb
deleted file mode 100644
index 48c3c9ee2..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.4.36.bb
+++ /dev/null
@@ -1,52 +0,0 @@
-SUMMARY = "A high-performance memory object caching system"
-DESCRIPTION = "\
- memcached optimizes specific high-load serving applications that are designed \
- to take advantage of its versatile no-locking memory access system. Clients \
- are available in several different programming languages, to suit the needs \
- of the specific application. Traditionally this has been used in mod_perl \
- apps to avoid storing large chunks of data in Apache memory, and to share \
- this burden across several machines."
-SECTION = "web"
-HOMEPAGE = "http://memcached.org/"
-LICENSE = "BSD-3-Clause"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=7e5ded7363d335e1bb18013ca08046ff"
-
-inherit autotools
-
-DEPENDS += "libevent"
-RDEPENDS_${PN} += "perl perl-module-posix perl-module-autoloader \
- perl-module-tie-hash bash \
- "
-
-SRC_URI = "http://www.memcached.org/files/${BP}.tar.gz \
- file://memcached-add-hugetlbfs-check.patch \
- "
-SRC_URI[md5sum] = "1e028fbab7288911fcaa5ed2a21817fe"
-SRC_URI[sha256sum] = "773b6bb20bf80223ca6a15d75f570fbab346ad11ec98595e5af5e33f54bd82d8"
-
-# set the same COMPATIBLE_HOST as libhugetlbfs
-COMPATIBLE_HOST = '(i.86|x86_64|powerpc|powerpc64|arm).*-linux'
-
-python __anonymous () {
- endianness = d.getVar('SITEINFO_ENDIANNESS')
- if endianness == 'le':
- d.appendVar('EXTRA_OECONF', " ac_cv_c_endian=little")
- else:
- d.appendVar('EXTRA_OECONF', " ac_cv_c_endian=big")
-}
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[hugetlbfs] = "--enable-hugetlbfs, --disable-hugetlbfs, libhugetlbfs"
-
-inherit update-rc.d
-
-INITSCRIPT_NAME = "memcached"
-INITSCRIPT_PARAMS = "defaults"
-
-do_install_append() {
- install -D -m 755 ${S}/scripts/memcached-init ${D}${sysconfdir}/init.d/memcached
- mkdir -p ${D}/usr/share/memcached/scripts
- install -m 755 ${S}/scripts/memcached-tool ${D}/usr/share/memcached/scripts
- install -m 755 ${S}/scripts/start-memcached ${D}/usr/share/memcached/scripts
-}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.5.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.5.0.bb
new file mode 100644
index 000000000..fd3d171f0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.5.0.bb
@@ -0,0 +1,52 @@
+SUMMARY = "A high-performance memory object caching system"
+DESCRIPTION = "\
+ memcached optimizes specific high-load serving applications that are designed \
+ to take advantage of its versatile no-locking memory access system. Clients \
+ are available in several different programming languages, to suit the needs \
+ of the specific application. Traditionally this has been used in mod_perl \
+ apps to avoid storing large chunks of data in Apache memory, and to share \
+ this burden across several machines."
+SECTION = "web"
+HOMEPAGE = "http://memcached.org/"
+LICENSE = "BSD-3-Clause"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=7e5ded7363d335e1bb18013ca08046ff"
+
+inherit autotools
+
+DEPENDS += "libevent"
+RDEPENDS_${PN} += "perl perl-module-posix perl-module-autoloader \
+ perl-module-tie-hash bash \
+ "
+
+SRC_URI = "http://www.memcached.org/files/${BP}.tar.gz \
+ file://memcached-add-hugetlbfs-check.patch \
+ "
+SRC_URI[md5sum] = "81326513f60d7ba482f8131975cd55ae"
+SRC_URI[sha256sum] = "c001f812024bb461b5e4d7d0506daab63dff9614eea26f46536c3b7e1e601c32"
+
+# set the same COMPATIBLE_HOST as libhugetlbfs
+COMPATIBLE_HOST = '(i.86|x86_64|powerpc|powerpc64|arm).*-linux'
+
+python __anonymous () {
+ endianness = d.getVar('SITEINFO_ENDIANNESS')
+ if endianness == 'le':
+ d.appendVar('EXTRA_OECONF', " ac_cv_c_endian=little")
+ else:
+ d.appendVar('EXTRA_OECONF', " ac_cv_c_endian=big")
+}
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[hugetlbfs] = "--enable-hugetlbfs, --disable-hugetlbfs, libhugetlbfs"
+
+inherit update-rc.d
+
+INITSCRIPT_NAME = "memcached"
+INITSCRIPT_PARAMS = "defaults"
+
+do_install_append() {
+ install -D -m 755 ${S}/scripts/memcached-init ${D}${sysconfdir}/init.d/memcached
+ mkdir -p ${D}/usr/share/memcached/scripts
+ install -m 755 ${S}/scripts/memcached-tool ${D}/usr/share/memcached/scripts
+ install -m 755 ${S}/scripts/start-memcached ${D}/usr/share/memcached/scripts
+}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6/0001-autogen-Do-not-symlink-gettext.h-from-build-host.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6/0001-autogen-Do-not-symlink-gettext.h-from-build-host.patch
new file mode 100644
index 000000000..eeae5326d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6/0001-autogen-Do-not-symlink-gettext.h-from-build-host.patch
@@ -0,0 +1,34 @@
+From 1ee2c998933c4a3d7e7b386352cbdb12f270774c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 6 Sep 2017 20:50:48 -0700
+Subject: [PATCH] autogen: Do not symlink gettext.h from build host
+
+This will create a dependency on build host having gettext
+installed which may not always be the case.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Inappropriate [Cross-compile specific]
+ autogen.sh | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/autogen.sh b/autogen.sh
+index 3371011..bbc7add 100755
+--- a/autogen.sh
++++ b/autogen.sh
+@@ -25,12 +25,6 @@ echo "Running autoreconf ..."
+ autoreconf -sfi
+ unlink po/Makevars.template
+
+-for d in /usr /usr/local /opt/gettext /usr/pkg $HOME ; do
+- if test -f $d/share/gettext/gettext.h ; then
+- ln -sf $d/share/gettext/gettext.h include/gettext.h
+- fi
+-done
+-
+ test -f "include/gettext.h" || {
+ echo "Error: can't find <gettext.h> convenience C header."
+ echo "Please put a link to it by hand as include/gettext.h"
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6/0001-replace-VLAIS-with-malloc-free-pair.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6/0001-replace-VLAIS-with-malloc-free-pair.patch
new file mode 100644
index 000000000..dc58b5b79
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6/0001-replace-VLAIS-with-malloc-free-pair.patch
@@ -0,0 +1,124 @@
+From 3a7d5396e633e6c02a4583be7faf3d79d0d33748 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 31 Aug 2017 11:14:41 -0700
+Subject: [PATCH 1/2] replace VLAIS with malloc/free pair
+
+Makes it compatible with non-gnu compilers
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ src/trace-icmp.c | 7 +++++--
+ src/trace-tcp.c | 14 ++++++++++----
+ src/trace-udp.c | 7 +++++--
+ 3 files changed, 20 insertions(+), 8 deletions(-)
+
+diff --git a/src/trace-icmp.c b/src/trace-icmp.c
+index 842938e..c76cb54 100644
+--- a/src/trace-icmp.c
++++ b/src/trace-icmp.c
+@@ -43,16 +43,19 @@ send_echo_probe (int fd, unsigned ttl, unsigned n, size_t plen, uint16_t port)
+ struct
+ {
+ struct icmp6_hdr ih;
+- uint8_t payload[plen - sizeof (struct icmp6_hdr)];
++ uint8_t *payload;
+ } packet;
+ memset (&packet, 0, plen);
++ packet.payload = malloc(plen - sizeof (struct icmp6_hdr));
+
+ packet.ih.icmp6_type = ICMP6_ECHO_REQUEST;
+ packet.ih.icmp6_id = htons (getpid ());
+ packet.ih.icmp6_seq = htons ((ttl << 8) | (n & 0xff));
+ (void)port;
+
+- return send_payload (fd, &packet.ih, plen, ttl);
++ ssize_t ret = send_payload (fd, &packet.ih, plen, ttl);
++ free(packet.payload);
++ return ret;
+ }
+
+
+diff --git a/src/trace-tcp.c b/src/trace-tcp.c
+index 940f918..62d22ff 100644
+--- a/src/trace-tcp.c
++++ b/src/trace-tcp.c
+@@ -54,10 +54,11 @@ send_syn_probe (int fd, unsigned ttl, unsigned n, size_t plen, uint16_t port)
+ struct
+ {
+ struct tcphdr th;
+- uint8_t payload[plen - sizeof (struct tcphdr)];
++ uint8_t *payload;
+ } packet;
+
+ memset (&packet, 0, sizeof (packet));
++ packet.payload = malloc(plen - sizeof (struct tcphdr));
+ packet.th.th_sport = sport;
+ packet.th.th_dport = port;
+ packet.th.th_seq = htonl ((ttl << 24) | (n << 16) | (uint16_t)getpid ());
+@@ -65,7 +66,9 @@ send_syn_probe (int fd, unsigned ttl, unsigned n, size_t plen, uint16_t port)
+ packet.th.th_flags = TH_SYN | (ecn ? (TH_ECE | TH_CWR) : 0);
+ packet.th.th_win = htons (TCP_WINDOW);
+
+- return send_payload (fd, &packet, plen, ttl);
++ ssize_t ret = send_payload (fd, &packet, plen, ttl);
++ free(packet.payload);
++ return ret;
+ }
+
+
+@@ -131,10 +134,11 @@ send_ack_probe (int fd, unsigned ttl, unsigned n, size_t plen, uint16_t port)
+ struct
+ {
+ struct tcphdr th;
+- uint8_t payload[plen - sizeof (struct tcphdr)];
++ uint8_t *payload;
+ } packet;
+
+ memset (&packet, 0, sizeof (packet));
++ packet.payload = malloc(plen - sizeof (struct tcphdr));
+ packet.th.th_sport = sport;
+ packet.th.th_dport = port;
+ packet.th.th_ack = htonl ((ttl << 24) | (n << 16) | (uint16_t)getpid ());
+@@ -142,7 +146,9 @@ send_ack_probe (int fd, unsigned ttl, unsigned n, size_t plen, uint16_t port)
+ packet.th.th_flags = TH_ACK;
+ packet.th.th_win = htons (TCP_WINDOW);
+
+- return send_payload (fd, &packet, plen, ttl);
++ ssize_t ret = send_payload (fd, &packet, plen, ttl);
++ free(packet.payload);
++ return ret;
+ }
+
+
+diff --git a/src/trace-udp.c b/src/trace-udp.c
+index 4adde6b..a6cbb07 100644
+--- a/src/trace-udp.c
++++ b/src/trace-udp.c
+@@ -46,9 +46,10 @@ send_udp_probe (int fd, unsigned ttl, unsigned n, size_t plen, uint16_t port)
+ struct
+ {
+ struct udphdr uh;
+- uint8_t payload[plen - sizeof (struct udphdr)];
++ uint8_t *payload;
+ } packet;
+ memset (&packet, 0, plen);
++ packet.payload = malloc(plen - sizeof (struct udphdr));
+
+ (void)n;
+ packet.uh.uh_sport = sport;
+@@ -61,7 +62,9 @@ send_udp_probe (int fd, unsigned ttl, unsigned n, size_t plen, uint16_t port)
+ /*if (plen > sizeof (struct udphdr))
+ packet.payload[0] = (uint8_t)ttl;*/
+
+- return send_payload (fd, &packet, plen, ttl);
++ ssize_t ret = send_payload (fd, &packet, plen, ttl);
++ free(packet.payload);
++ return ret;
+ }
+
+
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6/0002-Do-not-undef-_GNU_SOURCE.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6/0002-Do-not-undef-_GNU_SOURCE.patch
new file mode 100644
index 000000000..3cc2ba80c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6/0002-Do-not-undef-_GNU_SOURCE.patch
@@ -0,0 +1,30 @@
+From 2a50154fbce38fd36be7e14f5cd4a8b03c65c72f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 31 Aug 2017 11:15:37 -0700
+Subject: [PATCH 2/2] Do not undef _GNU_SOURCE
+
+There are functions from tcp.h which are under _GNU_SOURCE
+in musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ src/trace-tcp.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/trace-tcp.c b/src/trace-tcp.c
+index 62d22ff..380008e 100644
+--- a/src/trace-tcp.c
++++ b/src/trace-tcp.c
+@@ -21,7 +21,6 @@
+ # include <config.h>
+ #endif
+
+-#undef _GNU_SOURCE
+ #define _DEFAULT_SOURCE 1
+
+ #include <string.h>
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6_1.0.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6_1.0.2.bb
deleted file mode 100644
index bea5e13f5..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6_1.0.2.bb
+++ /dev/null
@@ -1,58 +0,0 @@
-DESCRIPTION = "This package includes some useful diagnostics tools for \
-IPv6 networks, including ndisc6, rdisc6, tcptraceroute6 and traceroute6."
-SECTION = "net"
-HOMEPAGE = "http://www.remlab.net/ndisc6/"
-LICENSE = "GPL-2.0"
-
-# The tcptraceroute6 and tracert6 commands depend on rltraceroute6 to
-# perform the actual trace operation.
-RDEPENDS_${PN}-tcptraceroute6 = "${PN}-rltraceroute6"
-RDEPENDS_${PN}-tracert6 = "${PN}-rltraceroute6"
-RDEPENDS_${PN}-misc += "perl"
-
-SRC_URI = "http://www.remlab.net/files/ndisc6/ndisc6-${PV}.tar.bz2 \
-"
-SRC_URI[md5sum] = "50cb4c19606cf6ff2b7388e71832f579"
-SRC_URI[sha256sum] = "6acec8a0cb9efa3ac98456f46c3016aeec0598b0c7557c95242b5228ad62ca7a"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-inherit autotools gettext
-
-ALLOW_EMPTY_${PN} = "1"
-
-# Split into seperate packages since we normal don't want them all
-# The main package is left empty and therefore not created.
-PACKAGES += "${PN}-ndisc6 ${PN}-tcpspray6 ${PN}-rdisc6 \
- ${PN}-tcptraceroute6 ${PN}-rltraceroute6 \
- ${PN}-tracert6 ${PN}-rdnssd ${PN}-misc"
-FILES_${PN} = ""
-FILES_${PN}-ndisc6 = "${bindir}/ndisc6"
-FILES_${PN}-tcpspray6 = "${bindir}/tcpspray6"
-FILES_${PN}-rdisc6 = "${bindir}/rdisc6"
-FILES_${PN}-tcptraceroute6 = "${bindir}/tcptraceroute6"
-FILES_${PN}-rltraceroute6 = "${bindir}/rltraceroute6"
-FILES_${PN}-tracert6 = "${bindir}/tracert6"
-FILES_${PN}-rdnssd = "${sbindir}/rdnssd ${sysconfdir}/rdnssd"
-FILES_${PN}-misc = "${bindir}/dnssort ${bindir}/name2addr ${bindir}/tcpspray ${bindir}/addr2name"
-
-DESCRIPTION_${PN}-ndisc6 = "ICMPv6 Neighbor Discovery tool. \
-Performs IPv6 neighbor discovery in userland. Replaces arping from the \
-IPv4 world."
-DESCRIPTION_${PN}-rdisc6 = "ICMPv6 Router Discovery tool. \
-Queries IPv6 routers on the network for advertised prefixes. Can be used \
-to detect rogue IPv6 routers, monitor legitimate IPv6 routers."
-DESCRITPION_${PN}-tcpspray6 = "Performs bandwidth measurements of TCP \
-sessions between the local system and a remote echo server in either IPv6 \
-or IPv4."
-
-DESCRITPION_${PN}-rdnssd = "Daemon to autoconfigure the list of DNS \
-servers through slateless IPv6 autoconfiguration."
-
-do_install_append () {
- rm -rf ${D}${localstatedir}
- # Enable SUID bit for applications that need it
- chmod 4555 ${D}${bindir}/rltraceroute6
- chmod 4555 ${D}${bindir}/ndisc6
- chmod 4555 ${D}${bindir}/rdisc6
-}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6_git.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6_git.bb
new file mode 100644
index 000000000..48a83b830
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6_git.bb
@@ -0,0 +1,72 @@
+DESCRIPTION = "This package includes some useful diagnostics tools for \
+IPv6 networks, including ndisc6, rdisc6, tcptraceroute6 and traceroute6."
+SECTION = "net"
+HOMEPAGE = "http://www.remlab.net/ndisc6/"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+PV = "1.0.4+git${SRCPV}"
+SRCREV = "4c794b5512d23c649def1f94a684225dcbb6ac3e"
+SRC_URI = "git://git.remlab.net/git/ndisc6.git;protocol=http \
+ file://0001-replace-VLAIS-with-malloc-free-pair.patch \
+ file://0002-Do-not-undef-_GNU_SOURCE.patch \
+ file://0001-autogen-Do-not-symlink-gettext.h-from-build-host.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit autotools gettext
+
+EXTRA_OECONF += "PERL=${USRBINPATH}/perl"
+
+LDFLAGS += "-fuse-ld=gold"
+TOOLCHAIN = "gcc"
+
+do_configure_prepend() {
+ cp ${STAGING_DATADIR_NATIVE}/gettext/gettext.h ${S}/include
+ ${S}/autogen.sh
+}
+
+do_install_append () {
+ rm -rf ${D}${localstatedir}
+ # Enable SUID bit for applications that need it
+ chmod 4555 ${D}${bindir}/rltraceroute6
+ chmod 4555 ${D}${bindir}/ndisc6
+ chmod 4555 ${D}${bindir}/rdisc6
+}
+ALLOW_EMPTY_${PN} = "1"
+
+# Split into seperate packages since we normal don't want them all
+# The main package is left empty and therefore not created.
+PACKAGES += "${PN}-ndisc6 ${PN}-tcpspray6 ${PN}-rdisc6 \
+ ${PN}-tcptraceroute6 ${PN}-rltraceroute6 \
+ ${PN}-tracert6 ${PN}-rdnssd ${PN}-misc"
+FILES_${PN} = ""
+FILES_${PN}-ndisc6 = "${bindir}/ndisc6"
+FILES_${PN}-tcpspray6 = "${bindir}/tcpspray6"
+FILES_${PN}-rdisc6 = "${bindir}/rdisc6"
+FILES_${PN}-tcptraceroute6 = "${bindir}/tcptraceroute6"
+FILES_${PN}-rltraceroute6 = "${bindir}/rltraceroute6"
+FILES_${PN}-tracert6 = "${bindir}/tracert6"
+FILES_${PN}-rdnssd = "${sbindir}/rdnssd ${sysconfdir}/rdnssd"
+FILES_${PN}-misc = "${bindir}/dnssort ${bindir}/name2addr ${bindir}/tcpspray ${bindir}/addr2name"
+
+DESCRIPTION_${PN}-ndisc6 = "ICMPv6 Neighbor Discovery tool. \
+Performs IPv6 neighbor discovery in userland. Replaces arping from the \
+IPv4 world."
+DESCRIPTION_${PN}-rdisc6 = "ICMPv6 Router Discovery tool. \
+Queries IPv6 routers on the network for advertised prefixes. Can be used \
+to detect rogue IPv6 routers, monitor legitimate IPv6 routers."
+DESCRITPION_${PN}-tcpspray6 = "Performs bandwidth measurements of TCP \
+sessions between the local system and a remote echo server in either IPv6 \
+or IPv4."
+
+DESCRITPION_${PN}-rdnssd = "Daemon to autoconfigure the list of DNS \
+servers through slateless IPv6 autoconfiguration."
+
+# The tcptraceroute6 and tracert6 commands depend on rltraceroute6 to
+# perform the actual trace operation.
+RDEPENDS_${PN}-tcptraceroute6 = "${PN}-rltraceroute6"
+RDEPENDS_${PN}-tracert6 = "${PN}-rltraceroute6"
+RDEPENDS_${PN}-misc += "perl"
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/netcf/netcf_0.2.8.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/netcf/netcf_0.2.8.bb
new file mode 100644
index 000000000..9a6f60ea2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/netcf/netcf_0.2.8.bb
@@ -0,0 +1,71 @@
+SUMMARY = "netcf"
+DESCRIPTION = "netcf is a cross-platform network configuration library."
+HOMEPAGE = "https://pagure.io/netcf"
+SECTION = "libs"
+LICENSE = "LGPLv2.1"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=fb919cc88dbe06ec0b0bd50e001ccf1f"
+
+SRCREV = "2c5d4255857531bc09d91dcd02e86545f29004d4"
+PV .= "+git${SRCPV}"
+
+SRC_URI = "git://pagure.io/netcf.git;protocol=https \
+"
+
+DEPENDS += "augeas libnl libxslt libxml2 gnulib"
+
+S = "${WORKDIR}/git"
+
+inherit gettext autotools pkgconfig systemd
+
+EXTRA_OECONF_append_class-target = " --with-driver=redhat"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[systemd] = "--with-sysinit=systemd,--with-sysinit=initscripts,"
+
+EXTRA_AUTORECONF += "-I ${S}/gnulib/m4"
+
+do_configure_prepend() {
+ currdir=`pwd`
+ cd ${S}
+
+ # avoid bootstrap cloning gnulib on every configure
+ # 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
+ # | bootstrap: running: libtoolize --quiet
+ # | libtoolize: error: 'libltdl/COPYING.LIB' exists: use '--force' to overwrite
+ # | ...
+ ./bootstrap --force --no-git --gnulib-srcdir=.gnulib
+
+ cd $currdir
+}
+
+do_install_append() {
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${systemd_unitdir}/system
+ if [ -d "${D}${libdir}/systemd/system" ]; then
+ if [ "${systemd_unitdir}" != "${libdir}/systemd" ] ; then
+ mv ${D}${libdir}/systemd/system/* ${D}${systemd_unitdir}/system/
+ rm -rf ${D}${libdir}/systemd/
+ fi
+ elif [ "${systemd_unitdir}" != "${nonarch_libdir}/systemd" ] ; then
+ mv ${D}${nonarch_libdir}/systemd/system/* ${D}${systemd_unitdir}/system/
+ rm -rf ${D}${nonarch_libdir}/systemd/
+ fi
+ else
+ mv ${D}${sysconfdir}/rc.d/init.d/ ${D}${sysconfdir}
+ rm -rf ${D}${sysconfdir}/rc.d/
+ fi
+}
+
+FILES_${PN} += " \
+ ${libdir} \
+ ${nonarch_libdir} \
+ "
+
+SYSTEMD_SERVICE_${PN} = "netcf-transaction.service"
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
deleted file mode 100644
index a7a5000e2..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/netcf/netcf_git.bb
+++ /dev/null
@@ -1,69 +0,0 @@
-SUMMARY = "netcf"
-DESCRIPTION = "netcf is a cross-platform network configuration library."
-HOMEPAGE = "https://fedorahosted.org/netcf/"
-SECTION = "libs"
-LICENSE = "LGPLv2.1"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=bbb461211a33b134d42ed5ee802b37ff"
-
-SRCREV = "9158278ad35b46ce9a49b2e887483c6d8c287994"
-PV = "0.2.8+git${SRCPV}"
-
-SRC_URI = "git://git.fedorahosted.org/netcf.git;protocol=git \
-"
-
-DEPENDS += "augeas libnl libxslt libxml2 gnulib"
-
-S = "${WORKDIR}/git"
-
-inherit gettext autotools pkgconfig systemd
-
-EXTRA_OECONF_append_class-target = " --with-driver=redhat"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[systemd] = "--with-sysinit=systemd,--with-sysinit=initscripts,"
-
-do_configure_prepend() {
- currdir=`pwd`
- cd ${S}
-
- # avoid bootstrap cloning gnulib on every configure
- # 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
- # | bootstrap: running: libtoolize --quiet
- # | libtoolize: error: 'libltdl/COPYING.LIB' exists: use '--force' to overwrite
- # | ...
- ./bootstrap --force --no-git --gnulib-srcdir=.gnulib
-
- cd $currdir
-}
-
-do_install_append() {
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${systemd_unitdir}/system
- if [ -d "${D}${libdir}/systemd/system" ]; then
- if [ "${systemd_unitdir}" != "${libdir}/systemd" ] ; then
- mv ${D}${libdir}/systemd/system/* ${D}${systemd_unitdir}/system/
- rm -rf ${D}${libdir}/systemd/
- fi
- elif [ "${systemd_unitdir}" != "${nonarch_libdir}/systemd" ] ; then
- mv ${D}${nonarch_libdir}/systemd/system/* ${D}${systemd_unitdir}/system/
- rm -rf ${D}${nonarch_libdir}/systemd/
- fi
- else
- mv ${D}${sysconfdir}/rc.d/init.d/ ${D}${sysconfdir}
- rm -rf ${D}${sysconfdir}/rc.d/
- fi
-}
-
-FILES_${PN} += " \
- ${libdir} \
- ${nonarch_libdir} \
- "
-
-SYSTEMD_SERVICE_${PN} = "netcf-transaction.service"
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
deleted file mode 100644
index 650fdaeed..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/netperf/netperf_2.6.0.bb
+++ /dev/null
@@ -1,66 +0,0 @@
-SUMMARY = "A networking benchmarking tool"
-DESCRIPTION = "Network performance benchmark including tests for TCP, UDP, sockets, ATM and more."
-SECTION = "net"
-HOMEPAGE = "http://www.netperf.org/"
-LICENSE = "netperf"
-LICENSE_FLAGS = "non-commercial"
-
-
-SRC_URI="ftp://ftp.netperf.org/netperf/archive/netperf-${PV}.tar.bz2 \
- file://cpu_set.patch \
- file://vfork.patch \
- file://init"
-SRC_URI[md5sum] = "9654ffdfd4c4f2c93ce3733cd9ed9236"
-SRC_URI[sha256sum] = "cd8dac710d4273d29f70e8dbd09353a6362ac58a11926e0822233c0cb230323a"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=a0ab17253e7a3f318da85382c7d5d5d6"
-
-inherit update-rc.d autotools
-
-S = "${WORKDIR}/netperf-${PV}"
-
-# cpu_set.patch plus _GNU_SOURCE makes src/netlib.c compile with CPU_ macros
-CFLAGS_append = " -DDO_UNIX -DDO_IPV6 -D_GNU_SOURCE"
-
-# set the "_FILE_OFFSET_BITS" preprocessor symbol to 64 to support files
-# larger than 2GB
-CFLAGS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'largefile', \
- ' -D_FILE_OFFSET_BITS=64', '', d)}"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[sctp] = "--enable-sctp,--disable-sctp,lksctp-tools,"
-
-# autotools.bbclass attends to include m4 files with path depth <= 2 by
-# "find ${S} -maxdepth 2 -name \*.m4", so move m4 files from m4/m4.
-do_configure_prepend() {
- test -d ${S}/m4/m4 && mv -f ${S}/m4/m4 ${S}/m4-files
-}
-
-do_install() {
- sed -e 's#/usr/sbin/#${sbindir}/#g' -i ${WORKDIR}/init
-
- install -d ${D}${sbindir} ${D}${bindir} ${D}${sysconfdir}/init.d
- install -m 4755 src/netperf ${D}${bindir}
- install -m 4755 src/netserver ${D}${sbindir}
- install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/netperf
-
- # man
- install -d ${D}${mandir}/man1/
- install -m 0644 ${S}/doc/netserver.man ${D}${mandir}/man1/netserver.1
- install -m 0644 ${S}/doc/netperf.man ${D}${mandir}/man1/netperf.1
-
- # move scripts to examples directory
- install -d ${D}${docdir}/netperf/examples
- install -m 0644 ${S}/doc/examples/*_script ${D}${docdir}/netperf/examples/
-
- # docs ..
- install -m 0644 ${S}/COPYING ${D}${docdir}/netperf
- install -m 0644 ${S}/Release_Notes ${D}${docdir}/netperf
- install -m 0644 ${S}/README ${D}${docdir}/netperf
- install -m 0644 ${S}/doc/netperf_old.ps ${D}${docdir}/netperf
-}
-
-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/netperf/netperf_git.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/netperf/netperf_git.bb
new file mode 100644
index 000000000..f0e0f9cf1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/netperf/netperf_git.bb
@@ -0,0 +1,66 @@
+SUMMARY = "A networking benchmarking tool"
+DESCRIPTION = "Network performance benchmark including tests for TCP, UDP, sockets, ATM and more."
+SECTION = "net"
+HOMEPAGE = "http://www.netperf.org/"
+LICENSE = "netperf"
+LICENSE_FLAGS = "non-commercial"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a0ab17253e7a3f318da85382c7d5d5d6"
+
+PV = "2.7.0+git${SRCPV}"
+
+SRC_URI="git://github.com/HewlettPackard/netperf.git \
+ file://cpu_set.patch \
+ file://vfork.patch \
+ file://init"
+
+SRCREV = "f482bab49fcedee46fc5b755da127f608325cd13"
+
+S = "${WORKDIR}/git"
+
+inherit update-rc.d autotools
+
+# cpu_set.patch plus _GNU_SOURCE makes src/netlib.c compile with CPU_ macros
+CFLAGS_append = " -DDO_UNIX -DDO_IPV6 -D_GNU_SOURCE"
+
+# set the "_FILE_OFFSET_BITS" preprocessor symbol to 64 to support files
+# larger than 2GB
+CFLAGS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'largefile', \
+ ' -D_FILE_OFFSET_BITS=64', '', d)}"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[sctp] = "--enable-sctp,--disable-sctp,lksctp-tools,"
+
+# autotools.bbclass attends to include m4 files with path depth <= 2 by
+# "find ${S} -maxdepth 2 -name \*.m4", so move m4 files from m4/m4.
+do_configure_prepend() {
+ test -d ${S}/m4/m4 && mv -f ${S}/m4/m4 ${S}/m4-files
+}
+
+do_install() {
+ sed -e 's#/usr/sbin/#${sbindir}/#g' -i ${WORKDIR}/init
+
+ install -d ${D}${sbindir} ${D}${bindir} ${D}${sysconfdir}/init.d
+ install -m 4755 src/netperf ${D}${bindir}
+ install -m 4755 src/netserver ${D}${sbindir}
+ install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/netperf
+
+ # man
+ install -d ${D}${mandir}/man1/
+ install -m 0644 ${S}/doc/netserver.man ${D}${mandir}/man1/netserver.1
+ install -m 0644 ${S}/doc/netperf.man ${D}${mandir}/man1/netperf.1
+
+ # move scripts to examples directory
+ install -d ${D}${docdir}/netperf/examples
+ install -m 0644 ${S}/doc/examples/*_script ${D}${docdir}/netperf/examples/
+
+ # docs ..
+ install -m 0644 ${S}/COPYING ${D}${docdir}/netperf
+ install -m 0644 ${S}/Release_Notes ${D}${docdir}/netperf
+ install -m 0644 ${S}/README ${D}${docdir}/netperf
+ install -m 0644 ${S}/doc/netperf_old.ps ${D}${docdir}/netperf
+}
+
+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/0001-lib-yp_all_host.c-Fix-build-with-gcc-7.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools/0001-lib-yp_all_host.c-Fix-build-with-gcc-7.patch
deleted file mode 100644
index d1d5f9ca7..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools/0001-lib-yp_all_host.c-Fix-build-with-gcc-7.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 71fdfdfcea2bfa5f522512366bfcdf95f861ecc6 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 23 Apr 2017 23:44:37 -0700
-Subject: [PATCH] lib/yp_all_host.c: Fix build with gcc 7
-
-fixes
-
-| ../../../../../../../workspace/sources/yp-tools/lib/yp_all_host.c: In function 'yp_all_host':
-| ../../../../../../../workspace/sources/yp-tools/lib/yp_all_host.c:109:30: error: comparison between pointer and zero character constant [-Werror=pointer-compare]
-| inmap == NULL || inmap == '\0')
-| ^~
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/yp_all_host.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/yp_all_host.c b/lib/yp_all_host.c
-index 59cf236..4a07a7e 100644
---- a/lib/yp_all_host.c
-+++ b/lib/yp_all_host.c
-@@ -106,7 +106,7 @@ yp_all_host (const char *indomain, const char *inmap,
-
- if (hostname == NULL || hostname[0] == '\0' ||
- indomain == NULL || indomain[0] == '\0' ||
-- inmap == NULL || inmap == '\0')
-+ inmap == NULL || inmap[0] == '\0')
- return YPERR_BADARGS;
-
- res = YPERR_YPERR;
---
-2.12.2
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools/0001-ypbind3_binding_dup.c-Include-string.h-for-strdup-de.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools/0001-ypbind3_binding_dup.c-Include-string.h-for-strdup-de.patch
new file mode 100644
index 000000000..3d4d4f278
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools/0001-ypbind3_binding_dup.c-Include-string.h-for-strdup-de.patch
@@ -0,0 +1,28 @@
+From 420cb6927553bbca5b49b7681cf208e6df6e4d7c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 8 Sep 2017 08:42:45 -0700
+Subject: [PATCH 1/2] ypbind3_binding_dup.c: Include string.h for strdup
+ declaration
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted
+
+ lib/ypbind3_binding_dup.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/lib/ypbind3_binding_dup.c b/lib/ypbind3_binding_dup.c
+index ce4aadf..8199c0b 100644
+--- a/lib/ypbind3_binding_dup.c
++++ b/lib/ypbind3_binding_dup.c
+@@ -19,6 +19,7 @@
+
+ #if defined(HAVE_YPBIND3)
+
++#include <string.h>
+ #include <rpcsvc/yp_prot.h>
+ #include "internal.h"
+
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools/0002-yp_dump_bindings.c-Include-string.h-for-memset.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools/0002-yp_dump_bindings.c-Include-string.h-for-memset.patch
new file mode 100644
index 000000000..0562e58af
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools/0002-yp_dump_bindings.c-Include-string.h-for-memset.patch
@@ -0,0 +1,30 @@
+From 03ccabb6264c008430c4b1739351df5a63829f8e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 8 Sep 2017 08:52:32 -0700
+Subject: [PATCH 2/2] yp_dump_bindings.c: Include string.h for memset
+
+Fixes
+error: implicitly declaring library function 'memset'
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted
+
+ src/yp_dump_binding.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/yp_dump_binding.c b/src/yp_dump_binding.c
+index a5ab920..d75e2c2 100644
+--- a/src/yp_dump_binding.c
++++ b/src/yp_dump_binding.c
+@@ -26,6 +26,7 @@
+ #include <libintl.h>
+ #include <locale.h>
+ #include <getopt.h>
++#include <string.h>
+ #include <sys/stat.h>
+ #include <arpa/inet.h>
+ #include <rpcsvc/ypclnt.h>
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools/alignment-cheat.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools/alignment-cheat.patch
deleted file mode 100644
index be9b62b8c..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools/alignment-cheat.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-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/yp-tools-ipv4-ipv6-Provide-an-in-place-version-of-mapv4v6addr.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools/yp-tools-ipv4-ipv6-Provide-an-in-place-version-of-mapv4v6addr.patch
deleted file mode 100644
index 9ef569f15..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools/yp-tools-ipv4-ipv6-Provide-an-in-place-version-of-mapv4v6addr.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-From a1ef10d63b0ea34c788d5432e94c72b00ae55e04 Mon Sep 17 00:00:00 2001
-From: Joe MacDonald <joe_macdonald@mentor.com>
-Date: Fri, 27 Feb 2015 12:04:10 -0500
-Subject: [PATCH] ipv4/ipv6: Provide an in-place version of mapv4v6addr.h
-
-mapv4v6addr.h isn't always available, depending on your build, but
-nis-hosts.c only needs it for a single, inline function. So drop a copy
-here rather than playing games with the include path that would
-potentially lead to cross-compilation issues.
-
-Upstream-status: Inappropriate [embedded specific]
-
-Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
----
- nss_nis6/mapv4v6addr.h | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++
- nss_nis6/nis-hosts.c | 2 +-
- 2 files changed, 70 insertions(+), 1 deletion(-)
- create mode 100644 nss_nis6/mapv4v6addr.h
-
-diff --git a/nss_nis6/mapv4v6addr.h b/nss_nis6/mapv4v6addr.h
-new file mode 100644
-index 0000000..7f85f7d
---- /dev/null
-+++ b/nss_nis6/mapv4v6addr.h
-@@ -0,0 +1,69 @@
-+/*
-+ * ++Copyright++ 1985, 1988, 1993
-+ * -
-+ * Copyright (c) 1985, 1988, 1993
-+ * The Regents of the University of California. All rights reserved.
-+ *
-+ * Redistribution and use in source and binary forms, with or without
-+ * modification, are permitted provided that the following conditions
-+ * are met:
-+ * 1. Redistributions of source code must retain the above copyright
-+ * notice, this list of conditions and the following disclaimer.
-+ * 2. Redistributions in binary form must reproduce the above copyright
-+ * notice, this list of conditions and the following disclaimer in the
-+ * documentation and/or other materials provided with the distribution.
-+ * 4. Neither the name of the University nor the names of its contributors
-+ * may be used to endorse or promote products derived from this software
-+ * without specific prior written permission.
-+ *
-+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-+ * SUCH DAMAGE.
-+ * -
-+ * Portions Copyright (c) 1993 by Digital Equipment Corporation.
-+ *
-+ * Permission to use, copy, modify, and distribute this software for any
-+ * purpose with or without fee is hereby granted, provided that the above
-+ * copyright notice and this permission notice appear in all copies, and that
-+ * the name of Digital Equipment Corporation not be used in advertising or
-+ * publicity pertaining to distribution of the document or software without
-+ * specific, written prior permission.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
-+ * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
-+ * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
-+ * CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
-+ * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
-+ * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
-+ * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-+ * SOFTWARE.
-+ * -
-+ * --Copyright--
-+ */
-+
-+#include <string.h>
-+#include <arpa/nameser.h>
-+
-+static void
-+map_v4v6_address (const char *src, char *dst)
-+{
-+ u_char *p = (u_char *) dst;
-+ int i;
-+
-+ /* Move the IPv4 part to the right position. */
-+ memcpy (dst + 12, src, INADDRSZ);
-+
-+ /* Mark this ipv6 addr as a mapped ipv4. */
-+ for (i = 0; i < 10; i++)
-+ *p++ = 0x00;
-+ *p++ = 0xff;
-+ *p = 0xff;
-+}
-diff --git a/nss_nis6/nis-hosts.c b/nss_nis6/nis-hosts.c
-index af99c74..96d8fa1 100644
---- a/nss_nis6/nis-hosts.c
-+++ b/nss_nis6/nis-hosts.c
-@@ -36,7 +36,7 @@
- #include "nss-nis6.h"
-
- /* Get implementation for some internal functions. */
--#include <resolv/mapv4v6addr.h>
-+#include "mapv4v6addr.h"
-
- #define ENTNAME hostent
- #define DATABASE "hosts"
---
-1.9.1
-
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
deleted file mode 100644
index 7bd4630f7..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools_3.3.bb
+++ /dev/null
@@ -1,48 +0,0 @@
-# This package builds tools to manage NIS
-# The source package is utils/net/NIS/yp-tools
-#
-require nis.inc
-
-SUMMARY = "NIS client programs"
-DESCRIPTION = " \
-Network Information Service tools. \
-This package contains ypcat, ypmatch, ypset, \
-ypwhich, yppasswd, domainname, nisdomainname \
-and ypdomainname. \
-"
-
-SRC_URI = "http://www.linux-nis.org/download/yp-tools/${BP}.tar.bz2 \
- file://domainname.service \
- file://yp-tools-ipv4-ipv6-Provide-an-in-place-version-of-mapv4v6addr.patch \
- file://alignment-cheat.patch \
- file://0001-lib-yp_all_host.c-Fix-build-with-gcc-7.patch \
- "
-SRC_URI[md5sum] = "acebeecc11a73fb8097503670344834c"
-SRC_URI[sha256sum] = "812be817df3d4c25813552be336c6c6ad5aedaf65611b81af3ad9f98fb3c2e50"
-
-DEPENDS = "libtirpc"
-
-inherit autotools systemd
-SYSTEMD_SERVICE_${PN} = "domainname.service"
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-
-CACHED_CONFIGUREVARS += "ac_cv_prog_STRIP=/bin/true"
-
-EXTRA_OECONF = " \
- --disable-rpath \
- --libdir=${libdir}/yp-nis/ \
- --includedir=${includedir}/yp-nis/ \
- "
-
-FILES_${PN} += " ${libdir}/yp-nis/*.so.*.* ${libdir}/yp-nis/pkgconfig/"
-FILES_${PN}-dbg += " ${libdir}/yp-nis/.debug"
-FILES_${PN}-dev += " ${libdir}/yp-nis/*.so ${libdir}/yp-nis/*.so.[12] ${libdir}/yp-nis/*.la"
-FILES_${PN}-staticdev += " ${libdir}/yp-nis/*.a"
-
-do_install_append() {
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/domainname.service ${D}${systemd_unitdir}/system
-}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools_4.2.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools_4.2.2.bb
new file mode 100644
index 000000000..9ac973812
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools_4.2.2.bb
@@ -0,0 +1,46 @@
+# This package builds tools to manage NIS
+# The source package is utils/net/NIS/yp-tools
+#
+require nis.inc
+
+SUMMARY = "NIS client programs"
+DESCRIPTION = " \
+Network Information Service tools. \
+This package contains ypcat, ypmatch, ypset, \
+ypwhich, yppasswd, domainname, nisdomainname \
+and ypdomainname. \
+"
+
+SRC_URI = "http://www.linux-nis.org/download/yp-tools/${BP}.tar.bz2 \
+ file://domainname.service \
+ file://0001-ypbind3_binding_dup.c-Include-string.h-for-strdup-de.patch \
+ file://0002-yp_dump_bindings.c-Include-string.h-for-memset.patch \
+ "
+SRC_URI[md5sum] = "fb4a8bffb44ae5d3390351d67f320ef3"
+SRC_URI[sha256sum] = "137f19a986382b275bf4a2b1a69eb26689d6f4ac056ddaa21784d6b80eb98faa"
+
+DEPENDS = "libtirpc libnsl2"
+
+inherit autotools systemd
+SYSTEMD_SERVICE_${PN} = "domainname.service"
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+
+CACHED_CONFIGUREVARS += "ac_cv_prog_STRIP=/bin/true"
+
+EXTRA_OECONF = " \
+ --disable-rpath --disable-domainname \
+ "
+CFLAGS_append_libc-musl = " -Wno-error=cpp"
+
+FILES_${PN} += " ${libdir}/yp-nis/*.so.*.* ${libdir}/yp-nis/pkgconfig/"
+FILES_${PN}-dbg += " ${libdir}/yp-nis/.debug"
+FILES_${PN}-dev += " ${libdir}/yp-nis/*.so ${libdir}/yp-nis/*.so.[12] ${libdir}/yp-nis/*.la"
+FILES_${PN}-staticdev += " ${libdir}/yp-nis/*.a"
+
+do_install_append() {
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/domainname.service ${D}${systemd_unitdir}/system
+}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt/0001-dns_hosts-Fix-build-with-musl.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt/0001-dns_hosts-Fix-build-with-musl.patch
new file mode 100644
index 000000000..643b0a940
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt/0001-dns_hosts-Fix-build-with-musl.patch
@@ -0,0 +1,67 @@
+From 5452961750275b1e3f7c95e9528338f0ee0357ad Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 14 Sep 2017 09:17:35 -0700
+Subject: [PATCH] dns_hosts: Fix build with musl
+
+Add NETDB_* defines which are not available in musl
+remove need for sys/cdefs.h by remove __P
+Add _GNU_SOURCE for missing u_char definition
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ lib/Makefile.am | 2 +-
+ lib/dns_hosts.c | 9 ++++++++-
+ 2 files changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/lib/Makefile.am b/lib/Makefile.am
+index 977a8db..35cb5b3 100644
+--- a/lib/Makefile.am
++++ b/lib/Makefile.am
+@@ -8,7 +8,7 @@
+ noinst_LIBRARIES = libcompat.a
+ noinst_HEADERS = ypbind3_binding.h
+
+-AM_CFLAGS = -D_REENTRANT=1 @WARNFLAGS@
++AM_CFLAGS = -D_GNU_SOURCE -D_REENTRANT=1 @WARNFLAGS@
+ AM_CPPFLAGS = -I$(srcdir) @TIRPC_CFLAGS@ @NSL_CFLAGS@ -DLOCALEDIR=\"$(localedir)\"
+
+ libcompat_a_SOURCES = dns_hosts.c res_options.h ypbind3_binding_dup.c \
+diff --git a/lib/dns_hosts.c b/lib/dns_hosts.c
+index fd421fd..6067879 100644
+--- a/lib/dns_hosts.c
++++ b/lib/dns_hosts.c
+@@ -64,6 +64,7 @@
+
+ #include <sys/param.h>
+ #include <sys/socket.h>
++#include <sys/types.h>
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+ #include <arpa/nameser.h>
+@@ -84,6 +85,12 @@ extern struct hostent *_gethtbyaddr(const char *, int, int);
+ #ifndef LOG_AUTH
+ # define LOG_AUTH 0
+ #endif
++#ifndef NETDB_SUCCESS
++# define NETDB_SUCCESS 0
++#endif
++#ifndef NETDB_INTERNAL
++# define NETDB_INTERNAL -1
++#endif
+
+ #define MULTI_PTRS_ARE_ALIASES 1 /* XXX - experimental */
+
+@@ -101,7 +108,7 @@ static char hostbuf[8*1024];
+ static struct in_addr host_addr;
+
+ #ifdef RESOLVSORT
+-static void addrsort __P((char **, int));
++static void addrsort (char **, int);
+ #endif
+
+ #if PACKETSZ > 1024
+--
+2.14.1
+
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
deleted file mode 100644
index b9c0aa700..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_1.38.bb
+++ /dev/null
@@ -1,58 +0,0 @@
-# This package builds the NIS ypbind daemon
-# The source package is utils/net/NIS/ypbind-mt
-#
-require nis.inc
-
-DESCRIPTION = " \
-Multithreaded NIS bind service (ypbind-mt). \
-ypbind-mt is a complete new implementation of a NIS \
-binding daemon for Linux. It has the following \
-features. Supports ypbind protocol V1 and V2. \
-Uses threads for better response. Supports multiple \
-domain bindings. Supports /var/yp/binding/* file \
-for Linux libc 4/5 and glibc 2.x. Supports a list \
-of known secure NIS server (/etc/yp.conf) Binds to \
-the server which answered as first. \
-\
-This is the final IPv4-only version of ypbind-mt. \
-"
-HOMEPAGE = "http://www.linux-nis.org/nis/ypbind-mt/index.html"
-DEPENDS = " \
- yp-tools \
- ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
- "
-RDEPENDS_${PN} += "yp-tools"
-
-# ypbind-mt now provides all the functionality of ypbind
-# and is used in place of it.
-PROVIDES += "ypbind"
-
-SRC_URI = "http://www.linux-nis.org/download/ypbind-mt/${BP}.tar.bz2 \
- file://ypbind.init \
- file://ypbind.service \
-"
-SRC_URI[md5sum] = "094088c0e282fa7f3b3dd6cc51d0a4e1"
-SRC_URI[sha256sum] = "1930ce19f6ccfe10400f3497b31867f71690d2bcd3f5b575199fa915559b7746"
-
-inherit systemd update-rc.d
-
-SYSTEMD_SERVICE_${PN} = "ypbind.service"
-INITSCRIPT_NAME = "ypbind"
-INITSCRIPT_PARAMS = "start 44 3 5 . stop 70 0 1 2 6 ."
-
-CACHED_CONFIGUREVARS = "ac_cv_prog_STRIP=/bin/true"
-
-do_install_append () {
- install -d ${D}${sysconfdir}/init.d
- install -d ${D}${sysconfdir}/rcS.d
-
- install -m 0755 ${WORKDIR}/ypbind.init ${D}${sysconfdir}/init.d/ypbind
-
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/ypbind.service ${D}${systemd_unitdir}/system
-}
-
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
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
deleted file mode 100644
index 0b7e5046b..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.2.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-# This package builds the NIS ypbind daemon
-# The source package is utils/net/NIS/ypbind-mt
-#
-require nis.inc
-
-DESCRIPTION = " \
-Multithreaded NIS bind service (ypbind-mt). \
-ypbind-mt is a complete new implementation of a NIS \
-binding daemon for Linux. It has the following \
-features. Supports ypbind protocol V1 and V2. \
-Uses threads for better response. Supports multiple \
-domain bindings. Supports /var/yp/binding/* file \
-for Linux libc 4/5 and glibc 2.x. Supports a list \
-of known secure NIS server (/etc/yp.conf) Binds to \
-the server which answered as first. \
-"
-HOMEPAGE = "http://www.linux-nis.org/nis/ypbind-mt/index.html"
-DEPENDS = "yp-tools ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PROVIDES += "ypbind"
-
-PNBLACKLIST[ypbind-mt] ?= "BROKEN: Depends on broken yp-tools - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-SRC_URI = "http://www.linux-nis.org/download/ypbind-mt/${BP}.tar.bz2 \
- file://ypbind.init \
- file://ypbind.service \
-"
-SRC_URI[md5sum] = "54e2040d8266ae7d302d081ca310c8a8"
-SRC_URI[sha256sum] = "dc2f7d97c94dcab0acfdcd115cd8b464eb8c427e4bb0fe68404ae7465f517cd3"
-
-inherit systemd update-rc.d
-
-SYSTEMD_SERVICE_${PN} = "ypbind.service"
-INITSCRIPT_NAME = "ypbind"
-INITSCRIPT_PARAMS = "start 44 3 5 . stop 70 0 1 2 6 ."
-
-CACHED_CONFIGUREVARS = "ac_cv_prog_STRIP=/bin/true"
-
-EXTRA_OECONF = "PKG_CONFIG_PATH='${STAGING_LIBDIR}/yp-nis/pkgconfig/'"
-
-do_install_append () {
- install -d ${D}${sysconfdir}/init.d
- install -d ${D}${sysconfdir}/rcS.d
-
- install -m 0755 ${WORKDIR}/ypbind.init ${D}${sysconfdir}/init.d/ypbind
-
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/ypbind.service ${D}${systemd_unitdir}/system
-}
-
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.4.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.4.bb
new file mode 100644
index 000000000..9822f455e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.4.bb
@@ -0,0 +1,62 @@
+# This package builds the NIS ypbind daemon
+# The source package is utils/net/NIS/ypbind-mt
+#
+require nis.inc
+
+DESCRIPTION = " \
+Multithreaded NIS bind service (ypbind-mt). \
+ypbind-mt is a complete new implementation of a NIS \
+binding daemon for Linux. It has the following \
+features. Supports ypbind protocol V1 and V2. \
+Uses threads for better response. Supports multiple \
+domain bindings. Supports /var/yp/binding/* file \
+for Linux libc 4/5 and glibc 2.x. Supports a list \
+of known secure NIS server (/etc/yp.conf) Binds to \
+the server which answered as first. \
+\
+This is the final IPv4-only version of ypbind-mt. \
+"
+HOMEPAGE = "http://www.linux-nis.org/nis/ypbind-mt/index.html"
+DEPENDS = " \
+ yp-tools \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
+ "
+DEPENDS_append_libc-musl = " bsd-headers nss"
+RDEPENDS_${PN} += "yp-tools"
+
+# ypbind-mt now provides all the functionality of ypbind
+# and is used in place of it.
+PROVIDES += "ypbind"
+
+SRC_URI = "http://www.linux-nis.org/download/ypbind-mt/${BP}.tar.bz2 \
+ file://ypbind.init \
+ file://ypbind.service \
+ file://0001-dns_hosts-Fix-build-with-musl.patch \
+ "
+SRC_URI[md5sum] = "1aeccd0d11c064d5d59c56941bca682b"
+SRC_URI[sha256sum] = "a2e1fa8fc992a12b289c229e00e38c20d59070c3bcf08babf40c692515c340e0"
+
+inherit systemd update-rc.d
+
+SYSTEMD_SERVICE_${PN} = "ypbind.service"
+INITSCRIPT_NAME = "ypbind"
+INITSCRIPT_PARAMS = "start 44 3 5 . stop 70 0 1 2 6 ."
+
+CACHED_CONFIGUREVARS = "ac_cv_prog_STRIP=/bin/true"
+
+CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/nss3"
+
+do_install_append () {
+ install -d ${D}${sysconfdir}/init.d
+ install -d ${D}${sysconfdir}/rcS.d
+
+ install -m 0755 ${WORKDIR}/ypbind.init ${D}${sysconfdir}/init.d/ypbind
+
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/ypbind.service ${D}${systemd_unitdir}/system
+}
+
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop/0001-nDPI-Include-sys-types.h.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop/0001-nDPI-Include-sys-types.h.patch
new file mode 100644
index 000000000..81ffeec21
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop/0001-nDPI-Include-sys-types.h.patch
@@ -0,0 +1,26 @@
+From 6543f3e2d5fe214e2fc6c050289bf1ae73b18724 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 30 Aug 2017 13:56:24 -0700
+Subject: [PATCH] nDPI: Include sys/types.h
+
+Needed for uint_t types
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ nDPI/src/include/ipq_api.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+Index: ntop-5.0.1/nDPI/src/include/ipq_api.h
+===================================================================
+--- ntop-5.0.1.orig/nDPI/src/include/ipq_api.h
++++ ntop-5.0.1/nDPI/src/include/ipq_api.h
+@@ -24,6 +24,7 @@
+ #ifndef __IPOQUE_API_INCLUDE_FILE__
+ #define __IPOQUE_API_INCLUDE_FILE__
+
++#include <sys/types.h>
+
+ #if defined(HAVE_NTOP) && defined(WIN32)
+ #include <winsock2.h>
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop/ntop.service b/import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop/ntop.service
new file mode 100644
index 000000000..1ead2a0c5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop/ntop.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=A network traffic probe similar to the UNIX top command
+Requires=network.target
+
+ConditionPathExists=@SYSCONFDIR@/ntop.conf
+After=syslog.target network.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=@LIBEXECDIR@/ntop-helper start
+ExecStop=@LIBEXECDIR@/ntop-helper stop
+
+[Install]
+WantedBy=multi-user.target
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop/ntop_configure_in.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop/ntop_configure_in.patch
new file mode 100644
index 000000000..392cb082b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop/ntop_configure_in.patch
@@ -0,0 +1,164 @@
+1)add --with-pcap-config option to use libpcap's pcap-config
+2)add AC_CHECK_LIB if user didn't specify PCAP_ROOT and pcap-config
+ put it before host check to make cross-compiling easier.
+ pcap doesn't need extra include and libs so it is fine.
+3)remove old rrd configure code but use pkg-config to config rrd
+ rrdtool should have the pkg-config file installed.
+4)fix python-config
+5)change AC_TRY_RUN to AC_COMPILE_IFELSE for pthread_rwlock_t checking
+6)fix a net-snmp-config bug
+
+Upstream-Status: Pending
+
+Signed-off-by: Yao Zhao <yao.zhao@windriver.com>
+---
+diff --git a/configure.in b/configure.in
+index 0c7c0a5..cad40be 100644
+--- a/configure.in
++++ b/configure.in
+@@ -230,14 +230,14 @@ dnl>
+ AC_ARG_WITH(void,
+ [ +-External-source-locations:-------------------------------------------------+])
+
+-AC_ARG_WITH( rrd-home,
+- [ --with-rrd-home=DIR Usually /usr/local/rrdtool-1.2.x],
+- RRD_HOME="$withval",
+- RRD_HOME=/usr/local/rrdtool-1.2.19)
+ AC_ARG_WITH( pcap-root,
+ [ --with-pcap-root=DIR LBNL pcap located in DIR],
+ PCAP_ROOT="$withval",
+ PCAP_ROOT=)
++AC_ARG_WITH( pcap-config,
++ [ --with-pcap-config=path/pcap-config where to find pcap-config],
++ PCAP_CONFIG="$withval",
++ PCAP_CONFIG=)
+ AC_ARG_WITH( gdbm-root,
+ [ --with-gdbm-root=DIR gdbm located in DIR],
+ GDBM_DIRECTORY="$withval",
+@@ -556,6 +556,7 @@ if test ".${PCAPRING_DIR}" != .; then
+ else
+
+ TMP_ROOT=${HOME}/PF_RING/userland/libpcap/
++FOUND_PCAP=1
+ if test ".${PCAP_ROOT}" == . &&
+ test -d ${TMP_ROOT} &&
+ test -r ${TMP_ROOT}/libpcap.a; then
+@@ -563,6 +564,18 @@ if test ".${PCAP_ROOT}" == . &&
+ CORELIBS="${CORELIBS} -L${TMP_ROOT} -L${HOME}/PF_RING/userland/lib -lpfring -lpcap "
+ INCS="${INCS} -I ${PCAP_ROOT}"
+ AC_MSG_RESULT([found in $PCAP_ROOT])
++elif test -n "${PCAP_CONFIG}" && test -x "${PCAP_CONFIG}"; then
++ CORELIBS="${CORELIBS} $(${PCAP_CONFIG} --libs)"
++ INCS="${INCS} $(${PCAP_CONFIG} --cflags)"
++ AC_DEFINE_UNQUOTED(HAVE_LIBPCAP, 1, [have libpcap ])
++ AC_MSG_RESULT([found pcap-config: $PCAP_CONFIG, libs:$(${PCAP_CONFIG} --libs) cflags:$(${PCAP_CONFIG} --cflags)])
++else
++ AC_CHECK_LIB(pcap, pcap_lookupdev, ,
++ [FOUND_PCAP=])
++fi
++
++if test -n "$FOUND_PCAP"; then
++ :
+ elif test ".${PCAP_ROOT}" != .; then
+ if test -d $PCAP_ROOT &&
+ test -r $PCAP_ROOT/lib/libpcap.a &&
+@@ -880,44 +893,11 @@ AC_CHECK_LIB([z], [zlibVersion], [], [
+ exit -1
+ ])
+
+-# RRD
+-if test -d "$RRD_HOME"; then
+- AC_MSG_RESULT(checking for RRD home... yes)
+-else
+- RRD_HOME=/usr/local/rrdtool
+- if test -d "$RRD_HOME"; then
+- AC_MSG_RESULT(Checking rrdtool in $RRD_HOME)
+- else
+- RRD_HOME=/usr/local
+- fi
+-fi
+-
+-RRD_LIB="-L${RRD_HOME}/lib -lrrd_th"
+-
+-if test -f "$RRD_HOME/lib/librrd_th.so"; then
+- AC_MSG_RESULT(checking for rrdtool... yes)
+-else
+- if test -f "$RRD_HOME/lib/librrd_th.dylib"; then # OSX
+- AC_MSG_RESULT(checking for rrdtool... yes)
+- else
+- if test -f "$RRD_HOME/lib/librrd_th.a"; then
+- AC_MSG_RESULT(checking for rrdtool... yes)
+- else
+- AC_CHECK_LIB([rrd_th], [main])
+- if test ".${ac_cv_lib_rrd_th_main}" != ".yes"; then
+- AC_MSG_ERROR(Unable to find RRD at $RRD_HOME: please use --with-rrd-home=DIR);
+- AC_MSG_ERROR(RRD source can be downloaded from http://www.rrdtool.org/);
+- else
+- RRD_LIB=
+- fi
+- fi
+- fi
+-fi
+-
+-RRD_INC=
+-if test -d "${RRD_HOME}/include"; then
+- RRD_INC="-I${RRD_HOME}/include"
+-fi
++PKG_CHECK_MODULES( [RRD], [librrd] )
++AC_SUBST(RRD_CFLAGS)
++AC_SUBST(RRD_LIBS)
++RRD_INC=$RRD_FLAGS
++RRD_LIB=$RRD_LIBS
+
+ dnl> The failed recheck stuff below is courtesy of Chris Turbeville [turbo@verio.net]
+ dnl> Chris developed this for Solaris 9, confirming work I had done earlier for FreeBSD
+@@ -1041,7 +1021,7 @@ AC_CHECK_HEADERS([sched.h sys/sched.h])
+ AC_CHECK_HEADERS([pthread.h])
+
+ AC_MSG_CHECKING([if r/w locks are supported])
+-AC_TRY_RUN([
++AC_COMPILE_IFELSE([
+ #include <pthread.h>
+
+ int main()
+@@ -1443,15 +1423,15 @@ dnl> NET-SNMP
+ dnl>
+ if test ".${ac_disable_snmp}" != ".yes"; then
+ AC_CHECK_TOOL(NETSNMP, net-snmp-config)
+- if test "x$ac_cv_prog_ac_ct_NETSNMP" = "xnet-snmp-config"; then
++ if test -n "$NETSNMP"; then
+ AC_DEFINE_UNQUOTED(HAVE_SNMP, 1, [SNMP is supported])
+- SNMPLIBS="`net-snmp-config --libs`"
++ SNMPLIBS="`$NETSNMP --libs`"
+ SNMPLIBS="`echo ${SNMPLIBS}|sed -e s,'-R../lib',,g`"
+ echo "net-snmp libs: ${SNMPLIBS}"
+ LIBS="${LIBS} ${SNMPLIBS}"
+ dnl remove unecessary path
+ LIBS=`echo ${LIBS}|sed -e s,'-R../lib',,g`
+- INCS="${INCS} `net-snmp-config --cflags`"
++ INCS="${INCS} `$NETSNMP --cflags`"
+ else
+ AC_MSG_RESULT(NETSNMP is not present: SNMP support is disabled)
+ fi
+@@ -1464,10 +1444,9 @@ SAVED_LIBS=$LIBS
+ dnl>
+ dnl> PYTHON
+ dnl>
+- AC_CHECK_TOOL(PYTHON, python-config)
+- PYTHON_CONFIG=""
++ AC_CHECK_TOOL(PYTHON_CONFIG, python-config)
+
+- if test "x$ac_cv_prog_ac_ct_PYTHON" != "xpython-config"; then
++ if test -z "$PYTHON_CONFIG"; then
+ if test -f "/etc/debian_version"; then
+ AC_MSG_RESULT(Please install python-dev and rerun configure)
+ exit 1
+@@ -1481,8 +1460,6 @@ dnl>
+ PYTHON_CONFIG="python-config"
+ fi
+ fi
+- else
+- PYTHON_CONFIG="python-config"
+ fi
+
+ if test "x$PYTHON_CONFIG" != "x"; then
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop/ntop_configure_in_net_snmp_config_exist.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop/ntop_configure_in_net_snmp_config_exist.patch
new file mode 100644
index 000000000..269138df9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop/ntop_configure_in_net_snmp_config_exist.patch
@@ -0,0 +1,21 @@
+Check net-snmp-config's existence in case user specified the
+ac_cv_prog_NETSNMP to avoid HAVE_SNMP defined if the specified
+net-snmp-config doesn't exist.
+
+Upstream-Status: Inappropriate [Embedded specific]
+
+Signed-off-by: Yao Zhao <yao.zhao@windriver.com>
+---
+diff --git a/configure.in b/configure.in
+index 6f3e88f..8ddf017 100755
+--- a/configure.in
++++ b/configure.in
+@@ -1423,7 +1423,7 @@ dnl> NET-SNMP
+ dnl>
+ if test ".${ac_disable_snmp}" != ".yes"; then
+ AC_CHECK_TOOL(NETSNMP, net-snmp-config)
+- if test -n "$NETSNMP"; then
++ if test -n "$NETSNMP" -a -e "$NETSNMP"; then
+ AC_DEFINE_UNQUOTED(HAVE_SNMP, 1, [SNMP is supported])
+ SNMPLIBS="`$NETSNMP --libs`"
+ SNMPLIBS="`echo ${SNMPLIBS}|sed -e s,'-R../lib',,g`"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop/ntop_init.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop/ntop_init.patch
new file mode 100644
index 000000000..e7684c1b4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop/ntop_init.patch
@@ -0,0 +1,228 @@
+Modify ntop.init to WRLinux 5.0 style.
+
+Fix a small problem that when ntop not running,
+/etc/init.d/ntop stop will return 1
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yao Zhao <yao.zhao@windriver.com>
+---
+ packages/RedHat/ntop.init | 102 +++++++++-----------------------------------
+ 1 files changed, 21 insertions(+), 81 deletions(-)
+
+diff --git a/packages/RedHat/ntop.init b/packages/RedHat/ntop.init
+index 40d49f1..a189c59 100755
+--- a/packages/RedHat/ntop.init
++++ b/packages/RedHat/ntop.init
+@@ -10,19 +10,9 @@
+ # You have set the admin password - read docs/1STRUN.txt
+ # You have created /etc/ntop.conf with appropriate parameters.
+
+-# To identify an interface to ntop, use the following flags
+-# in /etc/sysconfig/network-scripts/ifcfg-ethx
+-
+-# NTOP="yes" <--- means for ntop to use this interface
+-# NTOPCONFIG="yes" <--- means for ntop to configure this interface
+-
+ # Note that if you give a -i parameter in either /etc/ntop.conf or
+ # the command line, the scan is NOT performed.
+
+-# However, when it comes to the configuration step, with NTOPCONFIG="yes"
+-# the interface is configured regardless of how the interface list was
+-# specified.
+-
+ #
+ # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+ #
+@@ -107,11 +97,7 @@ ntopusesyslog="local3"
+ invoked=$0
+
+ # Source function library.
+-. /etc/rc.d/init.d/functions
+-
+-# Source networking configuration.
+-. /etc/sysconfig/network
+-
++. /etc/init.d/functions
+
+ # Basic sanity checks...
+ if ! [ -x $prog ]; then
+@@ -124,16 +110,6 @@ if ! [ -x $prog ]; then
+ exit 1
+ fi
+
+-if [ ${NETWORKING} = "no" ]; then
+- echo ""
+- echo "ERROR -"
+- echo " Networking is not up!"
+- echo ""
+- echo "Aborting..."
+- echo ""
+- exit 1
+-fi
+-
+ if ! [ -f ${conf} ]; then
+ echo ""
+ echo "ERROR -"
+@@ -180,8 +156,8 @@ fi
+ if [ "${debug}" = "y" ]; then echo "DEBUG: parm file temp is ${parmfile}"; fi
+
+ cmd=`echo \
+- @${conf} \
+ -i tbd \
++ @${conf} \
+ $extra $@`
+
+ echo ${cmd} | awk ' \
+@@ -305,42 +281,6 @@ logger -p ${ntopusesyslog} -t ${name}${instance} -- "INITD - Configuration
+
+ # Build list of interfaces, e.g eth0 eth1 eth1:1
+ # (Yeah, we'll have to convert that to eth0,eth1,eth1:1 later
+-if [ ".${ntopinterface}" = ".tbd" ]; then
+-
+- ntopinterface=""
+- iflist=`ip link show | \
+- awk '/^[0-9]*:\ eth/ { printf("%s ", substr($2, 1, length($2)-1)) }'`
+- logger -p ${ntopusesyslog} -t ${name}${instance} -- "INITD - Scanning all interfaces $iflist"
+- if [ "${debug}" = "y" ]; then echo "DEBUG: Interface candidates are ${iflist}"; fi
+-
+- for eth in $iflist; do
+-
+- if ! LANG=C egrep -L "^[Nn][Tt][Oo][Pp]=['\"]?[Yy][Ee][Ss]['\"]?" \
+- /etc/sysconfig/network-scripts/ifcfg-$eth > /dev/null ; then
+- logger -p ${ntopusesyslog} -t ${name}${instance} -- "INITD - $eth is not ntop=yes, skipping"
+- if [ "${debug}" = "y" ]; then echo "DEBUG: $eth not ntop=yes"; fi
+- continue
+- fi
+-
+- ntopinterface="${ntopinterface} $eth"
+-
+- ip=`ip addr show $eth | \
+- awk '/inet/ { printf("%s", substr($2, 1, index($2, "/")-1)) }'`
+-
+- if [ ".$ip" = "." ]; then
+- is="is unnumbered interface"
+- else
+- is="has IP address $ip"
+- fi
+- logger -p ${ntopusesyslog} -t ${name}${instance} -- "INITD - $eth is ntop=yes, ${is}"
+- if [ "${debug}" = "y" ]; then echo "DEBUG: $eth ntop=yes, ${is}"; fi
+-
+- done
+-
+-else
+- logger -p ${ntopusesyslog} -t ${name}${instance} -- "INITD - Skipping interface scan - list in parms"
+-fi
+-
+ if [ "x${ntopinterface}" = "x" ]; then
+ ntopinterface="none"
+ fi
+@@ -462,12 +402,6 @@ config_interfaces () {
+ if="${if},${eth}"
+ fi
+
+- if ! LANG=C egrep -L "^[Nn][Tt][Oo][Pp][Cc].*=['\"]?[Yy][Ee][Ss]['\"]?" \
+- /etc/sysconfig/network-scripts/ifcfg-$eth > /dev/null ; then
+- logger -p ${ntopusesyslog} -t ${name}${instance} -- "INITD - $eth is not ntopconfigure=yes, skipping"
+- continue
+- fi
+-
+ logger -p ${ntopusesyslog} -t ${name}${instance} -- "INITD - Configuring $eth"
+ if [ "${debug}" = "y" ]; then echo "DEBUG: Configuring $eth"; fi
+
+@@ -527,7 +461,7 @@ start () {
+ show_extra
+ config_interfaces
+
+- cmd=`echo $prog \
++ cmd=`echo \
+ @${conf} \
+ -i $if \
+ $extra $@`
+@@ -541,7 +475,7 @@ start () {
+ if [ ".${ldlibpath}" != "." ]; then
+ export LD_LIBRARY_PATH="${ldlibpath}"
+ fi
+- daemon ${cmd}
++ start-stop-daemon --start --quiet --exec $prog -- ${cmd}
+ RETVAL=$?
+
+ [ $RETVAL = 0 ] && touch /var/lock/subsys/${name}${instance}
+@@ -551,6 +485,7 @@ start () {
+ stop () {
+ # stop daemon
+
++ NOT_RUNNING=1
+ RETVAL=1
+ echo -n $"Stopping ${name}${instance}: "
+ logger -p ${ntopusesyslog} -t ${name}${instance} -- "INITD - Stopping: ${name}${instance}"
+@@ -563,13 +498,14 @@ stop () {
+ if [ $rc = 0 ]; then
+ logger -p ${ntopusesyslog} -t ${name}${instance} -- "INITD - Sending SIGTERM to ${pid}"
+ if [ "${debug}" = "y" ]; then echo "Sending SIGTERM to ${pid}"; fi
+- kill -s SIGTERM ${pid}
++ kill -TERM ${pid} 2>&1 > /dev/null
+ RETVAL=$?
+ rm -f ${ntopdbfilepath}/ntop.pid
+ else
+ logger -p ${ntopusesyslog} -t ${name}${instance} -- "INITD - Unable to find process ${pid} ... will kill by name"
+ if [ "${debug}" = "y" ]; then echo "Unable to find process ${pid} ... will kill by name"; fi
+ fi
++ NOT_RUNNING=0
+ else
+
+ logger -p ${ntopusesyslog} -t ${name}${instance} -- "INITD - Unable to find ${ntopdbfilepath}/ntop.pid file ... will kill by name"
+@@ -577,15 +513,16 @@ stop () {
+
+ fi
+
+- echo
+-
+ if [ $RETVAL != 0 ]; then
+ pids=`ps axf | grep '\/usr\/bin\/ntop' | awk '{ printf(" %s", $1) }; END { print "" }'`
+- if [ "${pids}" != " " ]; then
++ if [ "${pids}" != "" ]; then
+ logger -p ${ntopusesyslog} -t ${name}${instance} -- "INITD - Sending SIGTERM to ${prog}...${pids}"
+ if [ "${debug}" = "y" ]; then echo "Sending SIGTERM to ${prog}...${pids}"; fi
+- kill -INT ${pids}
++ kill -TERM ${pids} > /dev/null 2>&1
+ RETVAL=$?
++ NOT_RUNNING=0
++ else
++ NOT_RUNNING=1
+ fi
+ fi
+
+@@ -597,13 +534,9 @@ stop () {
+ if [ "${debug}" = "y" ]; then echo "DEBUG: Unconfiguring interfaces"; fi
+
+ for eth in ${ntopinterface}; do
+- if ! LANG=C egrep -L "^[Nn][Tt][Oo][Pp][Cc].*=['\"]?[Yy][Ee][Ss]['\"]?" \
+- /etc/sysconfig/network-scripts/ifcfg-$eth > /dev/null ; then
+- logger -p ${ntopusesyslog} -t ${name}${instance} -- "INITD - $eth is not ntopconfigure=yes, skipping"
+- if [ "${debug}" = "y" ]; then echo "DEBUG: $eth is not ntopconfigure=yes"; fi
+- continue
++ if [ "$eth" = "none" ]; then
++ continue
+ fi
+-
+ logger -p ${ntopusesyslog} -t ${name}${instance} -- "INITD - Unconfiguring $eth"
+ if [ "${debug}" = "y" ]; then echo "DEBUG: Unconfiguring $eth"; fi
+
+@@ -623,6 +556,13 @@ stop () {
+ if [ "${debug}" = "y" ]; then echo "DEBUG: Interfaces are unconfigured"; fi
+ fi
+
++ if [ $NOT_RUNNING -eq 1 -o $RETVAL -eq 0 ]; then
++ echo " [ OK ]"
++ RETVAL=0
++ else
++ echo " [ FAILED ]"
++ fi
++
+ return $RETVAL
+ }
+
+--
+1.7.5.4
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop/ntop_webInterface.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop/ntop_webInterface.patch
new file mode 100644
index 000000000..9f57ca425
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop/ntop_webInterface.patch
@@ -0,0 +1,19 @@
+change osName to version as it prints out "ntop Version".
+
+Upstream-Status: Pending
+
+Signed-off-by: Yao Zhao <yao.zhao@windriver.com>
+---
+diff --git a/webInterface.c b/webInterface.c
+index 5622e69..8cb7a67 100644
+--- a/webInterface.c
++++ b/webInterface.c
+@@ -5816,7 +5816,7 @@ static void printNtopConfigInfoData(int textPrintFlag, UserPref *pref) {
+ printInfoSectionTitle(textPrintFlag, "Basic Information");
+
+ safe_snprintf(__FILE__, __LINE__, formatBuf, sizeof(formatBuf), "%s (%d bit)",
+- osName, sizeof(long) == 8 ? 64 : 32);
++ version, sizeof(long) == 8 ? 64 : 32);
+ printFeatureConfigInfo(textPrintFlag, "ntop Version", formatBuf);
+
+ #ifndef WIN32
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop/use-static-inline.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop/use-static-inline.patch
new file mode 100644
index 000000000..2b001c13e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop/use-static-inline.patch
@@ -0,0 +1,32 @@
+[PATCH] replace 'inline' with 'static inline' for gcc 5.x
+
+gcc 5.x defaults to -std=gnu11 instead of -std=gnu89 which change
+the semantics for inline functions and the standalone 'inline'
+causes error with "gcc5 -g -o0"
+
+Replace inline with static inline to be compatible with both gcc 4
+and 5.
+
+Upstream-status: Pending
+
+Signed-off-by: Roy Li <rongqing.li@windriver.com>
+---
+ nDPI/src/lib/protocols/ssl.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/nDPI/src/lib/protocols/ssl.c b/nDPI/src/lib/protocols/ssl.c
+index 245b8c3..72beda9 100644
+--- a/nDPI/src/lib/protocols/ssl.c
++++ b/nDPI/src/lib/protocols/ssl.c
+@@ -39,7 +39,7 @@ static void ipoque_int_ssl_add_connection(struct ipoque_detection_module_struct
+
+ #ifdef HAVE_NTOP
+ #ifndef WIN32
+-inline int min(int a, int b) { return(a < b ? a : b); }
++static inline int min(int a, int b) { return(a < b ? a : b); }
+ #endif
+
+ static void stripCertificateTrailer(char *buffer, int buffer_len) {
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop_5.0.1.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop_5.0.1.bb
new file mode 100644
index 000000000..298fbec61
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ntop/ntop_5.0.1.bb
@@ -0,0 +1,137 @@
+SUMMARY = "ntop is network top"
+DESCRIPTION = "ntop is a network traffic probe that shows the network usage, \
+similar to what the popular top Unix command does."
+
+SECTION = "console/network"
+
+LICENSE = "GPLv2+ & GPLv3 & OpenSSL"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE-OpenSSL.txt;md5=a409f902e447ddd889cffa0c70e7c7c2 \
+ "
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/ntop/ntop-${PV}.tar.gz \
+ file://ntop_configure_in.patch \
+ file://ntop_init.patch \
+ file://ntop_webInterface.patch \
+ file://ntop_configure_in_net_snmp_config_exist.patch \
+ file://ntop.service \
+ file://use-static-inline.patch \
+ file://0001-nDPI-Include-sys-types.h.patch \
+ "
+SRC_URI[md5sum] = "01710b6925a8a5ffe1a41b8b512ebd69"
+SRC_URI[sha256sum] = "7e8e84cb14d2173beaca4d4cb991a14d84a4bef84ec37b2276bc363f45c52ef8"
+
+inherit autotools-brokensep useradd pythonnative pkgconfig systemd
+
+DEPENDS = "geoip rrdtool python zlib libpcap gdbm"
+
+PACKAGECONFIG ??= "openssl snmp plugins"
+PACKAGECONFIG[openssl] = "--with-ssl, --without-ssl, openssl, openssl"
+PACKAGECONFIG[snmp] = "--enable-snmp=yes NETSNMP=${STAGING_BINDIR_CROSS}/net-snmp-config, \
+--disable-snmp,net-snmp,"
+PACKAGECONFIG[plugins] = "--enable-plugins=yes, --disable-plugins, ,"
+
+EXTRA_OECONF += "ac_cv_file_aclocal_m4=yes ac_cv_file_depcomp=no"
+
+do_configure() {
+ cp ${STAGING_DATADIR_NATIVE}/aclocal/libtool.m4 libtool.m4.in
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/nDPI
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/nDPI
+ cat acinclude.m4.in acinclude.m4.ntop libtool.m4.in > acinclude.m4
+ cp 3rd_party/* ./
+
+ # config nDPI
+ cd nDPI
+ ./configure ${CONFIGUREOPTS} --with-pic
+ cd ..
+
+ sed -i -e 's:^CFG_DBFILE_DIR=$localstatedir/ntop:CFG_DBFILE_DIR=$localstatedir/lib/ntop:' ${S}/configure.in
+
+ # fix the CFLAGS, CPPFLAGS, LDFLAGS, remove the host include
+ sed -i \
+ -e 's:\(^CFLAGS="\$.*\) -I/usr/local/include -I/opt/local/include":\1":' \
+ -e 's:\(^CPPFLAGS="\$.*\) -I/usr/local/include -I/opt/local/include":\1":' \
+ -e 's:\(^LDFLAGS="\$.*\) -L/usr/local/lib -L/opt/local/lib":\1":' \
+ ${S}/configure.in
+
+ # replace the DISTRO RELEASE in configure.in which are host's
+ # with our release, although those doesn't affect functionality
+ sed -i -e \
+ '/DEFINEOS="LINUX"/{N;s/DISTRO=.*/DISTRO="${DISTRO}"/;N;s/RELEASE=.*/RELEASE="${DISTRO_VERSION}"/;}' \
+ ${S}/configure.in
+
+ # osName in original configure.in should be ${TARGET_SYS}
+ # which will show in ntop's "show configuration"
+ sed -i -e \
+ 's:^osName=.*:osName=${TARGET_SYS}:' \
+ ${S}/configure.in
+
+ # rename configureextra to configureextra_rename to avoid
+ # configure.in to guess host OS and pull in more configure, non needed
+ # which will cause some cross-compiling failure on specific host
+ # e.g. SUSE(SLED...)
+ test ! -f configureextra || mv -f configureextra configureextra_rename
+
+ # make sure configure finds python includdirs/libs with these envs
+ export BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
+ STAGING_INCDIR=${STAGING_INCDIR} \
+ STAGING_LIBDIR=${STAGING_LIBDIR}
+
+ autotools_do_configure
+}
+
+do_compile_prepend() {
+ cd nDPI
+ oe_runmake
+ cd ..
+}
+
+do_install_append() {
+ # remove the empty dirs
+ rm -rf ${D}${libdir}/plugins
+
+ install -D -m 0755 ${S}/packages/RedHat/ntop.init \
+ ${D}${sysconfdir}/init.d/ntop
+ install -D -m 0644 ${S}/packages/RedHat/ntop.conf.sample \
+ ${D}${sysconfdir}/ntop.conf
+
+ # change ntop dir in ntop.conf
+ # don't use the -P as the ntop.init didn't support it
+ sed -i -e "s:^--db-file-path /usr/share/ntop:--db-file-path /var/lib/ntop:" \
+ -e "s:^#? -P /var/ntop:#? -P /var/lib/ntop:" \
+ ${D}${sysconfdir}/ntop.conf
+
+ # For systemd
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -D -m 0755 ${S}/packages/RedHat/ntop.init ${D}${libexecdir}/ntop-helper
+ install -D -m 0644 ${WORKDIR}/ntop.service ${D}${systemd_system_unitdir}/ntop.service
+ sed -i -e 's,@LIBEXECDIR@,${libexecdir},g' \
+ -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ ${D}${systemd_system_unitdir}/ntop.service
+ fi
+
+ # Fix host-user-contaminated issue
+ chown -R root:root ${D}
+
+ chown -R ntop.ntop ${D}${datadir}/ntop
+ chown -R ntop:ntop ${D}${localstatedir}/lib/ntop
+}
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "-M -g ntop -r -d ${localstatedir}/lib/ntop \
+-s /usr/sbin/nologin -c 'ntop' ntop"
+GROUPADD_PARAM_${PN} = "-r ntop"
+
+SYSTEMD_SERVICE_${PN} = "ntop.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+FILES_${PN}_append = "${libdir}/ntop/plugins ${libdir}/libntop-*.so \
+ ${libdir}/libntopreport-*.so ${libdir}/lib*-${PV}.so"
+FILES_${PN}-dev = "${includedir} ${libdir}/libntop.so \
+ ${libdir}/libntopreport.so \
+ ${libdir}/libnetflowPlugin.so ${libdir}/libsflowPlugin.so \
+ ${libdir}/librrdPlugin.so \
+ ${libdir}/*.a ${libdir}/libntopreport.a ${libdir}/*.la"
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/open-isns/open-isns/0001-util.h-endian.h-is-available-on-musl-on-linux.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/open-isns/open-isns/0001-util.h-endian.h-is-available-on-musl-on-linux.patch
new file mode 100644
index 000000000..825e2bf6a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/open-isns/open-isns/0001-util.h-endian.h-is-available-on-musl-on-linux.patch
@@ -0,0 +1,38 @@
+From e0d86318227a23f00cf0f6639a6685bb9f5771a1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 12 Dec 2017 09:42:19 -0800
+Subject: [PATCH] util.h: endian.h is available on musl on linux
+
+just checking for glibc alone is not enough since
+it excludes musl, therefore check for platform
+being linux as well
+
+Fixes build issues
+
+include/libisns/util.h:114:12: fatal error: sys/endian.h: No such file or directory
+ # include <sys/endian.h>
+ ^~~~~~~~~~~~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted
+
+ include/libisns/util.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/libisns/util.h b/include/libisns/util.h
+index 9a2bd13..6cc1a1b 100644
+--- a/include/libisns/util.h
++++ b/include/libisns/util.h
+@@ -100,7 +100,7 @@ enum {
+ * There's no htonll yet
+ */
+ #ifndef htonll
+-# ifdef __GLIBC__
++# if defined(__GLIBC__) || defined(__linux__)
+ # include <endian.h>
+ # include <byteswap.h>
+ # if __BYTE_ORDER == __BIG_ENDIAN
+--
+2.15.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/open-isns/open-isns_0.97.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/open-isns/open-isns_0.97.bb
index 420ef5be0..cc2959e2b 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/open-isns/open-isns_0.97.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/open-isns/open-isns_0.97.bb
@@ -13,9 +13,9 @@ SECTION = "net"
DEPENDS = "openssl systemd"
-SRC_URI = " \
- git://github.com/open-iscsi/open-isns \
-"
+SRC_URI = "git://github.com/open-iscsi/open-isns \
+ file://0001-util.h-endian.h-is-available-on-musl-on-linux.patch \
+ "
SRCREV ?= "09954404e948e41eb0fce8e28836018b4ce3d20d"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/0001-lanserv-Rename-struct-parameter-printf-for-namespace.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/0001-lanserv-Rename-struct-parameter-printf-for-namespace.patch
new file mode 100644
index 000000000..25057fbce
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/0001-lanserv-Rename-struct-parameter-printf-for-namespace.patch
@@ -0,0 +1,618 @@
+From 8b51a6bf5a4829d8add535a098c0c06a049a9958 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 26 Aug 2017 22:50:57 -0700
+Subject: [PATCH] lanserv: Rename struct parameter printf for namespace
+ collision
+
+This comes to fore when we use hardening flags where printf
+is treated as macro and gets replaced with printf_chk
+
+Fixes errors like
+
+error: no member named '__printf_chk' in 'struct emu_out_s'
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lanserv/OpenIPMI/serv.h | 2 +-
+ lanserv/emu_cmd.c | 132 ++++++++++++++++++++++++------------------------
+ lanserv/ipmi_sim.c | 10 ++--
+ 3 files changed, 72 insertions(+), 72 deletions(-)
+
+diff --git a/lanserv/OpenIPMI/serv.h b/lanserv/OpenIPMI/serv.h
+index d12d63a..8555c85 100644
+--- a/lanserv/OpenIPMI/serv.h
++++ b/lanserv/OpenIPMI/serv.h
+@@ -522,7 +522,7 @@ uint8_t ipmb_checksum(uint8_t *data, int size, uint8_t start);
+ typedef struct emu_data_s emu_data_t;
+ typedef struct emu_out_s
+ {
+- void (*printf)(struct emu_out_s *out, char *format, ...);
++ void (*eprintf)(struct emu_out_s *out, char *format, ...);
+ void *data;
+ } emu_out_t;
+
+diff --git a/lanserv/emu_cmd.c b/lanserv/emu_cmd.c
+index ca44032..54b6f7b 100644
+--- a/lanserv/emu_cmd.c
++++ b/lanserv/emu_cmd.c
+@@ -76,7 +76,7 @@ emu_get_uchar(emu_out_t *out, char **toks, unsigned char *val, char *errstr,
+ if (empty_ok)
+ return ENOSPC;
+ if (errstr)
+- out->printf(out, "**No %s given\n", errstr);
++ out->eprintf(out, "**No %s given\n", errstr);
+ return EINVAL;
+ }
+ if (str[0] == '\'') {
+@@ -86,7 +86,7 @@ emu_get_uchar(emu_out_t *out, char **toks, unsigned char *val, char *errstr,
+ *val = strtoul(str, &tmpstr, 0);
+ if (*tmpstr != '\0') {
+ if (errstr)
+- out->printf(out, "**Invalid %s given\n", errstr);
++ out->eprintf(out, "**Invalid %s given\n", errstr);
+ return EINVAL;
+ }
+
+@@ -108,7 +108,7 @@ emu_get_uchar_with_vals(emu_out_t *out, char **toks,
+ if (empty_ok)
+ return ENOSPC;
+ if (errstr)
+- out->printf(out, "**No %s given\n", errstr);
++ out->eprintf(out, "**No %s given\n", errstr);
+ return EINVAL;
+ }
+ if (str[0] == '\'') {
+@@ -131,7 +131,7 @@ emu_get_uchar_with_vals(emu_out_t *out, char **toks,
+ *val = strtoul(str, &tmpstr, 0);
+ if (*tmpstr != '\0') {
+ if (errstr)
+- out->printf(out, "**Invalid %s given\n", errstr);
++ out->eprintf(out, "**Invalid %s given\n", errstr);
+ return EINVAL;
+ }
+ out:
+@@ -150,12 +150,12 @@ emu_get_bitmask(emu_out_t *out, char **toks, uint16_t *val, char *errstr,
+ if (empty_ok)
+ return ENOSPC;
+ if (errstr)
+- out->printf(out, "**No %s given\n", errstr);
++ out->eprintf(out, "**No %s given\n", errstr);
+ return EINVAL;
+ }
+ if (strlen(str) != size) {
+ if (errstr)
+- out->printf(out, "**invalid number of bits in %s\n", errstr);
++ out->eprintf(out, "**invalid number of bits in %s\n", errstr);
+ return EINVAL;
+ }
+ *val = 0;
+@@ -166,7 +166,7 @@ emu_get_bitmask(emu_out_t *out, char **toks, uint16_t *val, char *errstr,
+ *val |= 1 << i;
+ } else {
+ if (errstr)
+- out->printf(out, "**Invalid bit value '%c' in %s\n", str[j],
++ out->eprintf(out, "**Invalid bit value '%c' in %s\n", str[j],
+ errstr);
+ return EINVAL;
+ }
+@@ -184,13 +184,13 @@ emu_get_uint(emu_out_t *out, char **toks, unsigned int *val, char *errstr)
+ str = mystrtok(NULL, " \t\n", toks);
+ if (!str) {
+ if (errstr)
+- out->printf(out, "**No %s given\n", errstr);
++ out->eprintf(out, "**No %s given\n", errstr);
+ return EINVAL;
+ }
+ *val = strtoul(str, &tmpstr, 0);
+ if (*tmpstr != '\0') {
+ if (errstr)
+- out->printf(out, "**Invalid %s given\n", errstr);
++ out->eprintf(out, "**Invalid %s given\n", errstr);
+ return EINVAL;
+ }
+
+@@ -206,7 +206,7 @@ emu_get_bytes(emu_out_t *out, char **tokptr, unsigned char *data, char *errstr,
+
+ if (!tok) {
+ if (errstr)
+- out->printf(out, "**No %s given\n", errstr);
++ out->eprintf(out, "**No %s given\n", errstr);
+ return EINVAL;
+ }
+ if (*tok == '"') {
+@@ -215,7 +215,7 @@ emu_get_bytes(emu_out_t *out, char **tokptr, unsigned char *data, char *errstr,
+ tok++;
+ end = strlen(tok) - 1;
+ if (tok[end] != '"') {
+- out->printf(out, "**ASCII %s doesn't end in '\"'", errstr);
++ out->eprintf(out, "**ASCII %s doesn't end in '\"'", errstr);
+ return EINVAL;
+ }
+ if (end > (len - 1))
+@@ -228,7 +228,7 @@ emu_get_bytes(emu_out_t *out, char **tokptr, unsigned char *data, char *errstr,
+ char c[3];
+ /* HEX pw */
+ if (strlen(tok) != 32) {
+- out->printf(out, "**HEX %s not 32 HEX characters long", errstr);
++ out->eprintf(out, "**HEX %s not 32 HEX characters long", errstr);
+ return EINVAL;
+ }
+ c[2] = '\0';
+@@ -239,7 +239,7 @@ emu_get_bytes(emu_out_t *out, char **tokptr, unsigned char *data, char *errstr,
+ tok++;
+ data[i] = strtoul(c, &end, 16);
+ if (*end != '\0') {
+- out->printf(out, "**Invalid HEX character in %s", errstr);
++ out->eprintf(out, "**Invalid HEX character in %s", errstr);
+ return -1;
+ }
+ }
+@@ -263,12 +263,12 @@ read_command_file(emu_out_t *out, emu_data_t *emu, const char *command_file)
+
+ buffer = malloc(INPUT_BUFFER_SIZE);
+ if (!buffer) {
+- out->printf(out, "Could not allocate buffer memory\n");
++ out->eprintf(out, "Could not allocate buffer memory\n");
+ rv = ENOMEM;
+ goto out;
+ }
+ while (fgets(buffer+pos, INPUT_BUFFER_SIZE-pos, f)) {
+- out->printf(out, "%s", buffer+pos);
++ out->eprintf(out, "%s", buffer+pos);
+ if (buffer[pos] == '#')
+ continue;
+ pos = strlen(buffer);
+@@ -318,7 +318,7 @@ sel_enable(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
+
+ rv = ipmi_mc_enable_sel(mc, max_records, flags);
+ if (rv)
+- out->printf(out, "**Unable to enable sel, error 0x%x\n", rv);
++ out->eprintf(out, "**Unable to enable sel, error 0x%x\n", rv);
+ return rv;
+ }
+
+@@ -343,9 +343,9 @@ sel_add(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
+
+ rv = ipmi_mc_add_to_sel(mc, record_type, data, &r);
+ if (rv)
+- out->printf(out, "**Unable to add to sel, error 0x%x\n", rv);
++ out->eprintf(out, "**Unable to add to sel, error 0x%x\n", rv);
+ else
+- out->printf(out, "Added record %d\n", r);
++ out->eprintf(out, "Added record %d\n", r);
+ return rv;
+ }
+
+@@ -361,14 +361,14 @@ main_sdr_add(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
+ if (rv == ENOSPC)
+ break;
+ if (rv) {
+- out->printf(out, "**Error 0x%x in data byte %d\n", rv, i);
++ out->eprintf(out, "**Error 0x%x in data byte %d\n", rv, i);
+ return rv;
+ }
+ }
+
+ rv = ipmi_mc_add_main_sdr(mc, data, i);
+ if (rv)
+- out->printf(out, "**Unable to add to sdr, error 0x%x\n", rv);
++ out->eprintf(out, "**Unable to add to sdr, error 0x%x\n", rv);
+ return rv;
+ }
+
+@@ -389,14 +389,14 @@ device_sdr_add(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
+ if (rv == ENOSPC)
+ break;
+ if (rv) {
+- out->printf(out, "**Error 0x%x in data byte %d\n", rv, i);
++ out->eprintf(out, "**Error 0x%x in data byte %d\n", rv, i);
+ return rv;
+ }
+ }
+
+ rv = ipmi_mc_add_device_sdr(mc, lun, data, i);
+ if (rv)
+- out->printf(out, "**Unable to add to sdr, error 0x%x\n", rv);
++ out->eprintf(out, "**Unable to add to sdr, error 0x%x\n", rv);
+ return rv;
+ }
+
+@@ -439,7 +439,7 @@ sensor_add(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
+ while (tok) {
+ if (strcmp(tok, "poll") == 0) {
+ if (handler) {
+- out->printf(out, "**poll given twice in sensor\n", tok);
++ out->eprintf(out, "**poll given twice in sensor\n", tok);
+ return -1;
+ }
+
+@@ -449,27 +449,27 @@ sensor_add(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
+
+ tok = mystrtok(NULL, " \t\n", toks);
+ if (!tok) {
+- out->printf(out, "**No polled sensor handler given\n", tok);
++ out->eprintf(out, "**No polled sensor handler given\n", tok);
+ return -1;
+ }
+
+ handler = ipmi_sensor_find_handler(tok);
+ if (!handler) {
+- out->printf(out, "**Invalid sensor handler: %s\n", tok);
++ out->eprintf(out, "**Invalid sensor handler: %s\n", tok);
+ return -1;
+ }
+
+ rv = handler->init(mc, lun, num, toks, handler->cb_data, &rcb_data,
+ &errstr);
+ if (rv) {
+- out->printf(out, "**Error initializing sensor handler: %s\n",
++ out->eprintf(out, "**Error initializing sensor handler: %s\n",
+ errstr);
+ return rv;
+ }
+ } else if (strcmp(tok, "event-only") == 0) {
+ event_only = 1;
+ } else {
+- out->printf(out, "**Unknown sensor option: %s\n", tok);
++ out->eprintf(out, "**Unknown sensor option: %s\n", tok);
+ return -1;
+ }
+
+@@ -477,7 +477,7 @@ sensor_add(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
+ }
+
+ if (handler && event_only) {
+- out->printf(out, "**An event-only sensor cannot be polled\n");
++ out->eprintf(out, "**An event-only sensor cannot be polled\n");
+ return -1;
+ }
+
+@@ -488,7 +488,7 @@ sensor_add(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
+ if (!rv && handler->postinit) {
+ rv = handler->postinit(rcb_data, &errstr);
+ if (rv) {
+- out->printf(out, "**Error in sensor handler postinit: %s\n",
++ out->eprintf(out, "**Error in sensor handler postinit: %s\n",
+ errstr);
+ }
+ }
+@@ -496,7 +496,7 @@ sensor_add(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
+ rv = ipmi_mc_add_sensor(mc, lun, num, type, code, event_only);
+ }
+ if (rv)
+- out->printf(out, "**Unable to add to sensor, error 0x%x\n", rv);
++ out->eprintf(out, "**Unable to add to sensor, error 0x%x\n", rv);
+ return rv;
+ }
+
+@@ -532,7 +532,7 @@ sensor_set_bit(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
+
+ rv = ipmi_mc_sensor_set_bit(mc, lun, num, bit, value, gen_event);
+ if (rv)
+- out->printf(out, "**Unable to set sensor bit, error 0x%x\n", rv);
++ out->eprintf(out, "**Unable to set sensor bit, error 0x%x\n", rv);
+ return rv;
+ }
+
+@@ -563,7 +563,7 @@ sensor_set_bit_clr_rest(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **
+
+ rv = ipmi_mc_sensor_set_bit_clr_rest(mc, lun, num, bit, gen_event);
+ if (rv)
+- out->printf(out, "**Unable to set sensor bit, error 0x%x\n", rv);
++ out->eprintf(out, "**Unable to set sensor bit, error 0x%x\n", rv);
+ return rv;
+ }
+
+@@ -594,7 +594,7 @@ sensor_set_value(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
+
+ rv = ipmi_mc_sensor_set_value(mc, lun, num, value, gen_event);
+ if (rv)
+- out->printf(out, "**Unable to set sensor value, error 0x%x\n", rv);
++ out->eprintf(out, "**Unable to set sensor value, error 0x%x\n", rv);
+ return rv;
+ }
+
+@@ -637,7 +637,7 @@ sensor_set_hysteresis(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **to
+ rv = ipmi_mc_sensor_set_hysteresis(mc, lun, num, support, positive,
+ negative);
+ if (rv)
+- out->printf(out, "**Unable to set sensor hysteresis, error 0x%x\n", rv);
++ out->eprintf(out, "**Unable to set sensor hysteresis, error 0x%x\n", rv);
+ return rv;
+ }
+
+@@ -682,7 +682,7 @@ sensor_set_threshold(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **tok
+ rv = ipmi_mc_sensor_set_threshold(mc, lun, num, support,
+ enabled, 1, thresholds);
+ if (rv)
+- out->printf(out, "**Unable to set sensor thresholds, error 0x%x\n", rv);
++ out->eprintf(out, "**Unable to set sensor thresholds, error 0x%x\n", rv);
+ return rv;
+ }
+
+@@ -759,7 +759,7 @@ sensor_set_event_support(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char *
+ assert_support, deassert_support,
+ assert_enabled, deassert_enabled);
+ if (rv)
+- out->printf(out, "**Unable to set sensor thresholds, error 0x%x\n", rv);
++ out->eprintf(out, "**Unable to set sensor thresholds, error 0x%x\n", rv);
+ return rv;
+ }
+
+@@ -819,7 +819,7 @@ mc_add(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
+ else if (strcmp("persist_sdr", tok) == 0)
+ flags |= IPMI_MC_PERSIST_SDR;
+ else {
+- out->printf(out, "**Invalid MC flag: %s\n", tok);
++ out->eprintf(out, "**Invalid MC flag: %s\n", tok);
+ return -1;
+ }
+ }
+@@ -833,7 +833,7 @@ mc_add(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
+ device_revision, major_fw_rev, minor_fw_rev,
+ device_support, mfg_id, product_id, flags);
+ if (rv)
+- out->printf(out, "**Unable to add the MC, error 0x%x\n", rv);
++ out->eprintf(out, "**Unable to add the MC, error 0x%x\n", rv);
+ return rv;
+ }
+
+@@ -890,7 +890,7 @@ mc_set_power(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
+
+ rv = ipmi_mc_set_power(mc, power, gen_int);
+ if (rv)
+- out->printf(out, "**Unable to set power, error 0x%x\n", rv);
++ out->eprintf(out, "**Unable to set power, error 0x%x\n", rv);
+ return rv;
+ }
+
+@@ -916,7 +916,7 @@ mc_add_fru_data(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
+
+ tok = mystrtok(NULL, " \t\n", toks);
+ if (!tok) {
+- out->printf(out, "**No FRU data type given");
++ out->eprintf(out, "**No FRU data type given");
+ return -1;
+ }
+ if (strcmp(tok, "file") == 0) {
+@@ -929,13 +929,13 @@ mc_add_fru_data(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
+
+ rv = get_delim_str(toks, &frufn, &errstr);
+ if (rv) {
+- out->printf(out, "**Error with FRU filename: %d", strerror(rv));
++ out->eprintf(out, "**Error with FRU filename: %d", strerror(rv));
+ return rv;
+ }
+ rv = ipmi_mc_add_fru_file(mc, devid, length, file_offset,
+ (void *) frufn);
+ if (rv)
+- out->printf(out, "**Unable to add FRU file, error 0x%x\n", rv);
++ out->eprintf(out, "**Unable to add FRU file, error 0x%x\n", rv);
+
+ } else if (strcmp(tok, "data") == 0) {
+ for (i=0; i<length; i++) {
+@@ -943,14 +943,14 @@ mc_add_fru_data(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
+ if (rv == ENOSPC)
+ break;
+ if (rv) {
+- out->printf(out, "**Error 0x%x in data byte %d\n", rv, i);
++ out->eprintf(out, "**Error 0x%x in data byte %d\n", rv, i);
+ return rv;
+ }
+ }
+
+ rv = emu_get_uchar(out, toks, &data[i], "data byte", 1);
+ if (rv != ENOSPC) {
+- out->printf(out, "**Error: input data too long for FRU\n", rv, i);
++ out->eprintf(out, "**Error: input data too long for FRU\n", rv, i);
+ return EINVAL;
+ }
+
+@@ -958,9 +958,9 @@ mc_add_fru_data(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
+
+ rv = ipmi_mc_add_fru_data(mc, devid, length, NULL, data);
+ if (rv)
+- out->printf(out, "**Unable to add FRU data, error 0x%x\n", rv);
++ out->eprintf(out, "**Unable to add FRU data, error 0x%x\n", rv);
+ } else {
+- out->printf(out, "**FRU type not given, need file or data\n");
++ out->eprintf(out, "**FRU type not given, need file or data\n");
+ rv = EINVAL;
+ }
+ return rv;
+@@ -981,28 +981,28 @@ mc_dump_fru_data(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
+
+ rv = ipmi_mc_get_fru_data_len(mc, devid, &length);
+ if (rv) {
+- out->printf(out, "**Unable to dump FRU data, error 0x%x\n", rv);
++ out->eprintf(out, "**Unable to dump FRU data, error 0x%x\n", rv);
+ goto out;
+ }
+
+ data = malloc(length);
+ if (!data) {
+- out->printf(out, "**Unable to dump FRU data, out of memory\n", rv);
++ out->eprintf(out, "**Unable to dump FRU data, out of memory\n", rv);
+ goto out;
+ }
+
+ rv = ipmi_mc_get_fru_data(mc, devid, length, data);
+ if (rv) {
+- out->printf(out, "**Unable to dump FRU data, error 0x%x\n", rv);
++ out->eprintf(out, "**Unable to dump FRU data, error 0x%x\n", rv);
+ goto out;
+ }
+
+ for (i=0; i<length; i++) {
+ if ((i > 0) && ((i % 8) == 0))
+- out->printf(out, "\n");
+- out->printf(out, " 0x%2.2x", data[i]);
++ out->eprintf(out, "\n");
++ out->eprintf(out, " 0x%2.2x", data[i]);
+ }
+- out->printf(out, "\n");
++ out->eprintf(out, "\n");
+
+ out:
+ if (data)
+@@ -1021,7 +1021,7 @@ mc_setbmc(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
+ return rv;
+ rv = ipmi_emu_set_bmc_mc(emu, ipmb);
+ if (rv)
+- out->printf(out, "**Invalid IPMB address\n");
++ out->eprintf(out, "**Invalid IPMB address\n");
+ return rv;
+ }
+
+@@ -1032,7 +1032,7 @@ atca_enable(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
+
+ rv = ipmi_emu_atca_enable(emu);
+ if (rv)
+- out->printf(out, "**Unable to enable ATCA mode, error 0x%x\n", rv);
++ out->eprintf(out, "**Unable to enable ATCA mode, error 0x%x\n", rv);
+ return rv;
+ }
+
+@@ -1056,7 +1056,7 @@ atca_set_site(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
+
+ rv = ipmi_emu_atca_set_site(emu, hw_address, site_type, site_number);
+ if (rv)
+- out->printf(out, "**Unable to set site type, error 0x%x\n", rv);
++ out->eprintf(out, "**Unable to set site type, error 0x%x\n", rv);
+ return rv;
+ }
+
+@@ -1072,7 +1072,7 @@ mc_set_num_leds(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
+
+ rv = ipmi_mc_set_num_leds(mc, count);
+ if (rv)
+- out->printf(out, "**Unable to set number of LEDs, error 0x%x\n", rv);
++ out->eprintf(out, "**Unable to set number of LEDs, error 0x%x\n", rv);
+ return rv;
+ }
+
+@@ -1085,7 +1085,7 @@ read_cmds(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
+
+ err = get_delim_str(toks, &filename, &errstr);
+ if (err) {
+- out->printf(out, "Could not get include filename: %s\n", errstr);
++ out->eprintf(out, "Could not get include filename: %s\n", errstr);
+ return err;
+ }
+
+@@ -1097,7 +1097,7 @@ read_cmds(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
+ {
+ char *nf = malloc(strlen(BASE_CONF_STR) + strlen(filename) + 2);
+ if (!nf) {
+- out->printf(out, "Out of memory in include\n", errstr);
++ out->eprintf(out, "Out of memory in include\n", errstr);
+ goto out_err;
+ }
+ strcpy(nf, BASE_CONF_STR);
+@@ -1107,7 +1107,7 @@ read_cmds(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
+ filename = nf;
+ err = read_command_file(out, emu, filename);
+ if (err) {
+- out->printf(out, "Could not read include file %s\n", filename);
++ out->eprintf(out, "Could not read include file %s\n", filename);
+ }
+ }
+
+@@ -1147,7 +1147,7 @@ debug_cmd(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
+ } else if (strcmp(tok, "sol") == 0) {
+ level |= DEBUG_SOL;
+ } else {
+- out->printf(out, "Invalid debug level '%s', options are 'raw' and 'msg'\n",
++ out->eprintf(out, "Invalid debug level '%s', options are 'raw' and 'msg'\n",
+ tok);
+ return EINVAL;
+ }
+@@ -1168,7 +1168,7 @@ persist_cmd(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
+ } else if (strcmp(tok, "off") == 0) {
+ persist_enable = 0;
+ } else {
+- out->printf(out, "Invalid persist vale '%s', options are 'on' and 'off'\n",
++ out->eprintf(out, "Invalid persist vale '%s', options are 'on' and 'off'\n",
+ tok);
+ return EINVAL;
+ }
+@@ -1194,18 +1194,18 @@ do_define(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
+
+ name = mystrtok(NULL, " \t\n", toks);
+ if (!name) {
+- out->printf(out, "No variable name given for define\n");
++ out->eprintf(out, "No variable name given for define\n");
+ return EINVAL;
+ }
+ err = get_delim_str(toks, &value, &errstr);
+ if (err) {
+- out->printf(out, "Could not get variable %s value: %s\n", name, errstr);
++ out->eprintf(out, "Could not get variable %s value: %s\n", name, errstr);
+ return err;
+ }
+ err = add_variable(name, value);
+ if (err) {
+ free(value);
+- out->printf(out, "Out of memory setting variable %s\n", name);
++ out->eprintf(out, "Out of memory setting variable %s\n", name);
+ return err;
+ }
+ return 0;
+@@ -1301,7 +1301,7 @@ ipmi_emu_cmd(emu_out_t *out, emu_data_t *emu, char *cmd_str)
+ return rv;
+ rv = ipmi_emu_get_mc_by_addr(emu, ipmb, &mc);
+ if (rv) {
+- out->printf(out, "**Invalid MC address\n");
++ out->eprintf(out, "**Invalid MC address\n");
+ return rv;
+ }
+ }
+@@ -1312,7 +1312,7 @@ ipmi_emu_cmd(emu_out_t *out, emu_data_t *emu, char *cmd_str)
+ }
+ }
+
+- out->printf(out, "**Unknown command: %s\n", cmd);
++ out->eprintf(out, "**Unknown command: %s\n", cmd);
+
+ out:
+ return rv;
+diff --git a/lanserv/ipmi_sim.c b/lanserv/ipmi_sim.c
+index 9472cce..30c4f27 100644
+--- a/lanserv/ipmi_sim.c
++++ b/lanserv/ipmi_sim.c
+@@ -607,8 +607,8 @@ isim_log(sys_data_t *sys, int logtype, msg_t *msg, const char *format,
+
+ con = data->consoles;
+ while (con) {
+- con->out.printf(&con->out, "%s", str);
+- con->out.printf(&con->out, "\n");
++ con->out.eprintf(&con->out, "%s", str);
++ con->out.eprintf(&con->out, "\n");
+ con = con->next;
+ }
+ #if HAVE_SYSLOG
+@@ -956,7 +956,7 @@ console_bind_ready(int fd, void *cb_data, os_hnd_fd_id_t *id)
+ newcon->shutdown_on_close = 0;
+ newcon->telnet = 1;
+ newcon->tn_pos = 0;
+- newcon->out.printf = emu_printf;
++ newcon->out.eprintf = emu_printf;
+ newcon->out.data = newcon;
+
+ setsockopt(rv, IPPROTO_TCP, TCP_NODELAY, (char *)&val, sizeof(val));
+@@ -1463,10 +1463,10 @@ main(int argc, const char *argv[])
+ stdio_console.telnet = 0;
+ stdio_console.tn_pos = 0;
+ if (nostdio) {
+- stdio_console.out.printf = dummy_printf;
++ stdio_console.out.eprintf = dummy_printf;
+ stdio_console.out.data = &stdio_console;
+ } else {
+- stdio_console.out.printf = emu_printf;
++ stdio_console.out.eprintf = emu_printf;
+ stdio_console.out.data = &stdio_console;
+ }
+ stdio_console.next = NULL;
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/do-not-install-pyc-and-pyo.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/do-not-install-pyc-and-pyo.patch
index d4e02be45..d4e02be45 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/do-not-install-pyc-and-pyo.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/do-not-install-pyc-and-pyo.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/fix-symlink-install-error-in-cmdlang.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/fix-symlink-install-error-in-cmdlang.patch
index 9a568b2b2..9a568b2b2 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/fix-symlink-install-error-in-cmdlang.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/fix-symlink-install-error-in-cmdlang.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/include_sys_types.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/include_sys_types.patch
index 58ec5d883..58ec5d883 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/include_sys_types.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/include_sys_types.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/ipmi-init-fix-the-arguments.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi-init-fix-the-arguments.patch
index 51a398ba5..51a398ba5 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/ipmi-init-fix-the-arguments.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi-init-fix-the-arguments.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/ipmi.service b/import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi.service
index 6fe137819..6fe137819 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/ipmi.service
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi.service
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/openipmi-helper b/import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-helper
index 4cebfb9c6..4cebfb9c6 100755
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/openipmi-helper
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-helper
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/openipmi-no-openipmigui-man.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-no-openipmigui-man.patch
index 1fa68f9ba..1fa68f9ba 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/openipmi-no-openipmigui-man.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-no-openipmigui-man.patch
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-remove-host-path-from-la_LDFLAGS.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-remove-host-path-from-la_LDFLAGS.patch
new file mode 100644
index 000000000..83485a9e6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-remove-host-path-from-la_LDFLAGS.patch
@@ -0,0 +1,50 @@
+From aa0dc0783a6ff5fb56c914b640836223e3c192bb Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Mon, 29 Dec 2014 18:16:04 +0800
+Subject: [PATCH] remove host path from la_LDFLAGS
+
+Upstream-Status: Inappropriate [ cross compile specific ]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ cmdlang/Makefile.am | 2 +-
+ glib/Makefile.am | 4 ++--
+ tcl/Makefile.am | 2 +-
+ unix/Makefile.am | 4 ++--
+ 4 files changed, 6 insertions(+), 6 deletions(-)
+
+Index: OpenIPMI-2.0.24/cmdlang/Makefile.am
+===================================================================
+--- OpenIPMI-2.0.24.orig/cmdlang/Makefile.am
++++ OpenIPMI-2.0.24/cmdlang/Makefile.am
+@@ -15,8 +15,7 @@ libOpenIPMIcmdlang_la_SOURCES = cmdlang.
+ libOpenIPMIcmdlang_la_LIBADD = -lm \
+ $(top_builddir)/utils/libOpenIPMIutils.la \
+ $(top_builddir)/lib/libOpenIPMI.la
+-libOpenIPMIcmdlang_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) \
+- -L$(libdir)
++libOpenIPMIcmdlang_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION)
+
+ bin_PROGRAMS = openipmish
+
+Index: OpenIPMI-2.0.24/unix/Makefile.am
+===================================================================
+--- OpenIPMI-2.0.24.orig/unix/Makefile.am
++++ OpenIPMI-2.0.24/unix/Makefile.am
+@@ -10,14 +10,12 @@ lib_LTLIBRARIES = libOpenIPMIposix.la li
+ libOpenIPMIpthread_la_SOURCES = posix_thread_os_hnd.c selector.c
+ libOpenIPMIpthread_la_LIBADD = -lpthread $(GDBM_LIB) \
+ $(top_builddir)/utils/libOpenIPMIutils.la $(RT_LIB)
+-libOpenIPMIpthread_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) \
+- -L$(libdir)
++libOpenIPMIpthread_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION)
+
+ libOpenIPMIposix_la_SOURCES = posix_os_hnd.c selector.c
+ libOpenIPMIposix_la_LIBADD = $(top_builddir)/utils/libOpenIPMIutils.la \
+ $(GDBM_LIB) $(RT_LIB)
+-libOpenIPMIposix_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) \
+- -L$(libdir)
++libOpenIPMIposix_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION)
+
+ noinst_HEADERS = heap.h
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.24.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.24.bb
new file mode 100644
index 000000000..a4f63c5f4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.24.bb
@@ -0,0 +1,110 @@
+SUMMARY = "IPMI (Intelligent Platform Management Interface) library and tools"
+DESCRIPTION = "OpenIPMI is an effort to create a full-function IPMI system, \
+to allow full access to all IPMI information on a server \
+and to abstract it to a level that will make it easy to use"
+
+HOMEPAGE = "http://openipmi.sourceforge.net"
+
+DEPENDS = " \
+ glib-2.0 \
+ ncurses \
+ net-snmp \
+ openssl \
+ popt \
+ python \
+ swig-native \
+ "
+
+LICENSE = "GPLv2 & LGPLv2.1 & BSD"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://COPYING.LIB;md5=d8045f3b8f929c1cb29a1e3fd737b499 \
+ file://COPYING.BSD;md5=4b318d4160eb69c8ee53452feb1b4cdf \
+ "
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/openipmi/OpenIPMI-${PV}.tar.gz \
+ file://fix-symlink-install-error-in-cmdlang.patch \
+ file://openipmi-no-openipmigui-man.patch \
+ file://openipmi-remove-host-path-from-la_LDFLAGS.patch \
+ file://ipmi-init-fix-the-arguments.patch \
+ file://do-not-install-pyc-and-pyo.patch \
+ file://include_sys_types.patch \
+ file://openipmi-helper \
+ file://ipmi.service \
+ file://0001-lanserv-Rename-struct-parameter-printf-for-namespace.patch \
+ "
+
+S = "${WORKDIR}/OpenIPMI-${PV}"
+SRC_URI[md5sum] = "58f9542cbfcb5fe250b77cf88345e1ec"
+SRC_URI[sha256sum] = "bca39a27071278a8b74610181ede8df51e155e5e9031bc8eaa3699d1720292b4"
+
+inherit autotools-brokensep pkgconfig pythonnative perlnative update-rc.d systemd
+
+EXTRA_OECONF = "--disable-static \
+ --with-perl='${STAGING_BINDIR_NATIVE}/perl-native/perl' \
+ --with-python='${STAGING_BINDIR_NATIVE}/python-native/python' \
+ --with-pythoninstall='${PYTHON_SITEPACKAGES_DIR}' \
+ --with-glibver=2.0"
+
+PACKAGECONFIG ??= "gdbm"
+PACKAGECONFIG[gdbm] = "ac_cv_header_gdbm_h=yes,ac_cv_header_gdbm_h=no,gdbm,"
+
+PACKAGES += "${PN}-perl ${PN}-python"
+
+FILES_${PN}-perl = " \
+ ${libdir}/perl/vendor_perl/*/OpenIPMI.pm \
+ ${libdir}/perl/vendor_perl/*/auto/OpenIPMI/OpenIPMI.so \
+ "
+
+FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
+
+FILES_${PN}-dbg += " \
+ ${libdir}/perl/vendor_perl/*/auto/OpenIPMI/.debug \
+ ${PYTHON_SITEPACKAGES_DIR}/.debug \
+ "
+
+do_configure () {
+
+ # Let's perform regular configuration first then handle perl issues.
+ autotools_do_configure
+
+ perl_ver=`perl -V:version | cut -d\' -f 2`
+
+ # Force openipmi perl bindings to be compiled using perl-native instead of
+ # the host's perl. Set the proper install directory for the resulting
+ # openipmi.pm and openipmi.so
+ for i in ${S}/swig/Makefile ${S}/swig/perl/Makefile; do
+ echo "SAL: i = $i"
+ echo "SAL: STAGING_INCDIR_NATIVE = $STAGING_INCDIR_NATIVE"
+ echo "SAL: libdir = $libdir"
+ sed -i -e "/^PERL_CFLAGS/s:-I/usr/local/include:-I${STAGING_INCDIR_NATIVE}:g" $i
+ sed -i -e "/^PERL_INSTALL_DIR/s:^PERL_INSTALL_DIR = .*:PERL_INSTALL_DIR = ${libdir}/perl/vendor_perl/$perl_ver:g" $i
+ done
+}
+
+do_install_append () {
+ echo "SAL: D = $D"
+ echo "SAL: libdir = $libdir"
+ install -m 0755 -d ${D}${sysconfdir}/sysconfig ${D}${sysconfdir}/init.d
+ install -m 0755 ${S}/ipmi.init ${D}${sysconfdir}/init.d/ipmi
+ install -m 0644 ${S}/ipmi.sysconf ${D}${sysconfdir}/sysconfig/ipmi
+ # SAL: mv: cannot stat `/localdisk/loadbuild/slittle1/workspace/cgts_test_build/bitbake_build/tmp/work/x86_64-wrs-linux/openipmi-2.0.19-r4/image/usr/lib64/perl5': No such file or directory
+ # SAL: real path to perl is /localdisk/loadbuild/slittle1/workspace/cgts_test_build/bitbake_build/tmp/work/x86_64-wrs-linux/perl-5.14.2-r8.3/package/usr/lib64/perl5 and it is a symlink to perl so no need to mv.
+ if [ -d ${D}${libdir}/perl5 ]
+ then
+ mv ${D}${libdir}/perl5 ${D}${libdir}/perl
+ fi
+
+ # for systemd
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0664 ${WORKDIR}/ipmi.service ${D}${systemd_unitdir}/system
+ sed -i -e "s,@LIBEXECDIR@,${libexecdir},g" ${D}${systemd_unitdir}/system/ipmi.service
+ install -d ${D}${libexecdir}
+ install -m 0755 ${WORKDIR}/openipmi-helper ${D}${libexecdir}
+}
+
+INITSCRIPT_NAME = "ipmi"
+INITSCRIPT_PARAMS = "start 30 . stop 70 0 1 2 3 4 5 6 ."
+
+SYSTEMD_SERVICE_${PN} = "ipmi.service"
+SYSTEMD_AUTO_ENABLE = "disable"
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
deleted file mode 100644
index db510deff..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.3.9.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 ${@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=${base_sbindir}/ip"
-
-do_install_append() {
- install -d ${D}/${sysconfdir}/init.d
- install -m 755 ${WORKDIR}/openvpn ${D}/${sysconfdir}/init.d
-
- install -d ${D}/${sysconfdir}/openvpn
- install -d ${D}/${sysconfdir}/openvpn/sample
- install -m 755 ${S}/sample/sample-config-files/loopback-server ${D}${sysconfdir}/openvpn/sample/loopback-server.conf
- install -m 755 ${S}/sample/sample-config-files/loopback-client ${D}${sysconfdir}/openvpn/sample/loopback-client.conf
- install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-keys
- install -m 644 ${S}/sample/sample-keys/* ${D}${sysconfdir}/openvpn/sample/sample-keys
-
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}/${systemd_unitdir}/system
- install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system
- install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system/openvpn@loopback-server.service
- install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system/openvpn@loopback-client.service
-
- install -d ${D}/${localstatedir}
- install -d ${D}/${localstatedir}/lib
- install -d -m 710 ${D}/${localstatedir}/lib/openvpn
-
- install -d ${D}${sysconfdir}/tmpfiles.d
- install -m 0644 ${WORKDIR}/openvpn-volatile.conf ${D}${sysconfdir}/tmpfiles.d/openvpn.conf
- sed -i -e 's#@LOCALSTATEDIR@#${localstatedir}#g' ${D}${sysconfdir}/tmpfiles.d/openvpn.conf
- fi
-}
-
-PACKAGES =+ " ${PN}-sample "
-
-RRECOMMENDS_${PN} = "kernel-module-tun"
-
-FILES_${PN}-dbg += "${libdir}/openvpn/plugins/.debug"
-FILES_${PN} += "${systemd_unitdir}/system/openvpn@.service \
- ${sysconfdir}/tmpfiles.d \
- "
-FILES_${PN}-sample += "${systemd_unitdir}/system/openvpn@loopback-server.service \
- ${systemd_unitdir}/system/openvpn@loopback-client.service \
- ${sysconfdir}/openvpn/sample/"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.4.3.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.4.3.bb
new file mode 100644
index 000000000..90097f32a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.4.3.bb
@@ -0,0 +1,67 @@
+SUMMARY = "A full-featured SSL VPN solution via tun device."
+HOMEPAGE = "http://openvpn.sourceforge.net"
+SECTION = "net"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e9b64491ec98eb6c6493ac5e4118f107"
+DEPENDS = "lzo openssl iproute2 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
+
+inherit autotools systemd
+
+SRC_URI = "http://swupdate.openvpn.org/community/releases/${BP}.tar.gz \
+ file://openvpn \
+ file://openvpn@.service \
+ file://openvpn-volatile.conf"
+
+SRC_URI[md5sum] = "e1929f82aff40f3d105e5f72aacff9c1"
+SRC_URI[sha256sum] = "cee3d3ca462960a50a67c0ebd186e01b6d13db70275205663695152c9aca8579"
+
+SYSTEMD_SERVICE_${PN} += "openvpn@loopback-server.service openvpn@loopback-client.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+CFLAGS += "-fno-inline"
+
+# I want openvpn to be able to read password from file (hrw)
+EXTRA_OECONF += "--enable-iproute2"
+EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '', '--disable-plugin-auth-pam', d)}"
+
+# Explicitly specify IPROUTE to bypass the configure-time check for /sbin/ip on the host.
+EXTRA_OECONF += "IPROUTE=${base_sbindir}/ip"
+
+do_install_append() {
+ install -d ${D}/${sysconfdir}/init.d
+ install -m 755 ${WORKDIR}/openvpn ${D}/${sysconfdir}/init.d
+
+ install -d ${D}/${sysconfdir}/openvpn
+ install -d ${D}/${sysconfdir}/openvpn/sample
+ install -m 755 ${S}/sample/sample-config-files/loopback-server ${D}${sysconfdir}/openvpn/sample/loopback-server.conf
+ install -m 755 ${S}/sample/sample-config-files/loopback-client ${D}${sysconfdir}/openvpn/sample/loopback-client.conf
+ install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-keys
+ install -m 644 ${S}/sample/sample-keys/* ${D}${sysconfdir}/openvpn/sample/sample-keys
+
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}/${systemd_unitdir}/system
+ install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system
+ install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system/openvpn@loopback-server.service
+ install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system/openvpn@loopback-client.service
+
+ install -d ${D}/${localstatedir}
+ install -d ${D}/${localstatedir}/lib
+ install -d -m 710 ${D}/${localstatedir}/lib/openvpn
+
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ install -m 0644 ${WORKDIR}/openvpn-volatile.conf ${D}${sysconfdir}/tmpfiles.d/openvpn.conf
+ sed -i -e 's#@LOCALSTATEDIR@#${localstatedir}#g' ${D}${sysconfdir}/tmpfiles.d/openvpn.conf
+ fi
+}
+
+PACKAGES =+ " ${PN}-sample "
+
+RRECOMMENDS_${PN} = "kernel-module-tun"
+
+FILES_${PN}-dbg += "${libdir}/openvpn/plugins/.debug"
+FILES_${PN} += "${systemd_unitdir}/system/openvpn@.service \
+ ${sysconfdir}/tmpfiles.d \
+ "
+FILES_${PN}-sample += "${systemd_unitdir}/system/openvpn@loopback-server.service \
+ ${systemd_unitdir}/system/openvpn@loopback-client.service \
+ ${sysconfdir}/openvpn/sample/"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/pimd/pimd/0001-configure-Dont-use-uname-to-determine-target-OS.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/pimd/pimd/0001-configure-Dont-use-uname-to-determine-target-OS.patch
new file mode 100644
index 000000000..eb549ded9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/pimd/pimd/0001-configure-Dont-use-uname-to-determine-target-OS.patch
@@ -0,0 +1,28 @@
+From f3e04281bad361249a8dad0cde150a801d720f67 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 14 Jul 2017 18:46:52 -0700
+Subject: [PATCH] configure: Dont use uname to determine target OS
+
+Helps with cross-compiling
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure b/configure
+index 6c35a72..f9714e2 100755
+--- a/configure
++++ b/configure
+@@ -31,7 +31,7 @@
+ #DEFS += -DSCOPED_ACL
+ #
+
+-OS=`uname`
++OS="Linux"
+ CFG=config.mk
+ TMP=`mktemp /tmp/XXXXXX`
+ BUGREPORT_URL="https://github.com/troglobit/pimd/issues"
+--
+2.13.3
+
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
deleted file mode 100644
index 7edb6422d..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/pimd/pimd_2.1.8.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "pimd is a lightweight stand-alone PIM-SM v2 multicast routing daemon."
-HOMEPAGE = "http://troglobit.com/pimd.html"
-SECTION = "net"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=94f108f91fab720d62425770b70dd790"
-
-SRC_URI = "ftp://ftp.troglobit.com/pimd/${BP}.tar.bz2"
-SRC_URI[md5sum] = "a12448bc7c9bfcebf51a13ebf1ffa962"
-SRC_URI[sha256sum] = "01016940543a0a6131d4e6c91b595d47e187012c59a298eec14c3dbc38564b3a"
-
-EXTRA_OEMAKE = "-e MAKEFLAGS="
-CFLAGS += "-I ${S}/include "
-
-do_install() {
- unset datadir
- unset mandir
- oe_runmake 'DESTDIR=${D}' install
-}
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/pimd/pimd_2.3.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/pimd/pimd_2.3.2.bb
new file mode 100644
index 000000000..2faa7cb1c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/pimd/pimd_2.3.2.bb
@@ -0,0 +1,20 @@
+SUMMARY = "pimd is a lightweight stand-alone PIM-SM v2 multicast routing daemon."
+HOMEPAGE = "http://troglobit.com/pimd.html"
+SECTION = "net"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=94f108f91fab720d62425770b70dd790"
+
+SRC_URI = "ftp://ftp.troglobit.com/pimd/${BP}.tar.gz \
+ file://0001-configure-Dont-use-uname-to-determine-target-OS.patch \
+ "
+SRC_URI[md5sum] = "a3c03e40540980b2c06e265a17988e60"
+SRC_URI[sha256sum] = "c77a9812751f114490a28a6839b16aac8b020c8d9fd6aa22bf3880c054e19f1d"
+
+EXTRA_OECONF_append_libc-musl = " --embedded-libc"
+
+inherit autotools-brokensep
+
+do_configure() {
+ oe_runconf
+}
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/files/0001-memory.h-Include-stdint.h-for-uintptr_t.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/files/0001-memory.h-Include-stdint.h-for-uintptr_t.patch
new file mode 100644
index 000000000..7ebc39818
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/files/0001-memory.h-Include-stdint.h-for-uintptr_t.patch
@@ -0,0 +1,26 @@
+From 2a3ab04bbdc4624792886aa51579eadb427ef99e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 27 Jun 2017 07:42:11 -0700
+Subject: [PATCH] memory.h: Include stdint.h for uintptr_t
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/libstrongswan/utils/utils/memory.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/libstrongswan/utils/utils/memory.h b/src/libstrongswan/utils/utils/memory.h
+index b978e7c..55aaaf5 100644
+--- a/src/libstrongswan/utils/utils/memory.h
++++ b/src/libstrongswan/utils/utils/memory.h
+@@ -22,6 +22,8 @@
+ #ifndef MEMORY_H_
+ #define MEMORY_H_
+
++#include <stdint.h>
++
+ /**
+ * Helper function that compares two binary blobs for equality
+ */
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.5.1.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.5.1.bb
deleted file mode 100644
index d63214ba4..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.5.1.bb
+++ /dev/null
@@ -1,130 +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 \
-"
-
-SRC_URI[md5sum] = "4eba9474f7dc6c8c8d7037261358e68d"
-SRC_URI[sha256sum] = "720b301991f77bdedd8d551a956f52e2d11686a0ec18e832094f86cf2b842ab7"
-
-EXTRA_OECONF = " \
- --without-lib-prefix \
-"
-
-EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}"
-
-
-PACKAGECONFIG ??= "charon curl gmp openssl stroke sqlite3 \
- ${@bb.utils.filter('DISTRO_FEATURES', 'ldap', d)} \
-"
-PACKAGECONFIG[aesni] = "--enable-aesni,--disable-aesni,,${PN}-plugin-aesni"
-PACKAGECONFIG[charon] = "--enable-charon,--disable-charon,"
-PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,${PN}-plugin-curl"
-PACKAGECONFIG[gmp] = "--enable-gmp,--disable-gmp,gmp,${PN}-plugin-gmp"
-PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap,${PN}-plugin-ldap"
-PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5,${PN}-plugin-mysql"
-PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl,${PN}-plugin-openssl"
-PACKAGECONFIG[scep] = "--enable-scepclient,--disable-scepclient,"
-PACKAGECONFIG[soup] = "--enable-soup,--disable-soup,libsoup-2.4,${PN}-plugin-soup"
-PACKAGECONFIG[sqlite3] = "--enable-sqlite,--disable-sqlite,sqlite3,${PN}-plugin-sqlite"
-PACKAGECONFIG[stroke] = "--enable-stroke,--disable-stroke,,${PN}-plugin-stroke"
-PACKAGECONFIG[swanctl] = "--enable-swanctl,--disable-swanctl,,libgcc"
-
-# requires swanctl
-PACKAGECONFIG[systemd-charon] = "--enable-systemd,--disable-systemd,systemd,"
-
-inherit autotools systemd pkgconfig
-
-RRECOMMENDS_${PN} = "kernel-module-ipsec"
-
-FILES_${PN} += "${libdir}/ipsec/lib*${SOLIBS}"
-FILES_${PN}-dbg += "${bindir}/.debug ${libdir}/ipsec/.debug ${libexecdir}/ipsec/.debug"
-FILES_${PN}-dev += "${libdir}/ipsec/lib*${SOLIBSDEV} ${libdir}/ipsec/*.la"
-FILES_${PN}-staticdev += "${libdir}/ipsec/*.a"
-
-CONFFILES_${PN} = "${sysconfdir}/*.conf ${sysconfdir}/ipsec.d/*.conf ${sysconfdir}/strongswan.d/*.conf"
-
-PACKAGES += "${PN}-plugins"
-ALLOW_EMPTY_${PN}-plugins = "1"
-
-PACKAGES_DYNAMIC += "^${PN}-plugin-.*$"
-NOAUTOPACKAGEDEBUG = "1"
-
-python split_strongswan_plugins () {
- sysconfdir = d.expand('${sysconfdir}/strongswan.d/charon')
- libdir = d.expand('${libdir}/ipsec/plugins')
- dbglibdir = os.path.join(libdir, '.debug')
-
- def add_plugin_conf(f, pkg, file_regex, output_pattern, modulename):
- dvar = d.getVar('PKGD', True)
- oldfiles = d.getVar('CONFFILES_' + pkg, True)
- newfile = '/' + os.path.relpath(f, dvar)
-
- if not oldfiles:
- d.setVar('CONFFILES_' + pkg, newfile)
- else:
- d.setVar('CONFFILES_' + pkg, oldfiles + " " + newfile)
-
- split_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.so', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True)
- do_split_packages(d, sysconfdir, '(.*)\.conf', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True, hook=add_plugin_conf)
-
- split_dbg_packages = do_split_packages(d, dbglibdir, 'libstrongswan-(.*)\.so', '${PN}-plugin-%s-dbg', 'strongSwan %s plugin - Debugging files', prepend=True, extra_depends='${PN}-dbg')
- split_dev_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.la', '${PN}-plugin-%s-dev', 'strongSwan %s plugin - Development files', prepend=True, extra_depends='${PN}-dev')
- split_staticdev_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.a', '${PN}-plugin-%s-staticdev', 'strongSwan %s plugin - Development files (Static Libraries)', prepend=True, extra_depends='${PN}-staticdev')
-
- if split_packages:
- pn = d.getVar('PN', True)
- d.setVar('RRECOMMENDS_' + pn + '-plugins', ' '.join(split_packages))
- d.appendVar('RRECOMMENDS_' + pn + '-dbg', ' ' + ' '.join(split_dbg_packages))
- d.appendVar('RRECOMMENDS_' + pn + '-dev', ' ' + ' '.join(split_dev_packages))
- d.appendVar('RRECOMMENDS_' + pn + '-staticdev', ' ' + ' '.join(split_staticdev_packages))
-}
-
-PACKAGESPLITFUNCS_prepend = "split_strongswan_plugins "
-
-# Install some default plugins based on default strongSwan ./configure options
-# See https://wiki.strongswan.org/projects/strongswan/wiki/Pluginlist
-RDEPENDS_${PN} += "\
- ${PN}-plugin-aes \
- ${PN}-plugin-attr \
- ${PN}-plugin-cmac \
- ${PN}-plugin-constraints \
- ${PN}-plugin-des \
- ${PN}-plugin-dnskey \
- ${PN}-plugin-hmac \
- ${PN}-plugin-kernel-netlink \
- ${PN}-plugin-md5 \
- ${PN}-plugin-nonce \
- ${PN}-plugin-pem \
- ${PN}-plugin-pgp \
- ${PN}-plugin-pkcs1 \
- ${PN}-plugin-pkcs7 \
- ${PN}-plugin-pkcs8 \
- ${PN}-plugin-pkcs12 \
- ${PN}-plugin-pubkey \
- ${PN}-plugin-random \
- ${PN}-plugin-rc2 \
- ${PN}-plugin-resolve \
- ${PN}-plugin-revocation \
- ${PN}-plugin-sha1 \
- ${PN}-plugin-sha2 \
- ${PN}-plugin-socket-default \
- ${PN}-plugin-sshkey \
- ${PN}-plugin-updown \
- ${PN}-plugin-vici \
- ${PN}-plugin-x509 \
- ${PN}-plugin-xauth-generic \
- ${PN}-plugin-xcbc \
- "
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'swanctl', '${BPN}-swanctl.service', '${BPN}.service', d)}"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.5.3.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.5.3.bb
new file mode 100644
index 000000000..3fb56bcfe
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.5.3.bb
@@ -0,0 +1,131 @@
+DESCRIPTION = "strongSwan is an OpenSource IPsec implementation for the \
+Linux operating system."
+SUMMARY = "strongSwan is an OpenSource IPsec implementation"
+HOMEPAGE = "http://www.strongswan.org"
+SECTION = "net"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "gmp openssl flex-native flex bison-native"
+
+SRC_URI = "http://download.strongswan.org/strongswan-${PV}.tar.bz2 \
+ file://fix-funtion-parameter.patch \
+ file://0001-memory.h-Include-stdint.h-for-uintptr_t.patch \
+ "
+
+SRC_URI[md5sum] = "4afffe3c219bb2e04f09510905af836b"
+SRC_URI[sha256sum] = "c5ea54b199174708de11af9b8f4ecf28b5b0743d4bc0e380e741f25b28c0f8d4"
+
+EXTRA_OECONF = " \
+ --without-lib-prefix \
+"
+
+EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}"
+
+
+PACKAGECONFIG ??= "charon curl gmp openssl stroke sqlite3 \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ldap', d)} \
+"
+PACKAGECONFIG[aesni] = "--enable-aesni,--disable-aesni,,${PN}-plugin-aesni"
+PACKAGECONFIG[charon] = "--enable-charon,--disable-charon,"
+PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,${PN}-plugin-curl"
+PACKAGECONFIG[gmp] = "--enable-gmp,--disable-gmp,gmp,${PN}-plugin-gmp"
+PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap,${PN}-plugin-ldap"
+PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5,${PN}-plugin-mysql"
+PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl,${PN}-plugin-openssl"
+PACKAGECONFIG[scep] = "--enable-scepclient,--disable-scepclient,"
+PACKAGECONFIG[soup] = "--enable-soup,--disable-soup,libsoup-2.4,${PN}-plugin-soup"
+PACKAGECONFIG[sqlite3] = "--enable-sqlite,--disable-sqlite,sqlite3,${PN}-plugin-sqlite"
+PACKAGECONFIG[stroke] = "--enable-stroke,--disable-stroke,,${PN}-plugin-stroke"
+PACKAGECONFIG[swanctl] = "--enable-swanctl,--disable-swanctl,,libgcc"
+
+# requires swanctl
+PACKAGECONFIG[systemd-charon] = "--enable-systemd,--disable-systemd,systemd,"
+
+inherit autotools systemd pkgconfig
+
+RRECOMMENDS_${PN} = "kernel-module-ipsec"
+
+FILES_${PN} += "${libdir}/ipsec/lib*${SOLIBS}"
+FILES_${PN}-dbg += "${bindir}/.debug ${libdir}/ipsec/.debug ${libexecdir}/ipsec/.debug"
+FILES_${PN}-dev += "${libdir}/ipsec/lib*${SOLIBSDEV} ${libdir}/ipsec/*.la"
+FILES_${PN}-staticdev += "${libdir}/ipsec/*.a"
+
+CONFFILES_${PN} = "${sysconfdir}/*.conf ${sysconfdir}/ipsec.d/*.conf ${sysconfdir}/strongswan.d/*.conf"
+
+PACKAGES += "${PN}-plugins"
+ALLOW_EMPTY_${PN}-plugins = "1"
+
+PACKAGES_DYNAMIC += "^${PN}-plugin-.*$"
+NOAUTOPACKAGEDEBUG = "1"
+
+python split_strongswan_plugins () {
+ sysconfdir = d.expand('${sysconfdir}/strongswan.d/charon')
+ libdir = d.expand('${libdir}/ipsec/plugins')
+ dbglibdir = os.path.join(libdir, '.debug')
+
+ def add_plugin_conf(f, pkg, file_regex, output_pattern, modulename):
+ dvar = d.getVar('PKGD', True)
+ oldfiles = d.getVar('CONFFILES_' + pkg, True)
+ newfile = '/' + os.path.relpath(f, dvar)
+
+ if not oldfiles:
+ d.setVar('CONFFILES_' + pkg, newfile)
+ else:
+ d.setVar('CONFFILES_' + pkg, oldfiles + " " + newfile)
+
+ split_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.so', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True)
+ do_split_packages(d, sysconfdir, '(.*)\.conf', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True, hook=add_plugin_conf)
+
+ split_dbg_packages = do_split_packages(d, dbglibdir, 'libstrongswan-(.*)\.so', '${PN}-plugin-%s-dbg', 'strongSwan %s plugin - Debugging files', prepend=True, extra_depends='${PN}-dbg')
+ split_dev_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.la', '${PN}-plugin-%s-dev', 'strongSwan %s plugin - Development files', prepend=True, extra_depends='${PN}-dev')
+ split_staticdev_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.a', '${PN}-plugin-%s-staticdev', 'strongSwan %s plugin - Development files (Static Libraries)', prepend=True, extra_depends='${PN}-staticdev')
+
+ if split_packages:
+ pn = d.getVar('PN', True)
+ d.setVar('RRECOMMENDS_' + pn + '-plugins', ' '.join(split_packages))
+ d.appendVar('RRECOMMENDS_' + pn + '-dbg', ' ' + ' '.join(split_dbg_packages))
+ d.appendVar('RRECOMMENDS_' + pn + '-dev', ' ' + ' '.join(split_dev_packages))
+ d.appendVar('RRECOMMENDS_' + pn + '-staticdev', ' ' + ' '.join(split_staticdev_packages))
+}
+
+PACKAGESPLITFUNCS_prepend = "split_strongswan_plugins "
+
+# Install some default plugins based on default strongSwan ./configure options
+# See https://wiki.strongswan.org/projects/strongswan/wiki/Pluginlist
+RDEPENDS_${PN} += "\
+ ${PN}-plugin-aes \
+ ${PN}-plugin-attr \
+ ${PN}-plugin-cmac \
+ ${PN}-plugin-constraints \
+ ${PN}-plugin-des \
+ ${PN}-plugin-dnskey \
+ ${PN}-plugin-hmac \
+ ${PN}-plugin-kernel-netlink \
+ ${PN}-plugin-md5 \
+ ${PN}-plugin-nonce \
+ ${PN}-plugin-pem \
+ ${PN}-plugin-pgp \
+ ${PN}-plugin-pkcs1 \
+ ${PN}-plugin-pkcs7 \
+ ${PN}-plugin-pkcs8 \
+ ${PN}-plugin-pkcs12 \
+ ${PN}-plugin-pubkey \
+ ${PN}-plugin-random \
+ ${PN}-plugin-rc2 \
+ ${PN}-plugin-resolve \
+ ${PN}-plugin-revocation \
+ ${PN}-plugin-sha1 \
+ ${PN}-plugin-sha2 \
+ ${PN}-plugin-socket-default \
+ ${PN}-plugin-sshkey \
+ ${PN}-plugin-updown \
+ ${PN}-plugin-vici \
+ ${PN}-plugin-x509 \
+ ${PN}-plugin-xauth-generic \
+ ${PN}-plugin-xcbc \
+ "
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'swanctl', '${BPN}-swanctl.service', '${BPN}.service', d)}"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel/fix-openssl-no-des.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel/fix-openssl-no-des.patch
new file mode 100644
index 000000000..209b0dd40
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel/fix-openssl-no-des.patch
@@ -0,0 +1,54 @@
+Upstream-Status: Pending
+
+When openssl disable des support with configure option 'no-des', it doesn't
+provide des related header file and functions. That causes stunnel compile
+failed. Fix it by checking macro OPENSSL_NO_DES to use openssl des related
+library conditionaly.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+diff --git a/src/common.h b/src/common.h
+index f7d38b0..bf485af 100644
+--- a/src/common.h
++++ b/src/common.h
+@@ -471,7 +471,9 @@ extern char *sys_errlist[];
+ #ifndef OPENSSL_NO_MD4
+ #include <openssl/md4.h>
+ #endif /* !defined(OPENSSL_NO_MD4) */
++#ifndef OPENSSL_NO_DES
+ #include <openssl/des.h>
++#endif
+ #ifndef OPENSSL_NO_DH
+ #include <openssl/dh.h>
+ #if OPENSSL_VERSION_NUMBER<0x10100000L
+diff --git a/src/protocol.c b/src/protocol.c
+index 587df09..8198eb6 100644
+--- a/src/protocol.c
++++ b/src/protocol.c
+@@ -66,7 +66,7 @@ NOEXPORT char *imap_server(CLI *, SERVICE_OPTIONS *, const PHASE);
+ NOEXPORT char *nntp_client(CLI *, SERVICE_OPTIONS *, const PHASE);
+ NOEXPORT char *connect_server(CLI *, SERVICE_OPTIONS *, const PHASE);
+ NOEXPORT char *connect_client(CLI *, SERVICE_OPTIONS *, const PHASE);
+-#ifndef OPENSSL_NO_MD4
++#if !defined(OPENSSL_NO_MD4) && !defined(OPENSSL_NO_DES)
+ NOEXPORT void ntlm(CLI *, SERVICE_OPTIONS *);
+ NOEXPORT char *ntlm1();
+ NOEXPORT char *ntlm3(char *, char *, char *, char *);
+@@ -1175,7 +1175,7 @@ NOEXPORT char *connect_client(CLI *c, SERVICE_OPTIONS *opt, const PHASE phase) {
+ fd_printf(c, c->remote_fd.fd, "Host: %s", opt->protocol_host);
+ if(opt->protocol_username && opt->protocol_password) {
+ if(!strcasecmp(opt->protocol_authentication, "ntlm")) {
+-#ifndef OPENSSL_NO_MD4
++#if !defined(OPENSSL_NO_MD4) && !defined(OPENSSL_NO_DES)
+ ntlm(c, opt);
+ #else
+ s_log(LOG_ERR, "NTLM authentication is not available");
+@@ -1216,7 +1216,7 @@ NOEXPORT char *connect_client(CLI *c, SERVICE_OPTIONS *opt, const PHASE phase) {
+ return NULL;
+ }
+
+-#ifndef OPENSSL_NO_MD4
++#if !defined(OPENSSL_NO_MD4) && !defined(OPENSSL_NO_DES)
+
+ /*
+ * NTLM code is based on the following documentation:
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
index 3e2e2c229..ec8478d6b 100644
--- 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
@@ -1,4 +1,5 @@
SUMMARY = "Program for providing universal TLS/SSL tunneling service"
+HOMEPAGE = "http://www.stunnel.org/"
DESCRIPTION = "SSL encryption wrapper between remote client and local (inetd-startable) or remote server."
SECTION = "net"
LICENSE = "GPLv2"
@@ -7,7 +8,9 @@ DEPENDS = "openssl zlib tcp-wrappers"
RDEPENDS_${PN} += "perl"
-SRC_URI = "ftp://ftp.stunnel.org/stunnel/archive/5.x/${BP}.tar.gz"
+SRC_URI = "ftp://ftp.stunnel.org/stunnel/archive/5.x/${BP}.tar.gz \
+ file://fix-openssl-no-des.patch \
+"
SRC_URI[md5sum] = "9079f5fafbccaf88b7d92b227d78249a"
SRC_URI[sha256sum] = "ffa386ae4c825f35f35157c285e7402a6d58779ad8c3822f74a9d355b54aba1d"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/tcpdump-configure-dlpi.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/tcpdump-configure-dlpi.patch
deleted file mode 100644
index 50e2d5439..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/tcpdump-configure-dlpi.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-[PATCH] tcpdump: cross-compiling not check dlpi.
-
-For cross-compiling on Linux platforms, we do not need to check libdlpi
-since it is only placed on Solaris.
-Also, checking libdlpi in native /lib would cause do_qa_configure fail.
-
-Upstream-Status: Pending.
-
-Signed-off-by: Xin Ouyang <Xin.Ouyang@windriver.com>
----
- configure.in | 4 +++-
- 1 files changed, 3 insertions(+), 1 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index 7f9591c..ca277c0 100644
---- a/configure.in
-+++ b/configure.in
-@@ -716,7 +716,9 @@ don't.])
- fi
-
- # libdlpi is needed for Solaris 11 and later.
--AC_CHECK_LIB(dlpi, dlpi_walk, LIBS="$LIBS -ldlpi" LDFLAGS="-L/lib $LDFLAGS", ,-L/lib)
-+if test "$cross_compiling" != yes; then
-+ AC_CHECK_LIB(dlpi, dlpi_walk, LIBS="$LIBS -ldlpi" LDFLAGS="-L/lib $LDFLAGS", ,-L/lib)
-+fi
-
- dnl portability macros for getaddrinfo/getnameinfo
- dnl
---
-1.7.5.4
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.2.bb
index 85db6936d..d38540e34 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.2.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.2.bb
@@ -8,7 +8,6 @@ DEPENDS = "libpcap"
SRC_URI = " \
http://www.tcpdump.org/release/${BP}.tar.gz \
file://unnecessary-to-check-libpcap.patch \
- file://tcpdump-configure-dlpi.patch \
file://add-ptest.patch \
file://run-ptest \
"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.1.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.1.2.bb
deleted file mode 100644
index 6ee9d7357..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.1.2.bb
+++ /dev/null
@@ -1,19 +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=890b830b22fd632e9ffd996df20338f8"
-
-SRC_URI = "http://prdownloads.sourceforge.net/tcpreplay/${PV}/tcpreplay-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "3105b10b07dbc0b07ce2da07a2368359"
-SRC_URI[sha256sum] = "da483347e83a9b5df0e0dbb0f822a2d37236e79dda35f4bc4e6684fa827f25ea"
-
-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.2.6.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.2.6.bb
new file mode 100644
index 000000000..681ef02bb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.2.6.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 = "https://github.com/appneta/tcpreplay/releases/download/v${PV}/tcpreplay-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "3e65d5b872e441c6a0038191a3dc7ce9"
+SRC_URI[sha256sum] = "043756c532dab93e2be33a517ef46b1341f7239278a1045ae670041dd8a4531d"
+
+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/wireshark/wireshark_2.2.10.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.2.10.bb
new file mode 100644
index 000000000..5358ba07f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.2.10.bb
@@ -0,0 +1,71 @@
+DESCRIPTION = "wireshark - a popular network protocol analyzer"
+HOMEPAGE = "http://www.wireshark.org"
+SECTION = "net"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6e271234ba1a13c6e512e76b94ac2f77"
+
+DEPENDS = "pcre expat glib-2.0 glib-2.0-native"
+
+SRC_URI = "https://2.na.dl.wireshark.org/src/all-versions/${BP}.tar.bz2"
+
+PE = "1"
+
+SRC_URI[md5sum] = "ae3a1a43a6e3687f44a738fd15d78021"
+SRC_URI[sha256sum] = "8574a5e1fdec7affae640924bd46c1aed1bd866e02632fa5625e1450e4a50707"
+
+inherit autotools pkgconfig perlnative
+
+ARM_INSTRUCTION_SET = "arm"
+
+PACKAGECONFIG ?= "libpcap gnutls libnl libcap sbc"
+PACKAGECONFIG += " ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk2 graphics", "", d)}"
+#PACKAGECONFIG += " ${@bb.utils.contains("DISTRO_FEATURES", "opengl", "gtk3", "", d)}"
+
+PACKAGECONFIG[libcap] = "--with-libcap=${STAGING_LIBDIR}, --with-libcap=no --enable-pcap-ng-default , libcap"
+PACKAGECONFIG[libpcap] = "--with-pcap=${STAGING_LIBDIR} --with-pcap-remote, --with-pcap=no --enable-pcap-ng-default , libpcap"
+PACKAGECONFIG[libsmi] = "--with-libsmi=yes, --with-libsmi=no, libsmi"
+PACKAGECONFIG[libnl] = "--with-libnl=yes, --with-libnl=no, libnl"
+PACKAGECONFIG[portaudio] = "--with-portaudio=yes, --with-portaudio=no, portaudio-v19"
+PACKAGECONFIG[gtk2] = "--with-gtk=2, , gtk+"
+PACKAGECONFIG[gtk3] = "--with-gtk=3, , gtk+3"
+PACKAGECONFIG[graphics] = "--enable-wireshark, --with-gtk=no --disable-wireshark,"
+PACKAGECONFIG[gnutls] = "--with-gnutls=yes, --with-gnutls=no, gnutls"
+PACKAGECONFIG[gcrypt] = "--with-gcrypt=yes, --with-gcrypt=no, libgcrypt"
+PACKAGECONFIG[ssl] = "--with-ssl=yes, --with-ssl=no, openssl"
+PACKAGECONFIG[krb5] = "--with-krb5=yes, --with-krb5=no, krb5"
+PACKAGECONFIG[lua] = "--with-lua=yes, --with-lua=no, lua"
+PACKAGECONFIG[zlib] = "--with-zlib=yes, --with-zlib=no, zlib"
+PACKAGECONFIG[geoip] = "--with-geoip=yes, --with-geoip=no, geoip"
+PACKAGECONFIG[plugins] = "--with-plugins=yes, --with-plugins=no"
+PACKAGECONFIG[sbc] = "--with-sbc=yes, --with-sbc=no, sbc"
+
+PACKAGECONFIG[libssh] = "--with-ssh=yes, --with-ssh=no, libssh2"
+
+
+# these next two options require addional layers
+PACKAGECONFIG[c-ares] = "--with-c-ares=yes, --with-c-ares=no, c-ares"
+
+EXTRA_OECONF += "--with-qt=no --enable-tshark --enable-rawshark"
+
+# Currently wireshark does not install header files
+do_install_append () {
+
+ install -d ${D}/${includedir}/${BPN}
+ install -d ${D}/${includedir}/${BPN}/epan
+ install -d ${D}/${includedir}/${BPN}/epan/crypt
+ install -d ${D}/${includedir}/${BPN}/epan/dfilter
+ install -d ${D}/${includedir}/${BPN}/epan/dissectors
+ install -d ${D}/${includedir}/${BPN}/epan/ftypes
+ install -d ${D}/${includedir}/${BPN}/epan/wmem
+
+ install config.h ${D}/${includedir}/${BPN}
+ install ${S}/register.h ${D}/${includedir}/${BPN}
+ install -D ${S}/epan/*.h ${D}/${includedir}/${BPN}/epan
+ install -D ${S}/epan/crypt/*.h ${D}/${includedir}/${BPN}/epan/crypt
+ install -D ${S}/epan/dfilter/*.h ${D}/${includedir}/${BPN}/epan/dfilter
+ install -D ${S}/epan/dissectors/*.h ${D}/${includedir}/${BPN}/epan/dissectors
+ install -D ${S}/epan/ftypes/*.h ${D}/${includedir}/${BPN}/epan/ftypes
+ install -D ${S}/epan/wmem/*.h ${D}/${includedir}/${BPN}/epan/wmem
+}
+
+FILES_${PN} += "${datadir}*"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.2.9.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.2.9.bb
deleted file mode 100644
index 82c25ffa6..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.2.9.bb
+++ /dev/null
@@ -1,71 +0,0 @@
-DESCRIPTION = "wireshark - a popular network protocol analyzer"
-HOMEPAGE = "http://www.wireshark.org"
-SECTION = "net"
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6e271234ba1a13c6e512e76b94ac2f77"
-
-DEPENDS = "pcre expat glib-2.0 glib-2.0-native"
-
-SRC_URI = "https://2.na.dl.wireshark.org/src/all-versions/${BP}.tar.bz2"
-
-PE = "1"
-
-SRC_URI[md5sum] = "7d5e65efd0714bd6248aa5b36c28320d"
-SRC_URI[sha256sum] = "c8b32c0e7d44a277e737c53d9d142ad3fe4265338f25a7fd8c891f58a7633fc2"
-
-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 fdc56403f..dabed2f6b 100644
--- a/import-layers/meta-openembedded/meta-oe/README
+++ b/import-layers/meta-openembedded/meta-oe/README
@@ -1,15 +1,15 @@
This layer depends on:
URI: git://github.com/openembedded/oe-core.git
-branch: pyro
+branch: rocko
revision: HEAD
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-oe][pyro]' in the subject'
+Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-oe][rocko]' 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][pyro][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-oe][rocko][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.
-pyro Branch Maintainer:
+rocko Branch Maintainer:
Armin Kuster <akuster808@gmail.com>
diff --git a/import-layers/meta-openembedded/meta-oe/classes/dos2unix.bbclass b/import-layers/meta-openembedded/meta-oe/classes/dos2unix.bbclass
new file mode 100644
index 000000000..1bad998dd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/classes/dos2unix.bbclass
@@ -0,0 +1,14 @@
+# Class for use to convert all CRLF line terminators to LF
+# provided that some projects are being developed/maintained
+# on Windows so they have different line terminators(CRLF) vs
+# on Linux(LF), which can cause annoying patching errors during
+# git push/checkout processes.
+
+do_convert_crlf_to_lf[depends] += "dos2unix-native:do_populate_sysroot"
+
+# Convert CRLF line terminators to LF
+do_convert_crlf_to_lf () {
+ find ${S} -type f -exec dos2unix {} \;
+}
+
+addtask convert_crlf_to_lf after do_unpack before do_patch
diff --git a/import-layers/meta-openembedded/meta-oe/classes/meson.bbclass b/import-layers/meta-openembedded/meta-oe/classes/meson.bbclass
index c33174a21..a09bc240d 100644
--- a/import-layers/meta-openembedded/meta-oe/classes/meson.bbclass
+++ b/import-layers/meta-openembedded/meta-oe/classes/meson.bbclass
@@ -10,10 +10,15 @@ do_configure[cleandirs] = "${B}"
MESON_SOURCEPATH = "${S}"
# These variables in the environment override the *native* tools, not the cross.
+export CPPFLAGS = "${BUILD_CPPFLAGS}"
export CC = "${BUILD_CC}"
+export CFLAGS = "${BUILD_CFLAGS}"
export CXX = "${BUILD_CXX}"
+export CXXFLAGS = "${BUILD_CXXFLAGS}"
export LD = "${BUILD_LD}"
+export LDFLAGS = "${BUILD_LDFLAGS}"
export AR = "${BUILD_AR}"
+export PKG_CONFIG = "pkg-config-native"
def noprefix(var, d):
return d.getVar(var, True).replace(d.getVar('prefix', True) + '/', '', 1)
@@ -27,12 +32,12 @@ MESONOPTS = " --prefix ${prefix} \
--includedir ${@noprefix('includedir', d)} \
--mandir ${@noprefix('mandir', d)} \
--infodir ${@noprefix('infodir', d)} \
- --localedir ${@noprefix('localedir', d)} \
--sysconfdir ${sysconfdir} \
--localstatedir ${localstatedir} \
--sharedstatedir ${sharedstatedir}"
-MESON_C_ARGS = "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
+MESON_C_ARGS = "${TARGET_CC_ARCH}${TOOLCHAIN_OPTIONS}"
+MESON_LINK_ARGS = "${MESON_C_ARGS} ${LDFLAGS}"
MESON_HOST_ENDIAN = "${@bb.utils.contains('SITEINFO_ENDIANNESS', 'be', 'big', 'little', d)}"
MESON_TARGET_ENDIAN = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', 'big', 'little', d)}"
@@ -60,10 +65,11 @@ readelf = '${HOST_PREFIX}readelf'
pkgconfig = 'pkg-config'
[properties]
+needs_exe_wrapper = true
c_args = [${@meson_array('MESON_C_ARGS', d)}]
-cpp_args = [${@meson_array('TOOLCHAIN_OPTIONS', d)}]
-c_link_args = [${@meson_array('TOOLCHAIN_OPTIONS', d)}]
-cpp_link_args = [${@meson_array('TOOLCHAIN_OPTIONS', d)}]
+c_link_args = [${@meson_array('MESON_LINK_ARGS', d)}]
+cpp_args = [${@meson_array('MESON_C_ARGS', d)}]
+cpp_link_args = [${@meson_array('MESON_LINK_ARGS', d)}]
[host_machine]
system = '${HOST_OS}'
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
deleted file mode 100644
index 03868bfaf..000000000
--- a/import-layers/meta-openembedded/meta-oe/conf/distro/include/meta_oe_security_flags.inc
+++ /dev/null
@@ -1,28 +0,0 @@
-# Build errors with the pie options enabled
-SECURITY_CFLAGS_pn-libdbus-c++ = "${SECURITY_NO_PIE_CFLAGS}"
-SECURITY_CFLAGS_pn-libdevmapper = "${SECURITY_NO_PIE_CFLAGS}"
-SECURITY_CFLAGS_pn-lvm2 = "${SECURITY_NO_PIE_CFLAGS}"
-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}"
-
-#| /mnt/b/build/tmp-glibc/sysroots/intel-corei7-64/usr/lib/libc_nonshared.a(elf-init.oS): In function `__libc_csu_init':
-#| /usr/src/debug/glibc/2.24-r0/git/csu/elf-init.c:86: undefined reference to `__init_array_start'
-
-SECURITY_CFLAGS_pn-libvdpau = "${SECURITY_NO_PIE_CFLAGS}"
-
-#| /mnt/a/build/tmp-glibc/sysroots/x86_64-linux/usr/libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/6.2.0/ld: lj_err_dyn.o: relocation R_X86_64_TPOFF32 against `static_uex' can not be used when making a shared object; recompile with -fPIC
-#| /mnt/a/build/tmp-glibc/sysroots/x86_64-linux/usr/libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/6.2.0/ld: final link failed: Nonrepresentable section on output
-#| collect2: error: ld returned 1 exit status
-#| make[1]: *** [Makefile:675: libluajit.so] Error 1
-SECURITY_CFLAGS_pn-luajit = "${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 54425c68e..d84bd09d3 100644
--- a/import-layers/meta-openembedded/meta-oe/conf/layer.conf
+++ b/import-layers/meta-openembedded/meta-oe/conf/layer.conf
@@ -41,6 +41,7 @@ SIGGEN_EXCLUDERECIPES_ABISAFE += " \
"
SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
+ android-tools->android-tools-conf \
usb-modeswitch-data->usb-modeswitch \
lmsensors->lmsensors-config \
phoronix-test-suite->bash \
@@ -74,10 +75,3 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
source-han-sans-kr-fonts->fontconfig \
source-han-sans-tw-fonts->fontconfig \
"
-
-FREESMARTPHONE_GIT = "git://git.freesmartphone.org"
-
-# Override security flags
-require conf/distro/include/meta_oe_security_flags.inc
-
-HOSTTOOLS += "id"
diff --git a/import-layers/meta-openembedded/meta-oe/licenses/FLTK b/import-layers/meta-openembedded/meta-oe/licenses/FLTK
new file mode 100644
index 000000000..954207522
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/licenses/FLTK
@@ -0,0 +1,530 @@
+ FLTK License
+ December 11, 2001
+
+The FLTK library and included programs are provided under the terms
+of the GNU Library General Public License (LGPL) with the following
+exceptions:
+
+ 1. Modifications to the FLTK configure script, config
+ header file, and makefiles by themselves to support
+ a specific platform do not constitute a modified or
+ derivative work.
+
+ The authors do request that such modifications be
+ contributed to the FLTK project - send all contributions
+ through the "Software Trouble Report" on the following page:
+
+ http://www.fltk.org/str.php
+
+ 2. Widgets that are subclassed from FLTK widgets do not
+ constitute a derivative work.
+
+ 3. Static linking of applications and widgets to the
+ FLTK library does not constitute a derivative work
+ and does not require the author to provide source
+ code for the application or widget, use the shared
+ FLTK libraries, or link their applications or
+ widgets against a user-supplied version of FLTK.
+
+ If you link the application or widget to a modified
+ version of FLTK, then the changes to FLTK must be
+ provided under the terms of the LGPL in sections
+ 1, 2, and 4.
+
+ 4. You do not have to provide a copy of the FLTK license
+ with programs that are linked to the FLTK library, nor
+ do you have to identify the FLTK license in your
+ program or documentation as required by section 6
+ of the LGPL.
+
+ However, programs must still identify their use of FLTK.
+ The following example statement can be included in user
+ documentation to satisfy this requirement:
+
+ [program/widget] is based in part on the work of
+ the FLTK project (http://www.fltk.org).
+
+-----------------------------------------------------------------------
+
+ GNU LIBRARY GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ [This is the first released version of the library GPL. It is
+ numbered 2 because it goes with version 2 of the ordinary GPL.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Library General Public License, applies to some
+specially designated Free Software Foundation software, and to any
+other libraries whose authors decide to use it. You can use it for
+your libraries, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if
+you distribute copies of the library, or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link a program with the library, you must provide
+complete object files to the recipients so that they can relink them
+with the library, after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ Our method of protecting your rights has two steps: (1) copyright
+the library, and (2) offer you this license which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ Also, for each distributor's protection, we want to make certain
+that everyone understands that there is no warranty for this free
+library. If the library is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original
+version, so that any problems introduced by others will not reflect on
+the original authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that companies distributing free
+software will individually obtain patent licenses, thus in effect
+transforming the program into proprietary software. To prevent this,
+we have made it clear that any patent must be licensed for everyone's
+free use or not licensed at all.
+
+ Most GNU software, including some libraries, is covered by the ordinary
+GNU General Public License, which was designed for utility programs. This
+license, the GNU Library General Public License, applies to certain
+designated libraries. This license is quite different from the ordinary
+one; be sure to read it in full, and don't assume that anything in it is
+the same as in the ordinary license.
+
+ The reason we have a separate public license for some libraries is that
+they blur the distinction we usually make between modifying or adding to a
+program and simply using it. Linking a program with a library, without
+changing the library, is in some sense simply using the library, and is
+analogous to running a utility program or application program. However, in
+a textual and legal sense, the linked executable is a combined work, a
+derivative of the original library, and the ordinary General Public License
+treats it as such.
+
+ Because of this blurred distinction, using the ordinary General
+Public License for libraries did not effectively promote software
+sharing, because most developers did not use the libraries. We
+concluded that weaker conditions might promote sharing better.
+
+ However, unrestricted linking of non-free programs would deprive the
+users of those programs of all benefit from the free status of the
+libraries themselves. This Library General Public License is intended to
+permit developers of non-free programs to use free libraries, while
+preserving your freedom as a user of such programs to change the free
+libraries that are incorporated in them. (We have not seen how to achieve
+this as regards changes in header files, but we have achieved it as regards
+changes in the actual functions of the Library.) The hope is that this
+will lead to faster development of free libraries.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, while the latter only
+works together with the library.
+
+ Note that it is possible for a library to be covered by the ordinary
+General Public License rather than by this special one.
+
+ GNU LIBRARY GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library which
+contains a notice placed by the copyright holder or other authorized
+party saying it may be distributed under the terms of this Library
+General Public License (also called "this License"). Each licensee is
+addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also compile or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ c) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ d) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the source code distributed need not include anything that is normally
+distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Library General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ Appendix: How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this library; if not, write to the Free
+ Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/import-layers/meta-openembedded/meta-oe/licenses/Intel b/import-layers/meta-openembedded/meta-oe/licenses/Intel
deleted file mode 100644
index eb81dd7ee..000000000
--- a/import-layers/meta-openembedded/meta-oe/licenses/Intel
+++ /dev/null
@@ -1,21 +0,0 @@
-License for Contributions to ACPICA
-
-Copyright (c) 2000 – 2015 Intel Corp.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINES
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
diff --git a/import-layers/meta-openembedded/meta-oe/licenses/UFL b/import-layers/meta-openembedded/meta-oe/licenses/UFL
new file mode 100644
index 000000000..e78ac4a5a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/licenses/UFL
@@ -0,0 +1,97 @@
+-------------------------------
+UBUNTU FONT LICENCE Version 1.0
+-------------------------------
+
+PREAMBLE
+This licence allows the licensed fonts to be used, studied, modified and
+redistributed freely. The fonts, including any derivative works, can be
+bundled, embedded, and redistributed provided the terms of this licence
+are met. The fonts and derivatives, however, cannot be released under
+any other licence. The requirement for fonts to remain under this
+licence does not require any document created using the fonts or their
+derivatives to be published under this licence, as long as the primary
+purpose of the document is not to be a vehicle for the distribution of
+the fonts.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this licence and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Original Version" refers to the collection of Font Software components
+as received under this licence.
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to
+a new environment.
+
+"Copyright Holder(s)" refers to all individuals and companies who have a
+copyright ownership of the Font Software.
+
+"Substantially Changed" refers to Modified Versions which can be easily
+identified as dissimilar to the Font Software by users of the Font
+Software comparing the Original Version with the Modified Version.
+
+To "Propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification and with or without charging
+a redistribution fee), making available to the public, and in some
+countries other activities as well.
+
+PERMISSION & CONDITIONS
+This licence does not grant any rights under trademark law and all such
+rights are reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of the Font Software, to propagate the Font Software, subject to
+the below conditions:
+
+1) Each copy of the Font Software must contain the above copyright
+notice and this licence. These can be included either as stand-alone
+text files, human-readable headers or in the appropriate machine-
+readable metadata fields within text or binary files as long as those
+fields can be easily viewed by the user.
+
+2) The font name complies with the following:
+(a) The Original Version must retain its name, unmodified.
+(b) Modified Versions which are Substantially Changed must be renamed to
+avoid use of the name of the Original Version or similar names entirely.
+(c) Modified Versions which are not Substantially Changed must be
+renamed to both (i) retain the name of the Original Version and (ii) add
+additional naming elements to distinguish the Modified Version from the
+Original Version. The name of such Modified Versions must be the name of
+the Original Version, with "derivative X" where X represents the name of
+the new work, appended to that name.
+
+3) The name(s) of the Copyright Holder(s) and any contributor to the
+Font Software shall not be used to promote, endorse or advertise any
+Modified Version, except (i) as required by this licence, (ii) to
+acknowledge the contribution(s) of the Copyright Holder(s) or (iii) with
+their explicit written permission.
+
+4) The Font Software, modified or unmodified, in part or in whole, must
+be distributed entirely under this licence, and must not be distributed
+under any other licence. The requirement for fonts to remain under this
+licence does not affect any document created using the Font Software,
+except any version of the Font Software extracted from a document
+created using the Font Software may only be distributed under this
+licence.
+
+TERMINATION
+This licence becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
+COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER
+DEALINGS IN THE FONT SOFTWARE.
+
diff --git a/import-layers/meta-openembedded/meta-oe/licenses/X11 b/import-layers/meta-openembedded/meta-oe/licenses/X11
new file mode 100644
index 000000000..da3e40624
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/licenses/X11
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) 2008 Alex Graveley
+ * Copyright (C) 2010 Ulrik Sverdrup <ulrik.sverdrup@gmail.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/dhrystone/dhrystone-2.1/dhrystone.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/dhrystone/dhrystone-2.1/dhrystone.patch
new file mode 100644
index 000000000..6a5350c37
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/dhrystone/dhrystone-2.1/dhrystone.patch
@@ -0,0 +1,81 @@
+dhrystone: fix compilation problems
+
+This patch fixes two compilation errors with original
+dhrystone sources:
+* Redefinition of times() with wrong return type
+ - Fixed by commenting out the unnecessary redefinition
+* Undefined identifier HZ
+ - Originally HZ was supposed to be the clock frequency
+ value for times()
+ - For Linux, the frequency should come from sysconf
+ - This patch defines global varible HZ and initializes
+ it from sysconf
+
+Additionally, this patch adds a simple Makefile.
+
+Upstream-status: Pending
+
+Sign-off-by: Kimmo Surakka <kimmo.surakka@ge.com>
+Signed-off-by: Jose Alarcon <jose.alarcon@ge.com>
+---
+
+diff -Naur dhry.orig/dhry_1.c dhry/dhry_1.c
+--- dhry.orig/dhry_1.c 2015-07-20 14:25:58.059945353 +0300
++++ dhry/dhry_1.c 2015-07-20 12:43:25.318945353 +0300
+@@ -45,11 +45,15 @@
+
+ #ifdef TIMES
+ struct tms time_info;
+-extern int times ();
++/* extern int times (); */
+ /* see library function "times" */
+ #define Too_Small_Time 120
+ /* Measurements should last at least about 2 seconds */
+ #endif
++#ifndef HZ
++#include <unistd.h> /* sysconf */
++ long HZ;
++#endif
+ #ifdef TIME
+ extern long time();
+ /* see library function "time" */
+@@ -84,6 +88,9 @@
+
+ /* Initializations */
+
++#ifndef HZ
++ HZ = sysconf(_SC_CLK_TCK);
++#endif
+ Next_Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type));
+ Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type));
+
+diff -Naur dhry.orig/dhry.h dhry/dhry.h
+--- dhry.orig/dhry.h 2015-07-20 14:25:58.054945353 +0300
++++ dhry/dhry.h 2015-07-20 12:42:59.903945353 +0300
+@@ -420,4 +420,6 @@
+ } variant;
+ } Rec_Type, *Rec_Pointer;
+
+-
++#ifndef HZ
++ extern long HZ;
++#endif
+diff -Naur dhry.orig/Makefile dhry/Makefile
+--- dhry.orig/Makefile 1970-01-01 02:00:00.000000000 +0200
++++ dhry/Makefile 2015-07-20 14:10:45.832945353 +0300
+@@ -0,0 +1,15 @@
++CC=gcc
++
++all: dhry
++
++dhry: dhry_1.o dhry_2.o
++ $(CC) $(LDFLAGS) -o $@ $^ $(LOADLIBES) $(LDLIBS)
++
++dhry_1.o: dhry_1.c dhry.h
++
++dhry_2.o: dhry_2.c dhry.h
++
++clean:
++ rm -f *.o *~
++
++.PHONY: all clean
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/dhrystone/dhrystone_2.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/dhrystone/dhrystone_2.1.bb
new file mode 100644
index 000000000..17e8c700c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/dhrystone/dhrystone_2.1.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Dhrystone CPU benchmark"
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/PD;md5=b3597d12946881e13cb3b548d1173851"
+
+SRC_URI = "http://www.netlib.org/benchmark/dhry-c;downloadfilename=dhry-c.shar \
+ file://dhrystone.patch"
+SRC_URI[md5sum] = "75aa5909c174eed98c134be2f56307da"
+SRC_URI[sha256sum] = "038a7e9169787125c3451a6c941f3aca5db2d2f3863871afcdce154ef17f4e3e"
+
+# Need to override Makefile variables
+EXTRA_OEMAKE = "-e MAKEFLAGS="
+
+do_unpack() {
+ [ -d ${S} ] || mkdir -p ${S}
+ cd ${S}
+ sh ${DL_DIR}/dhry-c.shar
+}
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 ${S}/dhry ${D}${bindir}
+}
+
+# Prevent procedure merging as required by dhrystone.c:
+CFLAGS += "-fno-lto"
+
+LDFLAGS += "-fno-lto"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0001-Fix-clang-warnings.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0001-Fix-clang-warnings.patch
new file mode 100644
index 000000000..cdf09faec
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0001-Fix-clang-warnings.patch
@@ -0,0 +1,31 @@
+From 35e9f80518d666db5f9c62e8072ffbc307b4af4f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 26 Aug 2017 08:30:01 -0700
+Subject: [PATCH] Fix clang warnings
+
+../src/native-state-drm.cpp:334:20: error: cannot pass object of non-trivial type 'std::__cxx11::basic_string<char>' through variadic function; call will abort at runtime [-Wnon-pod-varargs]
+ dev_path);
+ ^
+1 error generated.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/native-state-drm.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/native-state-drm.cpp b/src/native-state-drm.cpp
+index dc2b323..62566ee 100644
+--- a/src/native-state-drm.cpp
++++ b/src/native-state-drm.cpp
+@@ -331,7 +331,7 @@ static int open_using_udev_scan()
+ if (!valid_fd(fd)) {
+ // %m is GLIBC specific... Maybe use strerror here...
+ Log::error("Tried to use '%s' but failed.\nReason : %m",
+- dev_path);
++ dev_path.c_str());
+ }
+ else
+ Log::debug("Success!\n");
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0001-Fix-wl_surface-should-be-destoryed-after-the-wl_wind.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0001-Fix-wl_surface-should-be-destoryed-after-the-wl_wind.patch
deleted file mode 100644
index 439508102..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0001-Fix-wl_surface-should-be-destoryed-after-the-wl_wind.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 9c74ec83e2929b1d5ab65d5137b6ba42edeb332d Mon Sep 17 00:00:00 2001
-From: Yong Gan <b45748@freescale.com>
-Date: Tue, 27 Oct 2015 18:15:20 +0800
-Subject: [PATCH] Fix: wl_surface should be destoryed after the wl_window
- destroyed.
-
-Upstream-Status: Submitted [https://github.com/glmark2/glmark2/issues/12]
-
-Signed-off-by: Yong Gan <b45748@freescale.com>
-
----
- src/native-state-wayland.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/native-state-wayland.cpp b/src/native-state-wayland.cpp
-index 41fc743..cdcdf34 100644
---- a/src/native-state-wayland.cpp
-+++ b/src/native-state-wayland.cpp
-@@ -56,10 +56,10 @@ NativeStateWayland::~NativeStateWayland()
- wl_shell_surface_destroy(window_->shell_surface);
- if (window_->opaque_reqion)
- wl_region_destroy(window_->opaque_reqion);
-- if (window_->surface)
-- wl_surface_destroy(window_->surface);
- if (window_->native)
- wl_egl_window_destroy(window_->native);
-+ if (window_->surface)
-+ wl_surface_destroy(window_->surface);
- delete window_;
- }
-
---
-1.9.1
-
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 26c5c0482..b72ced06a 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
@@ -8,21 +8,24 @@ LICENSE = "GPLv3+ & SGIv1"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
file://COPYING.SGI;beginline=5;md5=269cdab4af6748677acce51d9aa13552"
-DEPENDS = "libpng12 jpeg"
+DEPENDS = "libpng jpeg udev"
-PV = "2014.03+${SRCPV}"
+PV = "2017.07+${SRCPV}"
-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://Fix-configure-for-sqrt-check.patch \
-"
-SRCREV = "f413c5b423250b4fde8f95639ad368d5b02c5b9b"
+COMPATIBLE_HOST_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '.*-linux*', 'null', d)}"
+
+SRC_URI = "git://github.com/glmark2/glmark2.git;protocol=https \
+ file://build-Check-packages-to-be-used-by-the-enabled-flavo.patch \
+ file://Fix-configure-for-sqrt-check.patch \
+ file://0001-Fix-clang-warnings.patch \
+ "
+SRCREV = "ed20c633f1926d1dd78e3e89043c85a81302cbe6"
S = "${WORKDIR}/git"
-inherit waf pkgconfig
+inherit waf pkgconfig distro_features_check
+
+REQUIRED_DISTRO_FEATURES += "opengl"
PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11-gl x11-gles2', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland opengl', 'wayland-gl wayland-gles2', '', d)} \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.2.bb
new file mode 100644
index 000000000..4d1b0c437
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.2.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Network benchmark tool"
+DESCRIPTION = "\
+iperf is a tool for active measurements of the maximum achievable bandwidth \
+on IP networks. It supports tuning of various parameters related to timing, \
+protocols, and buffers. For each test it reports the bandwidth, loss, and \
+other parameters."
+HOMEPAGE = "http://software.es.net/iperf/"
+SECTION = "console/network"
+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=d098223e44bdd19585315ee75cd9d2d7"
+
+DEPENDS = "openssl"
+
+SRC_URI = "git://github.com/esnet/iperf.git \
+ file://automake-foreign.patch \
+ file://0001-include-stdint.h-for-various-std-c99-int-types.patch \
+ file://0002-Remove-pg-from-profile_CFLAGS.patch \
+ "
+
+SRCREV = "88d907f7fb58bfab5d086c5da60c922e1c582c92"
+
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+PACKAGECONFIG[lksctp] = "ac_cv_header_netinet_sctp_h=yes,ac_cv_header_netinet_sctp_h=no,lksctp-tools"
+
+CFLAGS += "-D_GNU_SOURCE"
+
+EXTRA_OECONF = "--with-openssl=${RECIPE_SYSROOT}"
+
+BBCLASSEXTEND = "native"
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
deleted file mode 100644
index 4a01896ca..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "Network benchmark tool"
-DESCRIPTION = "\
-iperf is a tool for active measurements of the maximum achievable bandwidth \
-on IP networks. It supports tuning of various parameters related to timing, \
-protocols, and buffers. For each test it reports the bandwidth, loss, and \
-other parameters."
-HOMEPAGE = "http://software.es.net/iperf/"
-SECTION = "console/network"
-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=8c3434c5a9a53c78c7739f0bc9e5adda"
-
-SRC_URI = "git://github.com/esnet/iperf.git \
- file://automake-foreign.patch \
- file://0001-include-stdint.h-for-various-std-c99-int-types.patch \
- file://0002-Remove-pg-from-profile_CFLAGS.patch \
- "
-
-PV = "3.1.3+gitr${SRCPV}"
-SRCREV = "099244ec686b620393e9845478a554b1c7ca5c8b"
-
-S = "${WORKDIR}/git"
-
-inherit autotools
-
-PACKAGECONFIG[lksctp] = "ac_cv_header_netinet_sctp_h=yes,ac_cv_header_netinet_sctp_h=no,lksctp-tools"
-
-CFLAGS += "-D_GNU_SOURCE"
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/fix-lib64-can-not-be-shiped-in-64bit-target.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/fix-lib64-can-not-be-shiped-in-64bit-target.patch
deleted file mode 100644
index 676fa8a7a..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/fix-lib64-can-not-be-shiped-in-64bit-target.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-Upstream-Status: Inappropriate [oe-core specific]
-
-
-fix the below error:
- ERROR: QA Issue: libhugetlbfs: Files/directories were installed but not shipped
- /usr/lib64
- /usr/lib64/libhugetlbfs.so
- /usr/lib64/libhugetlbfs.a
- /usr/lib64/libhugetlbfs_privutils.so
- /usr/lib64/perl5
- /usr/lib64/perl5/TLBC
- /usr/lib64/perl5/TLBC/PerfCollect.pm
- /usr/lib64/perl5/TLBC/Report.pm
- /usr/lib64/perl5/TLBC/DataCollect.pm
- /usr/lib64/perl5/TLBC/OpCollect.pm
-$<50>ERROR: QA run found fatal errors. Please consider fixing them.
-
-
-Signed-off-by: Guo Chunrong <B40290@freescale.com>
-
---- a/Makefile 2013-09-23 02:28:57.340566998 -0500
-+++ b/Makefile 2013-09-23 02:31:05.344569896 -0500
-@@ -33,7 +33,6 @@
- CPPFLAGS += -D__LIBHUGETLBFS__ -DPPC_NO_SEGMENTS
-
- ARCH = $(shell uname -m | sed -e s/i.86/i386/)
--CC = gcc
-
- CUSTOM_LDSCRIPTS = yes
-
-@@ -59,9 +58,9 @@
- CUSTOM_LDSCRIPTS = no
- else
- ifeq ($(ARCH),aarch64)
--CC64 = gcc
-+CC64 = $(CC)
- ELF64 = aarch64elf
--TMPLIB64 = lib64
-+TMPLIB64 = lib
- CUSTOM_LDSCRIPTS = no
- else
- ifeq ($(ARCH),i386)
-@@ -72,7 +71,7 @@
- ifeq ($(ARCH),x86_64)
- CC64 = $(CC) -m64
- ELF64 = elf_x86_64
--TMPLIB64 = lib64
-+TMPLIB64 = lib
- TMPLIB32 = lib
- ifneq ($(BUILDTYPE),NATIVEONLY)
- CC32 = $(CC) -m32
-@@ -172,11 +171,23 @@
- BINDIR = $(PREFIX)/share/libhugetlbfs
- EXEDIR = $(PREFIX)/bin
- DOCDIR = $(PREFIX)/share/doc/libhugetlbfs
-+
- ifdef CC32
- PMDIR = $(PREFIX)/lib/perl5/TLBC
-+endif
-+
-+ifdef CC64
-+ifeq ($(ARCH),x86_64)
-+PMDIR = $(PREFIX)/lib/perl5/TLBC
-+else
-+ifeq ($(ARCH),aarch64)
-+PMDIR = $(PREFIX)/lib/perl5/TLBC
- else
- PMDIR = $(PREFIX)/lib64/perl5/TLBC
- endif
-+endif
-+endif
-+
- MANDIR1 = $(PREFIX)/share/man/man1
- MANDIR3 = $(PREFIX)/share/man/man3
- MANDIR7 = $(PREFIX)/share/man/man7
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 823e07c18..a63494a62 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
@@ -33,6 +33,8 @@ EXTRA_OEMAKE = "'ARCH=${LIBHUGETLBFS_ARCH}' 'OPT=${CFLAGS}' 'CC=${CC}' ${LIBARGS
PARALLEL_MAKE = ""
CFLAGS += "-fexpensive-optimizations -frename-registers -fomit-frame-pointer -g0"
+export HUGETLB_LDSCRIPT_PATH="${S}/ldscripts"
+
TARGET_CC_ARCH += "${LDFLAGS}"
#The CUSTOM_LDSCRIPTS doesn't work with the gold linker
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb
index 56272d985..da2cb4b32 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb
@@ -1,3 +1,4 @@
+SUMMARY = "A CPU benchmark utility"
DESCRIPTION = "BYTE Magazine's native benchmarks (also called BYTEmark) \
designed to expose the capabilities of a system's CPU, FPU, \
and memory system."
@@ -6,7 +7,7 @@ LICENSE = "nbench-byte"
LIC_FILES_CHKSUM = "file://README;beginline=57;endline=66;md5=020ef579f8fa5746b7e307a54707834f"
SECTION = "console/utils"
-SRC_URI = "http://www.tux.org/~mayer/linux/${BP}.tar.gz \
+SRC_URI = "https://fossies.org/linux/misc/${BP}.tar.gz \
file://nbench_32bits.patch \
file://Makefile-add-more-dependencies-to-pointer.h.patch"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_6.6.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_6.6.1.bb
deleted file mode 100644
index b3217790d..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_6.6.1.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-SUMMARY = "Phoronix Test Suite"
-DESCRIPTION = "The Phoronix Test Suite is designed to carry out both qualitative \
-and quantitative benchmarks in a clean, reproducible, and easy-to-use manner."
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-SECTION = "console/tests"
-
-SRC_URI = "http://www.phoronix-test-suite.com/releases/${BP}.tar.gz"
-SRC_URI[md5sum] = "5bcac5896a4a34fc6ae4ae94991e1637"
-SRC_URI[sha256sum] = "631ceb808d8bd6cebe69c8b711d55090d6880e906a65837f18fa8200fe7d2c4d"
-
-S = "${WORKDIR}/phoronix-test-suite"
-
-inherit systemd allarch
-
-do_install() {
- DESTDIR=${D} ./install-sh ${exec_prefix}
-
- if [ "${systemd_unitdir}" != "/usr/lib/systemd" ]; then
- install -d ${D}/${systemd_unitdir}/system/
- mv ${D}/usr/lib/systemd/system/* ${D}/${systemd_unitdir}/system/
- rm -rf ${D}/usr/lib/
- fi
-}
-
-SYSTEMD_SERVICE_${PN} = "phoromatic-client.service phoromatic-server.service"
-RDEPENDS_${PN} += "bash python php-cli"
-
-FILES_${PN} += " \
- ${datadir}/phoronix-test-suite \
- ${datadir}/appdata/phoronix-test-suite.appdata.xml \
- ${datadir}/icons/hicolor/48x48/apps/phoronix-test-suite.png \
- ${datadir}/icons/hicolor/64x64/mimetypes/application-x-openbenchmarking.png \
- ${datadir}/mime/packages/openbenchmarking-mime.xml \
- ${systemd_unitdir}/* \
-"
-
-PNBLACKLIST[phoronix-test-suite] ?= "Runtime depends on blacklisted php-cli - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_7.4.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_7.4.0.bb
new file mode 100644
index 000000000..3ccd5db44
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_7.4.0.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Phoronix Test Suite"
+DESCRIPTION = "The Phoronix Test Suite is designed to carry out both qualitative \
+and quantitative benchmarks in a clean, reproducible, and easy-to-use manner."
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+SECTION = "console/tests"
+
+SRC_URI = "http://www.phoronix-test-suite.com/releases/${BP}.tar.gz"
+SRC_URI[md5sum] = "86fa3eede43ffff88992fe21368b11b7"
+SRC_URI[sha256sum] = "de9aec3ef4f980581756fd0bf7b30dd1ccb20e7aae637078a587606bf75a6b67"
+
+S = "${WORKDIR}/phoronix-test-suite"
+
+inherit systemd allarch
+
+do_install() {
+ DESTDIR=${D} ./install-sh ${exec_prefix}
+
+ if [ "${systemd_unitdir}" != "/usr/lib/systemd" ]; then
+ install -d ${D}/${systemd_unitdir}/system/
+ mv ${D}/usr/lib/systemd/system/* ${D}/${systemd_unitdir}/system/
+ rm -rf ${D}/usr/lib/
+ fi
+}
+
+SYSTEMD_SERVICE_${PN} = "phoromatic-client.service phoromatic-server.service"
+RDEPENDS_${PN} += "bash python php-cli"
+
+FILES_${PN} += " \
+ ${datadir}/phoronix-test-suite \
+ ${datadir}/appdata/phoronix-test-suite.appdata.xml \
+ ${datadir}/icons/hicolor/48x48/apps/phoronix-test-suite.png \
+ ${datadir}/icons/hicolor/64x64/mimetypes/application-x-openbenchmarking.png \
+ ${datadir}/mime/packages/openbenchmarking-mime.xml \
+ ${systemd_unitdir}/* \
+"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/pmbw/pmbw_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/pmbw/pmbw_git.bb
deleted file mode 100644
index 8113da76d..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/pmbw/pmbw_git.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMERY = "Parallel Memory Bandwidth Measurement / Benchmark"
-DESCRIPTION = "\
-The tool pmbw is a set of assembler routines to measure the parallel memory \
-(cache and RAM) bandwidth of modern multi-core machines."
-HOMEPAGE = "http://panthema.net/2013/pmbw/"
-SECTION = "benchmark/tests"
-AUTHOR = "Timo Bingmann"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-SRC_URI = "git://github.com/bingmann/pmbw;protocol=https"
-
-PV = "0.6.2+git${SRCPV}"
-SRCREV = "4a3b37728060a8aba06fc83f157a1965088d79d6"
-
-S = "${WORKDIR}/git"
-
-inherit autotools
-
-# the hand coded asm uses r11, which therefore cannot be used for storing
-# the frame pointer when debugging on arm
-SELECTED_OPTIMIZATION_remove_arm = "-fno-omit-frame-pointer"
-
-PACKAGES =+ "${PN}-stats2gnuplot"
-
-FILES_${PN}-stats2gnuplot = "${bindir}/stats2gnuplot"
-
-RRECOMMENDS_${PN} = "${PN}-stats2gnuplot"
-
-PNBLACKLIST[pmbw] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130568/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/tiobench/tiobench-0.3.3/0001-Specify-printf-formats.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/tiobench/tiobench-0.3.3/0001-Specify-printf-formats.patch
new file mode 100644
index 000000000..cfd34f02a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/tiobench/tiobench-0.3.3/0001-Specify-printf-formats.patch
@@ -0,0 +1,49 @@
+From b08e61ef64eece23ce8ffa2784cd3c4f70b6169e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 17 Jun 2017 08:08:56 -0700
+Subject: [PATCH] Specify printf formats
+
+Fixes
+tiotest.c:555:4: error: format not a string literal and no format arguments [-Werror=format-security]
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tiotest.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/tiotest.c b/tiotest.c
+index 6b3d0c3..3e6166a 100644
+--- a/tiotest.c
++++ b/tiotest.c
+@@ -91,7 +91,7 @@ inline void checkIntZero(int value, char *mess)
+ {
+ if (value <= 0)
+ {
+- printf(mess);
++ printf("%s",mess);
+ printf("Try 'tiotest -h' for more information.\n");
+ exit(1);
+ }
+@@ -101,7 +101,7 @@ inline void checkLong(long value, char *mess)
+ {
+ if (value < 0)
+ {
+- printf(mess);
++ printf("%s", mess);
+ printf("Try 'tiotest -h' for more information\n");
+ exit(1);
+ }
+@@ -552,7 +552,7 @@ void do_test( ThreadTest *test, int testCase, int sequential,
+ if(args.debugLevel > 4)
+ {
+ printf("Created %d threads\n", i);
+- fprintf(stderr, debugMessage);
++ fprintf(stderr, "%s", debugMessage);
+ fflush(stderr);
+ }
+
+--
+2.13.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/tiobench/tiobench_0.3.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/tiobench/tiobench_0.3.3.bb
index 35af35fd3..427ce67d6 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/tiobench/tiobench_0.3.3.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/tiobench/tiobench_0.3.3.bb
@@ -10,6 +10,7 @@ SRC_URI = "\
file://tiobench-makefile.patch \
file://avoid-glibc-clashes.patch \
file://0001-Drop-inline-of-crc32-function-to-fix-build-using-GCC.patch \
+ file://0001-Specify-printf-formats.patch \
"
SRC_URI[md5sum] = "bf485bf820e693c79e6bd2a38702a128"
SRC_URI[sha256sum] = "8ad011059a35ac70cdb5e3d3999ceee44a8e8e9078926844b0685b7ea9db2bcc"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez-hcidump-2.5/obsolete_automake_macros.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez-hcidump-2.5/obsolete_automake_macros.patch
deleted file mode 100644
index 0c77f1a20..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez-hcidump-2.5/obsolete_automake_macros.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Upstream-Status: Pending [package obsolete/not maintained by upstream]
-
-Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
-diff -Nurd bluez-hcidump-2.5/configure.ac bluez-hcidump-2.5/configure.ac
---- bluez-hcidump-2.5/configure.ac 2012-11-30 10:29:41.000000000 +0200
-+++ bluez-hcidump-2.5/configure.ac 2013-01-12 10:02:10.609511463 +0200
-@@ -2,7 +2,7 @@
- AC_INIT(bluez-hcidump, 2.5)
-
- AM_INIT_AUTOMAKE([foreign subdir-objects])
--AM_CONFIG_HEADER(config.h)
-+AC_CONFIG_HEADERS(config.h)
-
- m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez-hcidump_2.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez-hcidump_2.5.bb
deleted file mode 100644
index 3a15d64cc..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez-hcidump_2.5.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Linux Bluetooth Stack HCI Debugger Tool"
-DESCRIPTION = "The hcidump tool reads raw HCI data coming from and going to a Bluetooth device \
-and displays the commands, events and data in a human-readable form."
-
-SECTION = "console"
-# hcidump was integrated into bluez5
-DEPENDS = "bluez4"
-RCONFLICTS_${PN} = "bluez5"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
- file://src/hcidump.c;beginline=1;endline=23;md5=3bee3a162dff43a5be7470710b99fbcf"
-PR = "r1"
-
-PNBLACKLIST[bluez-hcidump] ?= "${@bb.utils.contains('DISTRO_FEATURES', 'bluez5', 'bluez5 conflicts with bluez4 and bluez5 is selected in DISTRO_FEATURES', '', d)}"
-
-SRC_URI = "http://www.kernel.org/pub/linux/bluetooth/bluez-hcidump-${PV}.tar.gz \
- file://obsolete_automake_macros.patch \
-"
-
-SRC_URI[md5sum] = "2eab54bbd2b59a2ed4274ebb9390cf18"
-SRC_URI[sha256sum] = "9b7c52b375081883738cf049ecabc103b97d094b19c6544fb241267905d88881"
-S = "${WORKDIR}/bluez-hcidump-${PV}"
-
-inherit autotools
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4-4.101/bluetooth.conf b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4-4.101/bluetooth.conf
deleted file mode 100644
index ca5e9e4f2..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4-4.101/bluetooth.conf
+++ /dev/null
@@ -1,16 +0,0 @@
-<!-- This configuration file specifies the required security policies
- for Bluetooth core daemon to work. -->
-
-<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
- "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
-<busconfig>
-
- <!-- ../system.conf have denied everything, so we just punch some holes -->
-
- <policy context="default">
- <allow own="org.bluez"/>
- <allow send_destination="org.bluez"/>
- <allow send_interface="org.bluez.Agent"/>
- </policy>
-
-</busconfig>
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4-4.101/fix-udev-paths.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4-4.101/fix-udev-paths.patch
deleted file mode 100644
index 80899148e..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4-4.101/fix-udev-paths.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Add udevdir/udevrulesdir options
-
-Upstream-Status: Inappropriate [configuration]
-Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
-
-Index: bluez-4.101/Makefile.am
-===================================================================
---- bluez-4.101.orig/Makefile.am
-+++ bluez-4.101/Makefile.am
-@@ -395,7 +395,7 @@ EXTRA_DIST += audio/bluetooth.conf
- include Makefile.tools
-
- if DATAFILES
--rulesdir = @UDEV_DIR@/rules.d
-+rulesdir = @UDEV_RULES_DIR@
-
- udev_files =
-
-Index: bluez-4.101/configure.ac
-===================================================================
---- bluez-4.101.orig/configure.ac
-+++ bluez-4.101/configure.ac
-@@ -61,4 +61,14 @@ if (test -n "${path_systemdunit}"); then
- fi
- AM_CONDITIONAL(SYSTEMD, test -n "${path_systemdunit}")
-
-+AC_ARG_WITH([udevdir],
-+ AS_HELP_STRING([--with-udevdir=DIR], [udev directory]),
-+ [], [with_udevdir=/lib/udev/])
-+AC_SUBST([UDEV_DIR], [$with_udevdir])
-+
-+AC_ARG_WITH([udevrulesdir],
-+ AS_HELP_STRING([--with-udevrulesdir=DIR], [udev rules directory]),
-+ [], [with_udevrulesdir=/lib/udev/rules.d])
-+AC_SUBST([UDEV_RULES_DIR], [$with_udevrulesdir])
-+
- AC_OUTPUT(Makefile doc/version.xml src/bluetoothd.8 src/bluetooth.service bluez.pc)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4-4.101/fix_encrypt_collision.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4-4.101/fix_encrypt_collision.patch
deleted file mode 100644
index 1bc390f35..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4-4.101/fix_encrypt_collision.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-Avoid namepspace collision with encrypt function from libc
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Index: bluez-4.101/test/l2test.c
-===================================================================
---- bluez-4.101.orig/test/l2test.c
-+++ bluez-4.101/test/l2test.c
-@@ -107,7 +107,7 @@ static char *filename = NULL;
- static int rfcmode = 0;
- static int master = 0;
- static int auth = 0;
--static int encrypt = 0;
-+static int encryption_request = 0;
- static int secure = 0;
- static int socktype = SOCK_SEQPACKET;
- static int linger = 0;
-@@ -340,7 +340,7 @@ static int do_connect(char *svr)
- opt |= L2CAP_LM_MASTER;
- if (auth)
- opt |= L2CAP_LM_AUTH;
-- if (encrypt)
-+ if (encryption_request)
- opt |= L2CAP_LM_ENCRYPT;
- if (secure)
- opt |= L2CAP_LM_SECURE;
-@@ -475,7 +475,7 @@ static void do_listen(void (*handler)(in
- opt |= L2CAP_LM_MASTER;
- if (auth)
- opt |= L2CAP_LM_AUTH;
-- if (encrypt)
-+ if (encryption_request)
- opt |= L2CAP_LM_ENCRYPT;
- if (secure)
- opt |= L2CAP_LM_SECURE;
-@@ -1407,7 +1407,7 @@ int main(int argc, char *argv[])
- break;
-
- case 'E':
-- encrypt = 1;
-+ encryption_request = 1;
- break;
-
- case 'S':
-Index: bluez-4.101/test/rctest.c
-===================================================================
---- bluez-4.101.orig/test/rctest.c
-+++ bluez-4.101/test/rctest.c
-@@ -79,7 +79,7 @@ static char *filename = NULL;
-
- static int master = 0;
- static int auth = 0;
--static int encrypt = 0;
-+static int encryption_request = 0;
- static int secure = 0;
- static int socktype = SOCK_STREAM;
- static int linger = 0;
-@@ -200,7 +200,7 @@ static int do_connect(const char *svr)
- opt |= RFCOMM_LM_MASTER;
- if (auth)
- opt |= RFCOMM_LM_AUTH;
-- if (encrypt)
-+ if (encryption_request)
- opt |= RFCOMM_LM_ENCRYPT;
- if (secure)
- opt |= RFCOMM_LM_SECURE;
-@@ -291,7 +291,7 @@ static void do_listen(void (*handler)(in
- opt |= RFCOMM_LM_MASTER;
- if (auth)
- opt |= RFCOMM_LM_AUTH;
-- if (encrypt)
-+ if (encryption_request)
- opt |= RFCOMM_LM_ENCRYPT;
- if (secure)
- opt |= RFCOMM_LM_SECURE;
-@@ -701,7 +701,7 @@ int main(int argc, char *argv[])
- break;
-
- case 'E':
-- encrypt = 1;
-+ encryption_request = 1;
- break;
-
- case 'S':
-Index: bluez-4.101/src/textfile.h
-===================================================================
---- bluez-4.101.orig/src/textfile.h
-+++ bluez-4.101/src/textfile.h
-@@ -24,6 +24,8 @@
- #ifndef __TEXTFILE_H
- #define __TEXTFILE_H
-
-+#include <sys/types.h>
-+
- int create_dirs(const char *filename, const mode_t mode);
- int create_file(const char *filename, const mode_t mode);
- int create_name(char *buf, size_t size, const char *path,
-Index: bluez-4.101/test/attest.c
-===================================================================
---- bluez-4.101.orig/test/attest.c
-+++ bluez-4.101/test/attest.c
-@@ -34,6 +34,7 @@
- #include <termios.h>
- #include <sys/ioctl.h>
- #include <sys/socket.h>
-+#include <sys/select.h>
-
- #include <bluetooth/bluetooth.h>
- #include <bluetooth/rfcomm.h>
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4-4.101/install-test-script.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4-4.101/install-test-script.patch
deleted file mode 100644
index 23f7d999b..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4-4.101/install-test-script.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Upstream-Status: Inappropriate
-
-Install the bluez's test scripts
-
-Signed-off-by: Zhong Hongbo <hongbo.zhong@windriver.com>
-diff -Nurd bluez-4.101.orig/Makefile.tools bluez-4.101/Makefile.tools
---- bluez-4.101.orig/Makefile.tools 2013-11-19 15:49:07.688838000 +0800
-+++ bluez-4.101/Makefile.tools 2013-11-19 15:50:09.256837848 +0800
-@@ -227,6 +227,17 @@
- test/service-spp.xml test/service-opp.xml test/service-ftp.xml \
- test/simple-player test/test-nap
-
-+bluez4_testdir = $(libdir)/bluez4/test/
-+dist_bluez4_test_SCRIPTS = test/sap-client test/hsplay test/hsmicro \
-+ test/monitor-bluetooth test/list-devices \
-+ test/test-discovery test/test-manager test/test-adapter \
-+ test/test-device test/test-service test/test-serial \
-+ test/test-telephony test/test-network test/simple-agent \
-+ test/simple-service test/simple-endpoint test/test-audio \
-+ test/test-input test/test-sap-server test/test-oob \
-+ test/test-attrib test/test-proximity test/test-thermometer \
-+ test/test-serial-proxy test/test-health test/test-health-sink \
-+ test/simple-player test/test-nap
- if HIDD
- bin_PROGRAMS += compat/hidd
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4-4.101/network-fix-network-Connect-method-parameters.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4-4.101/network-fix-network-Connect-method-parameters.patch
deleted file mode 100644
index 37f919926..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4-4.101/network-fix-network-Connect-method-parameters.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Upstream-Status: Backport
-Signed-off-by: Peter A. Bigot <pab@pabigot.com>
-
-From 57170b311f1468330f4a9961dc0b3ac45f97bc13 Mon Sep 17 00:00:00 2001
-From: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
-Date: Sat, 30 Jun 2012 00:39:05 -0300
-Subject: [PATCH] network: fix network Connect() method parameters
-
----
- network/connection.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/network/connection.c b/network/connection.c
-index 544ec3a..59423a9 100644
---- a/network/connection.c
-+++ b/network/connection.c
-@@ -554,7 +554,9 @@ static void path_unregister(void *data)
-
- static const GDBusMethodTable connection_methods[] = {
- { GDBUS_ASYNC_METHOD("Connect",
-- NULL, NULL, connection_connect) },
-+ GDBUS_ARGS({"uuid", "s"}),
-+ GDBUS_ARGS({"interface", "s"}),
-+ connection_connect) },
- { GDBUS_METHOD("Disconnect",
- NULL, NULL, connection_disconnect) },
- { GDBUS_METHOD("GetProperties",
---
-1.7.9.5
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4-4.101/obsolete_automake_macros.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4-4.101/obsolete_automake_macros.patch
deleted file mode 100644
index 1068f2482..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4-4.101/obsolete_automake_macros.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Upstream-Status: Backport
-
-Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
-diff -Nurd bluez-4.101/configure.ac bluez-4.101/configure.ac
---- bluez-4.101/configure.ac 2012-06-22 19:36:49.000000000 +0300
-+++ bluez-4.101/configure.ac 2013-01-07 06:13:18.385888966 +0200
-@@ -2,7 +2,7 @@
- AC_INIT(bluez, 4.101)
-
- AM_INIT_AUTOMAKE([foreign subdir-objects color-tests])
--AM_CONFIG_HEADER(config.h)
-+AC_CONFIG_HEADERS(config.h)
-
- m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4-4.101/sbc_mmx.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4-4.101/sbc_mmx.patch
deleted file mode 100644
index 98fab458b..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4-4.101/sbc_mmx.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-on x86 and x86_64 gcc 4.7 complains
-
-sbc/sbc_primitives_mmx.c: In function 'sbc_calc_scalefactors_mmx':
-sbc/sbc_primitives_mmx.c:294:4: warning: asm operand 2 probably doesn't match constraints [enabled by default]
-sbc/sbc_primitives_mmx.c:294:4: error: impossible constraint in 'asm'
-
-This patch is taken from https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/911871
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
-Index: bluez-4.98/sbc/sbc_primitives_mmx.c
-===================================================================
---- bluez-4.98.orig/sbc/sbc_primitives_mmx.c 2011-12-21 14:53:54.000000000 -0800
-+++ bluez-4.98/sbc/sbc_primitives_mmx.c 2012-02-24 10:07:03.422073800 -0800
-@@ -318,7 +318,7 @@
- "movl %k0, 4(%3)\n"
- : "+r" (blk)
- : "r" (&sb_sample_f[0][ch][sb]),
-- "i" ((char *) &sb_sample_f[1][0][0] -
-+ "r" ((char *) &sb_sample_f[1][0][0] -
- (char *) &sb_sample_f[0][0][0]),
- "r" (&scale_factor[ch][sb]),
- "r" (&consts),
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4.inc b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4.inc
deleted file mode 100644
index 5240ccfd8..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4.inc
+++ /dev/null
@@ -1,47 +0,0 @@
-SUMMARY = "Linux Bluetooth Stack Userland V4"
-DESCRIPTION = "Linux Bluetooth stack V4 userland components. These include a system configurations, daemons, tools and system libraries."
-HOMEPAGE = "http://www.bluez.org"
-SECTION = "libs"
-LICENSE = "GPLv2+ & LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
- file://COPYING.LIB;md5=fb504b67c50331fc78734fed90fb0e09 \
- file://src/main.c;beginline=1;endline=24;md5=9bc54b93cd7e17bf03f52513f39f926e \
- file://sbc/sbc.c;beginline=1;endline=25;md5=1a40781ed30d50d8639323a184aeb191"
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-
-DEPENDS = "udev libusb dbus-glib glib-2.0 libcheck readline libsndfile1"
-RDEPENDS_${PN}-dev = "bluez-hcidump"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa pie systemd', d)}"
-PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib"
-PACKAGECONFIG[pie] = "--enable-pie,--disable-pie,"
-PACKAGECONFIG[systemd] = "--with-systemdunitdir=${systemd_unitdir}/system/,--with-systemdunitdir="
-
-ASNEEDED = ""
-
-SRC_URI = "${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.gz"
-S = "${WORKDIR}/bluez-${PV}"
-
-inherit autotools-brokensep pkgconfig systemd
-
-EXTRA_OECONF = "\
- --disable-gstreamer \
- --enable-usb \
- --enable-tools \
- --enable-bccmd \
- --enable-hid2hci \
- --enable-dfutool \
- --disable-hidd \
- --disable-pand \
- --disable-dund \
- --disable-cups \
- --enable-test \
- --enable-datafiles \
- --with-udevdir=`pkg-config --variable=udevdir udev` \
- --with-udevrulesdir=`pkg-config --variable=udevdir udev`/rules.d \
-"
-
-EXCLUDE_FROM_WORLD = "1"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4_4.101.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4_4.101.bb
deleted file mode 100644
index d6d16c00f..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4_4.101.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-require bluez4.inc
-
-PNBLACKLIST[bluez4] ?= "${@bb.utils.contains('DISTRO_FEATURES', 'bluez5', 'bluez5 conflicts with bluez4 and bluez5 is selected in DISTRO_FEATURES', '', d)}"
-
-PR = "r11"
-
-SRC_URI += "file://bluetooth.conf \
- file://sbc_mmx.patch \
- file://fix-udev-paths.patch \
- file://obsolete_automake_macros.patch \
- file://network-fix-network-Connect-method-parameters.patch \
- file://install-test-script.patch \
- file://fix_encrypt_collision.patch \
-"
-
-SRC_URI[md5sum] = "fb42cb7038c380eb0e2fa208987c96ad"
-SRC_URI[sha256sum] = "59738410ade9f0e61a13c0f77d9aaffaafe49ba9418107e4ad75fe52846f7487"
-
-RCONFLICTS_${PN} = "bluez5"
-
-do_install_append() {
- install -m 0644 ${S}/audio/audio.conf ${D}/${sysconfdir}/bluetooth/
- install -m 0644 ${S}/network/network.conf ${D}/${sysconfdir}/bluetooth/
- install -m 0644 ${S}/input/input.conf ${D}/${sysconfdir}/bluetooth/
- # at_console doesn't really work with the current state of OE, so punch some more holes so people can actually use BT
- install -m 0644 ${WORKDIR}/bluetooth.conf ${D}/${sysconfdir}/dbus-1/system.d/
-}
-
-RDEPENDS_${PN}-dev = "bluez-hcidump"
-RDEPENDS_${PN}-testtools += "python python-dbus python-pygobject"
-
-ALLOW_EMPTY_libasound-module-bluez = "1"
-PACKAGES =+ "libasound-module-bluez ${PN}-testtools"
-
-FILES_libasound-module-bluez = "${libdir}/alsa-lib/lib*.so ${datadir}/alsa"
-FILES_${PN} += "${libdir}/bluetooth/plugins ${libdir}/bluetooth/plugins/*.so ${base_libdir}/udev/ ${nonarch_base_libdir}/udev/ ${systemd_unitdir}/ ${datadir}/dbus-1"
-FILES_${PN}-dev += "\
- ${libdir}/bluetooth/plugins/*.la \
- ${libdir}/alsa-lib/*.la \
-"
-
-FILES_${PN}-testtools = "${libdir}/bluez4/test/*"
-
-FILES_${PN}-dbg += "\
- ${libdir}/bluetooth/plugins/.debug \
- ${libdir}/*/.debug \
- */udev/.debug \
-"
-
-SYSTEMD_SERVICE_${PN} = "bluetooth.service"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/gst-plugin-bluetooth_4.101.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/gst-plugin-bluetooth_4.101.bb
deleted file mode 100644
index 822aec4dc..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/gst-plugin-bluetooth_4.101.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-require bluez4.inc
-require recipes-multimedia/gstreamer/gst-plugins-package.inc
-
-PNBLACKLIST[gst-plugin-bluetooth] ?= "${@bb.utils.contains('DISTRO_FEATURES', 'bluez5', 'bluez5 conflicts with bluez4 and bluez5 is selected in DISTRO_FEATURES', '', d)}"
-
-PR = "r1"
-
-SRC_URI[md5sum] = "fb42cb7038c380eb0e2fa208987c96ad"
-SRC_URI[sha256sum] = "59738410ade9f0e61a13c0f77d9aaffaafe49ba9418107e4ad75fe52846f7487"
-
-DEPENDS = "bluez4 gst-plugins-base"
-
-EXTRA_OECONF = "\
- --enable-gstreamer \
-"
-
-# clean unwanted files
-do_install_append() {
- rm -rf ${D}${bindir}
- rm -rf ${D}${sbindir}
- rm -f ${D}${libdir}/lib*
- rm -rf ${D}${libdir}/pkgconfig
- rm -rf ${D}${sysconfdir}
- rm -rf ${D}${base_libdir}
- rm -rf ${D}${libdir}/bluetooth
- rm -rf ${D}${localstatedir}
- rm -rf ${D}${libdir}/alsa-lib
- rm -rf ${D}${datadir}
- rm -rf ${D}${includedir}
- rm -rf ${D}${nonarch_base_libdir}
-}
-
-FILES_${PN} = "${libdir}/gstreamer-0.10/lib*.so"
-FILES_${PN}-dev += "\
- ${libdir}/gstreamer-0.10/*.la \
-"
-
-FILES_${PN}-dbg += "\
- ${libdir}/*/.debug \
-"
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/ell/ell_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/ell/ell_git.bb
deleted file mode 100644
index d259f52ac..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/ell/ell_git.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Embedded Linux Library"
-DESCRIPTION = "ELL is a DBUS library which provides DBUS bindings."
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09"
-SECTION = "libs"
-
-inherit autotools pkgconfig
-
-S = "${WORKDIR}/git"
-SRCREV = "399099946abaeb2f3718a0667cc11436a7c0be14"
-SRC_URI = "git://git.kernel.org/pub/scm/libs/ell/ell.git"
-
-do_configure_prepend () {
- mkdir ${S}/build-aux
-}
-
-DEPENDS = "dbus"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/gnokii/gnokii_0.6.31.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/gnokii/gnokii_0.6.31.bb
deleted file mode 100644
index b6098d84a..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/gnokii/gnokii_0.6.31.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "Cellphone tools and driver software"
-SECTION = "console/network"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
-
-SRC_URI = "http://www.gnokii.org/download/gnokii/gnokii-${PV}.tar.bz2"
-
-DEPENDS = "glib-2.0 intltool-native"
-X11DEPENDS = " libxpm gtk+"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
-PACKAGECONFIG[bluez4] = "--enable-bluetooth,--disable-bluetooth,bluez4"
-PACKAGECONFIG[libical] = "--enable-libical,--disable-libical,libical"
-PACKAGECONFIG[pcsc-lite] = "--enable-libpcsclite,--disable-libpcsclite,pcsc-lite"
-PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
-PACKAGECONFIG[usb] = "--enable-libusb,--disable-libusb,virtual/libusb0"
-PACKAGECONFIG[x11] = ",--without-x,${X11DEPENDS}"
-
-inherit autotools pkgconfig
-
-PACKAGES += "libgnokii libgnokii-dev"
-
-EXTRA_OECONF = "--disable-smsd"
-
-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 \
-"
-FILES_${PN}-dev = ""
-FILES_libgnokii = "${libdir}/libgnokii.so.*"
-
-SRC_URI[md5sum] = "d9627f4a1152d3ea7806df4532850d5f"
-SRC_URI[sha256sum] = "8f5a083b05c1a66a3402ca5cd80084e14c2c0632c991bb53b03c78e9adb02501"
-
-PNBLACKLIST[gnokii] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130662/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.0.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.0.1.bb
deleted file mode 100644
index 041f5de6d..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.0.1.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "ncurses IRC client"
-DESCRIPTION = "Irssi is an ncurses IRC client"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=55fdc1113306167d6ea2561404ce02f8"
-
-DEPENDS = "glib-2.0 ncurses openssl"
-
-SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz"
-SRC_URI[md5sum] = "f6bed196cef63ea089f5cce089784445"
-SRC_URI[sha256sum] = "9428c51a3f3598ffaef438c351a8d609cf10db34f2435bdcb84456226c383ccf"
-
-inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.0.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.0.4.bb
new file mode 100644
index 000000000..10b04bb52
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.0.4.bb
@@ -0,0 +1,18 @@
+SUMMARY = "ncurses IRC client"
+DESCRIPTION = "Irssi is an ncurses IRC client"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=55fdc1113306167d6ea2561404ce02f8"
+
+DEPENDS = "glib-2.0 ncurses openssl"
+
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz"
+SRC_URI[md5sum] = "46d4ac2a7ab472e5dc800e5d7bd9a879"
+SRC_URI[sha256sum] = "b85c07dbafe178213eccdc69f5f8f0ac024dea01c67244668f91ec1c06b986ca"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF += "--with-textui \
+ --with-proxy \
+ --with-bot \
+ --with-perl=no \
+ --enable-true-color"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/CVE-2017-11462.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/CVE-2017-11462.patch
new file mode 100644
index 000000000..4b82f0297
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/CVE-2017-11462.patch
@@ -0,0 +1,419 @@
+From 56f7b1bc95a2a3eeb420e069e7655fb181ade5cf Mon Sep 17 00:00:00 2001
+From: Greg Hudson <ghudson@mit.edu>
+Date: Fri, 14 Jul 2017 13:02:46 -0400
+Subject: [PATCH] Preserve GSS context on init/accept failure
+
+After gss_init_sec_context() or gss_accept_sec_context() has created a
+context, don't delete the mechglue context on failures from subsequent
+calls, even if the mechanism deletes the mech-specific context (which
+is allowed by RFC 2744 but not preferred). Check for union contexts
+with no mechanism context in each GSS function which accepts a
+gss_ctx_id_t.
+
+CVE-2017-11462:
+
+RFC 2744 permits a GSS-API implementation to delete an existing
+security context on a second or subsequent call to
+gss_init_sec_context() or gss_accept_sec_context() if the call results
+in an error. This API behavior has been found to be dangerous,
+leading to the possibility of memory errors in some callers. For
+safety, GSS-API implementations should instead preserve existing
+security contexts on error until the caller deletes them.
+
+All versions of MIT krb5 prior to this change may delete acceptor
+contexts on error. Versions 1.13.4 through 1.13.7, 1.14.1 through
+1.14.5, and 1.15 through 1.15.1 may also delete initiator contexts on
+error.
+
+ticket: 8598 (new)
+target_version: 1.15-next
+target_version: 1.14-next
+tags: pullup
+
+Upstream-Status: Backport
+CVE: CVE-2017-11462
+
+Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
+---
+ src/lib/gssapi/mechglue/g_accept_sec_context.c | 22 +++++++++++++++-------
+ src/lib/gssapi/mechglue/g_complete_auth_token.c | 2 ++
+ src/lib/gssapi/mechglue/g_context_time.c | 2 ++
+ src/lib/gssapi/mechglue/g_delete_sec_context.c | 14 ++++++++------
+ src/lib/gssapi/mechglue/g_exp_sec_context.c | 2 ++
+ src/lib/gssapi/mechglue/g_init_sec_context.c | 19 +++++++++++--------
+ src/lib/gssapi/mechglue/g_inq_context.c | 2 ++
+ src/lib/gssapi/mechglue/g_prf.c | 2 ++
+ src/lib/gssapi/mechglue/g_process_context.c | 2 ++
+ src/lib/gssapi/mechglue/g_seal.c | 4 ++++
+ src/lib/gssapi/mechglue/g_sign.c | 2 ++
+ src/lib/gssapi/mechglue/g_unseal.c | 2 ++
+ src/lib/gssapi/mechglue/g_unwrap_aead.c | 2 ++
+ src/lib/gssapi/mechglue/g_unwrap_iov.c | 4 ++++
+ src/lib/gssapi/mechglue/g_verify.c | 2 ++
+ src/lib/gssapi/mechglue/g_wrap_aead.c | 2 ++
+ src/lib/gssapi/mechglue/g_wrap_iov.c | 8 ++++++++
+ 17 files changed, 72 insertions(+), 21 deletions(-)
+
+diff --git a/src/lib/gssapi/mechglue/g_accept_sec_context.c b/src/lib/gssapi/mechglue/g_accept_sec_context.c
+index ddaf874..f28e2b1 100644
+--- a/src/lib/gssapi/mechglue/g_accept_sec_context.c
++++ b/src/lib/gssapi/mechglue/g_accept_sec_context.c
+@@ -216,6 +216,8 @@ gss_cred_id_t * d_cred;
+ } else {
+ union_ctx_id = (gss_union_ctx_id_t)*context_handle;
+ selected_mech = union_ctx_id->mech_type;
++ if (union_ctx_id->internal_ctx_id == GSS_C_NO_CONTEXT)
++ return (GSS_S_NO_CONTEXT);
+ }
+
+ /* Now create a new context if we didn't get one. */
+@@ -234,9 +236,6 @@ gss_cred_id_t * d_cred;
+ free(union_ctx_id);
+ return (status);
+ }
+-
+- /* set the new context handle to caller's data */
+- *context_handle = (gss_ctx_id_t)union_ctx_id;
+ }
+
+ /*
+@@ -277,8 +276,10 @@ gss_cred_id_t * d_cred;
+ d_cred ? &tmp_d_cred : NULL);
+
+ /* If there's more work to do, keep going... */
+- if (status == GSS_S_CONTINUE_NEEDED)
++ if (status == GSS_S_CONTINUE_NEEDED) {
++ *context_handle = (gss_ctx_id_t)union_ctx_id;
+ return GSS_S_CONTINUE_NEEDED;
++ }
+
+ /* if the call failed, return with failure */
+ if (status != GSS_S_COMPLETE) {
+@@ -364,14 +365,22 @@ gss_cred_id_t * d_cred;
+ *mech_type = gssint_get_public_oid(actual_mech);
+ if (ret_flags != NULL)
+ *ret_flags = temp_ret_flags;
+- return (status);
++ *context_handle = (gss_ctx_id_t)union_ctx_id;
++ return GSS_S_COMPLETE;
+ } else {
+
+ status = GSS_S_BAD_MECH;
+ }
+
+ error_out:
+- if (union_ctx_id) {
++ /*
++ * RFC 2744 5.1 requires that we not create a context on a failed first
++ * call to accept, and recommends that on a failed subsequent call we
++ * make the caller responsible for calling gss_delete_sec_context.
++ * Even if the mech deleted its context, keep the union context around
++ * for the caller to delete.
++ */
++ if (union_ctx_id && *context_handle == GSS_C_NO_CONTEXT) {
+ if (union_ctx_id->mech_type) {
+ if (union_ctx_id->mech_type->elements)
+ free(union_ctx_id->mech_type->elements);
+@@ -384,7 +393,6 @@ error_out:
+ GSS_C_NO_BUFFER);
+ }
+ free(union_ctx_id);
+- *context_handle = GSS_C_NO_CONTEXT;
+ }
+
+ if (src_name)
+diff --git a/src/lib/gssapi/mechglue/g_complete_auth_token.c b/src/lib/gssapi/mechglue/g_complete_auth_token.c
+index 9181551..4bcb47e 100644
+--- a/src/lib/gssapi/mechglue/g_complete_auth_token.c
++++ b/src/lib/gssapi/mechglue/g_complete_auth_token.c
+@@ -52,6 +52,8 @@ gss_complete_auth_token (OM_uint32 *minor_status,
+ */
+
+ ctx = (gss_union_ctx_id_t) context_handle;
++ if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
++ return GSS_S_NO_CONTEXT;
+ mech = gssint_get_mechanism (ctx->mech_type);
+
+ if (mech != NULL) {
+diff --git a/src/lib/gssapi/mechglue/g_context_time.c b/src/lib/gssapi/mechglue/g_context_time.c
+index 2ff8d09..c947e76 100644
+--- a/src/lib/gssapi/mechglue/g_context_time.c
++++ b/src/lib/gssapi/mechglue/g_context_time.c
+@@ -58,6 +58,8 @@ OM_uint32 * time_rec;
+ */
+
+ ctx = (gss_union_ctx_id_t) context_handle;
++ if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
++ return (GSS_S_NO_CONTEXT);
+ mech = gssint_get_mechanism (ctx->mech_type);
+
+ if (mech) {
+diff --git a/src/lib/gssapi/mechglue/g_delete_sec_context.c b/src/lib/gssapi/mechglue/g_delete_sec_context.c
+index 4bf0dec..574ff02 100644
+--- a/src/lib/gssapi/mechglue/g_delete_sec_context.c
++++ b/src/lib/gssapi/mechglue/g_delete_sec_context.c
+@@ -87,12 +87,14 @@ gss_buffer_t output_token;
+ if (GSSINT_CHK_LOOP(ctx))
+ return (GSS_S_CALL_INACCESSIBLE_READ | GSS_S_NO_CONTEXT);
+
+- status = gssint_delete_internal_sec_context(minor_status,
+- ctx->mech_type,
+- &ctx->internal_ctx_id,
+- output_token);
+- if (status)
+- return status;
++ if (ctx->internal_ctx_id != GSS_C_NO_CONTEXT) {
++ status = gssint_delete_internal_sec_context(minor_status,
++ ctx->mech_type,
++ &ctx->internal_ctx_id,
++ output_token);
++ if (status)
++ return status;
++ }
+
+ /* now free up the space for the union context structure */
+ free(ctx->mech_type->elements);
+diff --git a/src/lib/gssapi/mechglue/g_exp_sec_context.c b/src/lib/gssapi/mechglue/g_exp_sec_context.c
+index b637452..1d7990b 100644
+--- a/src/lib/gssapi/mechglue/g_exp_sec_context.c
++++ b/src/lib/gssapi/mechglue/g_exp_sec_context.c
+@@ -95,6 +95,8 @@ gss_buffer_t interprocess_token;
+ */
+
+ ctx = (gss_union_ctx_id_t) *context_handle;
++ if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
++ return (GSS_S_NO_CONTEXT);
+ mech = gssint_get_mechanism (ctx->mech_type);
+ if (!mech)
+ return GSS_S_BAD_MECH;
+diff --git a/src/lib/gssapi/mechglue/g_init_sec_context.c b/src/lib/gssapi/mechglue/g_init_sec_context.c
+index 9f154b8..e2df1ce 100644
+--- a/src/lib/gssapi/mechglue/g_init_sec_context.c
++++ b/src/lib/gssapi/mechglue/g_init_sec_context.c
+@@ -192,8 +192,13 @@ OM_uint32 * time_rec;
+
+ /* copy the supplied context handle */
+ union_ctx_id->internal_ctx_id = GSS_C_NO_CONTEXT;
+- } else
++ } else {
+ union_ctx_id = (gss_union_ctx_id_t)*context_handle;
++ if (union_ctx_id->internal_ctx_id == GSS_C_NO_CONTEXT) {
++ status = GSS_S_NO_CONTEXT;
++ goto end;
++ }
++ }
+
+ /*
+ * get the appropriate cred handle from the union cred struct.
+@@ -224,15 +229,13 @@ OM_uint32 * time_rec;
+
+ if (status != GSS_S_COMPLETE && status != GSS_S_CONTINUE_NEEDED) {
+ /*
+- * The spec says the preferred method is to delete all context info on
+- * the first call to init, and on all subsequent calls make the caller
+- * responsible for calling gss_delete_sec_context. However, if the
+- * mechanism decided to delete the internal context, we should also
+- * delete the union context.
++ * RFC 2744 5.19 requires that we not create a context on a failed
++ * first call to init, and recommends that on a failed subsequent call
++ * we make the caller responsible for calling gss_delete_sec_context.
++ * Even if the mech deleted its context, keep the union context around
++ * for the caller to delete.
+ */
+ map_error(minor_status, mech);
+- if (union_ctx_id->internal_ctx_id == GSS_C_NO_CONTEXT)
+- *context_handle = GSS_C_NO_CONTEXT;
+ if (*context_handle == GSS_C_NO_CONTEXT) {
+ free(union_ctx_id->mech_type->elements);
+ free(union_ctx_id->mech_type);
+diff --git a/src/lib/gssapi/mechglue/g_inq_context.c b/src/lib/gssapi/mechglue/g_inq_context.c
+index 6f1c71e..6c0d98d 100644
+--- a/src/lib/gssapi/mechglue/g_inq_context.c
++++ b/src/lib/gssapi/mechglue/g_inq_context.c
+@@ -104,6 +104,8 @@ gss_inquire_context(
+ */
+
+ ctx = (gss_union_ctx_id_t) context_handle;
++ if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
++ return (GSS_S_NO_CONTEXT);
+ mech = gssint_get_mechanism (ctx->mech_type);
+
+ if (!mech || !mech->gss_inquire_context || !mech->gss_display_name ||
+diff --git a/src/lib/gssapi/mechglue/g_prf.c b/src/lib/gssapi/mechglue/g_prf.c
+index fcca3e4..9e168ad 100644
+--- a/src/lib/gssapi/mechglue/g_prf.c
++++ b/src/lib/gssapi/mechglue/g_prf.c
+@@ -59,6 +59,8 @@ gss_pseudo_random (OM_uint32 *minor_status,
+ */
+
+ ctx = (gss_union_ctx_id_t) context_handle;
++ if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
++ return GSS_S_NO_CONTEXT;
+ mech = gssint_get_mechanism (ctx->mech_type);
+
+ if (mech != NULL) {
+diff --git a/src/lib/gssapi/mechglue/g_process_context.c b/src/lib/gssapi/mechglue/g_process_context.c
+index bc260ae..3968b5d 100644
+--- a/src/lib/gssapi/mechglue/g_process_context.c
++++ b/src/lib/gssapi/mechglue/g_process_context.c
+@@ -61,6 +61,8 @@ gss_buffer_t token_buffer;
+ */
+
+ ctx = (gss_union_ctx_id_t) context_handle;
++ if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
++ return (GSS_S_NO_CONTEXT);
+ mech = gssint_get_mechanism (ctx->mech_type);
+
+ if (mech) {
+diff --git a/src/lib/gssapi/mechglue/g_seal.c b/src/lib/gssapi/mechglue/g_seal.c
+index f17241c..3db1ee0 100644
+--- a/src/lib/gssapi/mechglue/g_seal.c
++++ b/src/lib/gssapi/mechglue/g_seal.c
+@@ -92,6 +92,8 @@ gss_wrap( OM_uint32 *minor_status,
+ */
+
+ ctx = (gss_union_ctx_id_t) context_handle;
++ if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
++ return (GSS_S_NO_CONTEXT);
+ mech = gssint_get_mechanism (ctx->mech_type);
+
+ if (mech) {
+@@ -226,6 +228,8 @@ gss_wrap_size_limit(OM_uint32 *minor_status,
+ */
+
+ ctx = (gss_union_ctx_id_t) context_handle;
++ if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
++ return (GSS_S_NO_CONTEXT);
+ mech = gssint_get_mechanism (ctx->mech_type);
+
+ if (!mech)
+diff --git a/src/lib/gssapi/mechglue/g_sign.c b/src/lib/gssapi/mechglue/g_sign.c
+index 86d641a..03fbd8c 100644
+--- a/src/lib/gssapi/mechglue/g_sign.c
++++ b/src/lib/gssapi/mechglue/g_sign.c
+@@ -94,6 +94,8 @@ gss_buffer_t msg_token;
+ */
+
+ ctx = (gss_union_ctx_id_t) context_handle;
++ if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
++ return (GSS_S_NO_CONTEXT);
+ mech = gssint_get_mechanism (ctx->mech_type);
+
+ if (mech) {
+diff --git a/src/lib/gssapi/mechglue/g_unseal.c b/src/lib/gssapi/mechglue/g_unseal.c
+index 3e8053c..c208635 100644
+--- a/src/lib/gssapi/mechglue/g_unseal.c
++++ b/src/lib/gssapi/mechglue/g_unseal.c
+@@ -76,6 +76,8 @@ gss_qop_t * qop_state;
+ * call it.
+ */
+ ctx = (gss_union_ctx_id_t) context_handle;
++ if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
++ return (GSS_S_NO_CONTEXT);
+ mech = gssint_get_mechanism (ctx->mech_type);
+
+ if (mech) {
+diff --git a/src/lib/gssapi/mechglue/g_unwrap_aead.c b/src/lib/gssapi/mechglue/g_unwrap_aead.c
+index e78bff2..0682bd8 100644
+--- a/src/lib/gssapi/mechglue/g_unwrap_aead.c
++++ b/src/lib/gssapi/mechglue/g_unwrap_aead.c
+@@ -186,6 +186,8 @@ gss_qop_t *qop_state;
+ * call it.
+ */
+ ctx = (gss_union_ctx_id_t) context_handle;
++ if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
++ return (GSS_S_NO_CONTEXT);
+ mech = gssint_get_mechanism (ctx->mech_type);
+
+ if (!mech)
+diff --git a/src/lib/gssapi/mechglue/g_unwrap_iov.c b/src/lib/gssapi/mechglue/g_unwrap_iov.c
+index c0dd314..599be2c 100644
+--- a/src/lib/gssapi/mechglue/g_unwrap_iov.c
++++ b/src/lib/gssapi/mechglue/g_unwrap_iov.c
+@@ -89,6 +89,8 @@ int iov_count;
+ */
+
+ ctx = (gss_union_ctx_id_t) context_handle;
++ if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
++ return (GSS_S_NO_CONTEXT);
+ mech = gssint_get_mechanism (ctx->mech_type);
+
+ if (mech) {
+@@ -128,6 +130,8 @@ gss_verify_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
+
+ /* Select the approprate underlying mechanism routine and call it. */
+ ctx = (gss_union_ctx_id_t)context_handle;
++ if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
++ return GSS_S_NO_CONTEXT;
+ mech = gssint_get_mechanism(ctx->mech_type);
+ if (mech == NULL)
+ return GSS_S_BAD_MECH;
+diff --git a/src/lib/gssapi/mechglue/g_verify.c b/src/lib/gssapi/mechglue/g_verify.c
+index 1578ae1..8996fce 100644
+--- a/src/lib/gssapi/mechglue/g_verify.c
++++ b/src/lib/gssapi/mechglue/g_verify.c
+@@ -65,6 +65,8 @@ gss_qop_t * qop_state;
+ */
+
+ ctx = (gss_union_ctx_id_t) context_handle;
++ if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
++ return (GSS_S_NO_CONTEXT);
+ mech = gssint_get_mechanism (ctx->mech_type);
+
+ if (mech) {
+diff --git a/src/lib/gssapi/mechglue/g_wrap_aead.c b/src/lib/gssapi/mechglue/g_wrap_aead.c
+index 96cdf3c..7fe3b7b 100644
+--- a/src/lib/gssapi/mechglue/g_wrap_aead.c
++++ b/src/lib/gssapi/mechglue/g_wrap_aead.c
+@@ -256,6 +256,8 @@ gss_buffer_t output_message_buffer;
+ * call it.
+ */
+ ctx = (gss_union_ctx_id_t)context_handle;
++ if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
++ return (GSS_S_NO_CONTEXT);
+ mech = gssint_get_mechanism (ctx->mech_type);
+ if (!mech)
+ return (GSS_S_BAD_MECH);
+diff --git a/src/lib/gssapi/mechglue/g_wrap_iov.c b/src/lib/gssapi/mechglue/g_wrap_iov.c
+index 40cd98f..14447c4 100644
+--- a/src/lib/gssapi/mechglue/g_wrap_iov.c
++++ b/src/lib/gssapi/mechglue/g_wrap_iov.c
+@@ -93,6 +93,8 @@ int iov_count;
+ */
+
+ ctx = (gss_union_ctx_id_t) context_handle;
++ if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
++ return (GSS_S_NO_CONTEXT);
+ mech = gssint_get_mechanism (ctx->mech_type);
+
+ if (mech) {
+@@ -151,6 +153,8 @@ int iov_count;
+ */
+
+ ctx = (gss_union_ctx_id_t) context_handle;
++ if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
++ return (GSS_S_NO_CONTEXT);
+ mech = gssint_get_mechanism (ctx->mech_type);
+
+ if (mech) {
+@@ -190,6 +194,8 @@ gss_get_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
+
+ /* Select the approprate underlying mechanism routine and call it. */
+ ctx = (gss_union_ctx_id_t)context_handle;
++ if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
++ return GSS_S_NO_CONTEXT;
+ mech = gssint_get_mechanism(ctx->mech_type);
+ if (mech == NULL)
+ return GSS_S_BAD_MECH;
+@@ -218,6 +224,8 @@ gss_get_mic_iov_length(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
+
+ /* Select the approprate underlying mechanism routine and call it. */
+ ctx = (gss_union_ctx_id_t)context_handle;
++ if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
++ return GSS_S_NO_CONTEXT;
+ mech = gssint_get_mechanism(ctx->mech_type);
+ if (mech == NULL)
+ return GSS_S_BAD_MECH;
+--
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb
index b515eb5dc..e75e86138 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb
@@ -31,6 +31,7 @@ SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}.tar.gz \
file://krb5-kdc.service \
file://krb5-admin-server.service \
file://fix-CVE-2017-11368.patch;striplevel=2 \
+ file://CVE-2017-11462.patch;striplevel=2 \
"
SRC_URI[md5sum] = "8022f3a1cde8463e44fd35ef42731f85"
SRC_URI[sha256sum] = "437c8831ddd5fde2a993fef425dedb48468109bb3d3261ef838295045a89eb45"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.5.bb
index c05ff4ea3..798b1707d 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.5.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.5.bb
@@ -45,10 +45,10 @@ PACKAGECONFIG[doxygen] = "--enable-doxygen,--disable-doxygen"
PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile"
PACKAGECONFIG[mtpz] = "--enable-mtpz,--disable-mtpz,libgcrypt"
-PACKAGES =+ "libmtp-common libmtp-runtime mtp-tools"
+PACKAGES =+ "libmtp-common libmtp-runtime"
RDEPENDS_${PN} += "libmtp-common"
-RRECOMMENDS_${PN} += "libmtp-runtime mtp-tools"
+RRECOMMENDS_${PN} += "libmtp-runtime ${PN}-bin"
FILES_${PN}-dbg += "${nonarch_base_libdir}/udev/.debug/*"
FILES_libmtp-common = "${nonarch_base_libdir}/udev/rules.d/*"
SUMMARY_libmtp-common = "The udev rules file for MTP devices"
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
index 2cc345af4..5148798ab 100644
--- 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
@@ -1,5 +1,5 @@
SUMMARY = "Library for IPv6 Neighbor Discovery Protocol"
-
+HOMEPAGE = "http://libndp.org/"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0003-include-missing-time.h-for-time_t.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0003-include-missing-time.h-for-time_t.patch
new file mode 100644
index 000000000..96163f654
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0003-include-missing-time.h-for-time_t.patch
@@ -0,0 +1,26 @@
+From b36cafdbcbe2193f5b669e703c608e19e23f80a3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 15 Jul 2017 11:16:42 -0700
+Subject: [PATCH 3/4] include missing time.h for time_t
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ util.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/util.h b/util.h
+index e912f19..3c634c1 100644
+--- a/util.h
++++ b/util.h
+@@ -22,7 +22,7 @@
+
+ #include "ddt.h"
+ #include "ether.h"
+-
++#include <time.h>
+ /**
+ * Table of human readable strings, one for each port state.
+ */
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0004-Adjust-include-header-sequence-to-avoid-duplicate-de.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0004-Adjust-include-header-sequence-to-avoid-duplicate-de.patch
new file mode 100644
index 000000000..e69927514
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0004-Adjust-include-header-sequence-to-avoid-duplicate-de.patch
@@ -0,0 +1,36 @@
+From 3cd28aa771934d9165ff0d7e19932cde65de3e52 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 15 Jul 2017 11:16:57 -0700
+Subject: [PATCH 4/4] Adjust include header sequence to avoid duplicate
+ definitions on musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ raw.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/raw.c b/raw.c
+index f51c829..494ea7f 100644
+--- a/raw.c
++++ b/raw.c
+@@ -18,8 +18,6 @@
+ */
+ #include <errno.h>
+ #include <fcntl.h>
+-#include <linux/filter.h>
+-#include <linux/if_ether.h>
+ #include <net/ethernet.h>
+ #include <net/if.h>
+ #include <netinet/in.h>
+@@ -32,6 +30,8 @@
+ #include <sys/types.h>
+ #include <unistd.h>
+
++#include <linux/filter.h>
++#include <linux/if_ether.h>
+ #include <linux/errqueue.h>
+ #include <linux/net_tstamp.h>
+ #include <linux/sockios.h>
+--
+2.13.3
+
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
deleted file mode 100644
index 2e28644f0..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.6.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-DESCRIPTION = "Precision Time Protocol (PTP) according to IEEE standard 1588 for Linux"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "http://sourceforge.net/projects/linuxptp/files/v${PV}/linuxptp-${PV}.tgz \
- file://build-Allow-CC-and-prefix-to-be-overriden.patch \
- file://no-incdefs-using-host-headers.patch"
-
-SRC_URI[md5sum] = "6aa15d83f5a35f1fd076ba9adc4e7285"
-SRC_URI[sha256sum] = "e7fd16a9f235b059be527bd512e86f0c1d9f2e7c36736e6d6d9727a4427ac14c"
-
-EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} \
- EXTRA_CFLAGS='-D_GNU_SOURCE -DHAVE_CLOCK_ADJTIME -DHAVE_POSIX_SPAWN -DHAVE_ONESTEP_SYNC ${CFLAGS}'"
-
-do_install () {
- install -d ${D}/${bindir}
- install -p ${S}/ptp4l ${D}/${bindir}
- install -p ${S}/pmc ${D}/${bindir}
- install -p ${S}/phc2sys ${D}/${bindir}
- install -p ${S}/hwstamp_ctl ${D}/${bindir}
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.8.bb
new file mode 100644
index 000000000..c7b8b2933
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.8.bb
@@ -0,0 +1,24 @@
+DESCRIPTION = "Precision Time Protocol (PTP) according to IEEE standard 1588 for Linux"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "http://sourceforge.net/projects/linuxptp/files/v${PV}/linuxptp-${PV}.tgz \
+ file://build-Allow-CC-and-prefix-to-be-overriden.patch \
+ file://no-incdefs-using-host-headers.patch \
+ file://0003-include-missing-time.h-for-time_t.patch \
+ file://0004-Adjust-include-header-sequence-to-avoid-duplicate-de.patch \
+ "
+
+SRC_URI[md5sum] = "5688cdfe57932273e1dbf35b3b97b9a0"
+SRC_URI[sha256sum] = "fa8e00f6ec73cefa7bb313dce7f60dfe5eb9e2bde3353594e9ac18edc93e5165"
+
+EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} \
+ EXTRA_CFLAGS='-D_GNU_SOURCE -DHAVE_CLOCK_ADJTIME -DHAVE_POSIX_SPAWN -DHAVE_ONESTEP_SYNC ${CFLAGS}'"
+
+do_install () {
+ install -d ${D}/${bindir}
+ install -p ${S}/ptp4l ${D}/${bindir}
+ install -p ${S}/pmc ${D}/${bindir}
+ install -p ${S}/phc2sys ${D}/${bindir}
+ install -p ${S}/hwstamp_ctl ${D}/${bindir}
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosquitto/files/build.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosquitto/files/build.patch
new file mode 100644
index 000000000..0d0912b7a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosquitto/files/build.patch
@@ -0,0 +1,94 @@
+From ebd7c8e548e9b8e096ee4c390173db9a701f2604 Mon Sep 17 00:00:00 2001
+From: Bruno Bottazzini <bruno.bottazzini@intel.com>
+Date: Wed, 23 Mar 2016 11:18:26 -0300
+Subject: [PATCH] build
+
+Disable stripping and allow easily overriding prefix
+
+Upstream-Status: Pending
+
+Signed-off-by: Bruno Bottazzini <bruno.bottazzini@intel.com>
+---
+ client/Makefile | 4 ++--
+ config.mk | 2 +-
+ lib/Makefile | 2 +-
+ lib/cpp/Makefile | 2 +-
+ src/Makefile | 4 ++--
+ 5 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/client/Makefile b/client/Makefile
+index bd65355..4e5a640 100644
+--- a/client/Makefile
++++ b/client/Makefile
+@@ -24,8 +24,8 @@ client_shared.o : client_shared.c client
+
+ install : all
+ $(INSTALL) -d ${DESTDIR}$(prefix)/bin
+- $(INSTALL) -s --strip-program=${CROSS_COMPILE}${STRIP} mosquitto_pub ${DESTDIR}${prefix}/bin/mosquitto_pub
+- $(INSTALL) -s --strip-program=${CROSS_COMPILE}${STRIP} mosquitto_sub ${DESTDIR}${prefix}/bin/mosquitto_sub
++ $(INSTALL) mosquitto_pub ${DESTDIR}${prefix}/bin/mosquitto_pub
++ $(INSTALL) mosquitto_sub ${DESTDIR}${prefix}/bin/mosquitto_sub
+
+ uninstall :
+ -rm -f ${DESTDIR}${prefix}/bin/mosquitto_pub
+diff --git a/config.mk b/config.mk
+index c0f175f..3427b83 100644
+--- a/config.mk
++++ b/config.mk
+@@ -241,7 +241,7 @@ ifeq ($(WITH_DOCS),yes)
+ endif
+
+ INSTALL?=install
+-prefix=/usr/local
++prefix?=/usr
+ mandir=${prefix}/share/man
+ localedir=${prefix}/share/locale
+ STRIP?=strip
+diff --git a/lib/Makefile b/lib/Makefile
+index 825fcea..9b7c05c 100644
+--- a/lib/Makefile
++++ b/lib/Makefile
+@@ -25,7 +25,7 @@ all : libmosquitto.so.${SOVERSION} libmo
+
+ install : all
+ $(INSTALL) -d ${DESTDIR}$(prefix)/lib${LIB_SUFFIX}/
+- $(INSTALL) -s --strip-program=${CROSS_COMPILE}${STRIP} libmosquitto.so.${SOVERSION} ${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquitto.so.${SOVERSION}
++ $(INSTALL) libmosquitto.so.${SOVERSION} ${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquitto.so.${SOVERSION}
+ ln -sf libmosquitto.so.${SOVERSION} ${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquitto.so
+ $(INSTALL) -d ${DESTDIR}${prefix}/include/
+ $(INSTALL) mosquitto.h ${DESTDIR}${prefix}/include/mosquitto.h
+diff --git a/lib/cpp/Makefile b/lib/cpp/Makefile
+index 8b627d3..cdb2923 100644
+--- a/lib/cpp/Makefile
++++ b/lib/cpp/Makefile
+@@ -10,7 +10,7 @@ all : libmosquittopp.so.${SOVERSION}
+
+ install : all
+ $(INSTALL) -d ${DESTDIR}$(prefix)/lib${LIB_SUFFIX}/
+- $(INSTALL) -s --strip-program=${CROSS_COMPILE}${STRIP} libmosquittopp.so.${SOVERSION} ${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquittopp.so.${SOVERSION}
++ $(INSTALL) libmosquittopp.so.${SOVERSION} ${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquittopp.so.${SOVERSION}
+ ln -sf libmosquittopp.so.${SOVERSION} ${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquittopp.so
+ $(INSTALL) -d ${DESTDIR}${prefix}/include/
+ $(INSTALL) mosquittopp.h ${DESTDIR}${prefix}/include/mosquittopp.h
+diff --git a/src/Makefile b/src/Makefile
+index 2cfb7d4..9a97644 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -103,12 +103,12 @@ mosquitto_passwd.o : mosquitto_passwd.c
+
+ install : all
+ $(INSTALL) -d ${DESTDIR}$(prefix)/sbin
+- $(INSTALL) -s --strip-program=${CROSS_COMPILE}${STRIP} mosquitto ${DESTDIR}${prefix}/sbin/mosquitto
++ $(INSTALL) mosquitto ${DESTDIR}${prefix}/sbin/mosquitto
+ $(INSTALL) -d ${DESTDIR}$(prefix)/include
+ $(INSTALL) mosquitto_plugin.h ${DESTDIR}${prefix}/include/mosquitto_plugin.h
+ ifeq ($(WITH_TLS),yes)
+ $(INSTALL) -d ${DESTDIR}$(prefix)/bin
+- $(INSTALL) -s --strip-program=${CROSS_COMPILE}${STRIP} mosquitto_passwd ${DESTDIR}${prefix}/bin/mosquitto_passwd
++ $(INSTALL) mosquitto_passwd ${DESTDIR}${prefix}/bin/mosquitto_passwd
+ endif
+
+ uninstall :
+--
+2.7.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosquitto/files/mosquitto.init b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosquitto/files/mosquitto.init
new file mode 100644
index 000000000..d2a27b273
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosquitto/files/mosquitto.init
@@ -0,0 +1,89 @@
+#! /bin/sh
+
+# Based on the Debian initscript for mosquitto
+
+### BEGIN INIT INFO
+# Provides: mosquitto
+# Required-Start: $remote_fs $syslog
+# Required-Stop: $remote_fs $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: mosquitto MQTT v3.1 message broker
+# Description:
+# This is a message broker that supports version 3.1 of the MQ Telemetry
+# Transport (MQTT) protocol.
+#
+# MQTT provides a method of carrying out messaging using a publish/subscribe
+# model. It is lightweight, both in terms of bandwidth usage and ease of
+# implementation. This makes it particularly useful at the edge of the network
+# where a sensor or other simple device may be implemented using an arduino for
+# example.
+### END INIT INFO
+
+set -e
+
+PIDFILE=@LOCALSTATEDIR@/run/mosquitto.pid
+DAEMON=@SBINDIR@/mosquitto
+
+# start and stop the mosquitto MQTT message broker
+
+test -x ${DAEMON} || exit 0
+
+umask 022
+
+. @SYSCONFDIR@/init.d/functions
+
+export PATH="${PATH:+$PATH:}@SBINDIR@:@BASE_SBINDIR@"
+
+case "$1" in
+ start)
+ echo "Starting Mosquitto message broker" "mosquitto"
+ if start-stop-daemon --start --quiet --oknodo --background --make-pidfile --pidfile ${PIDFILE} --exec ${DAEMON} ; then
+ exit 0
+ else
+ exit 1
+ fi
+ ;;
+ stop)
+ echo "Stopping Mosquitto message broker" "mosquitto"
+ if start-stop-daemon --stop --quiet --oknodo --pidfile ${PIDFILE}; then
+ rm -f ${PIDFILE}
+ exit 0
+ else
+ exit 1
+ fi
+ ;;
+
+
+ reload|force-reload)
+ if [ -f ${PIDFILE} ] ; then
+ echo "Reloading configuration for mosquitto"
+ pid=`cat ${PIDFILE}`
+ kill -HUP $pid
+ else
+ echo "mosquitto does not seem to be running"
+ fi
+ ;;
+
+ restart)
+ echo "Restarting Mosquitto message broker" "mosquitto"
+ if start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile ${PIDFILE}; then
+ rm -f ${PIDFILE}
+ fi
+ if start-stop-daemon --start --quiet --oknodo --background --make-pidfile --pidfile ${PIDFILE} --exec ${DAEMON} -- -c @SYSCONFDIR@/mosquitto/mosquitto.conf ; then
+ exit 0
+ else
+ exit 1
+ fi
+ ;;
+
+ status)
+ status ${DAEMON} && exit 0 || exit $?
+ ;;
+
+ *)
+ echo "Usage: $0 {start|stop|reload|force-reload|restart|status}"
+ exit 1
+esac
+
+exit 0
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosquitto/files/mosquitto.service b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosquitto/files/mosquitto.service
new file mode 100644
index 000000000..25f68fae0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosquitto/files/mosquitto.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Mosquitto - lightweight server implementation of the MQTT and MQTT-SN protocols
+ConditionPathExists=/etc/mosquitto/mosquitto.conf
+After=network.target
+
+[Service]
+Type=simple
+ExecStartPre=/bin/rm -f /var/run/mosquitto.pid
+ExecStart=/usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
+ExecReload=/bin/kill -HUP $MAINPID
+PIDFile=/var/run/mosquitto.pid
+Restart=on-failure
+
+[Install]
+WantedBy=multi-user.target
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosquitto/mosquitto_1.4.14.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosquitto/mosquitto_1.4.14.bb
new file mode 100644
index 000000000..7554248e4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosquitto/mosquitto_1.4.14.bb
@@ -0,0 +1,80 @@
+SUMMARY = "Open source MQTT v3.1/3.1.1 implemention"
+DESCRIPTION = "Mosquitto is an open source (Eclipse licensed) message broker that implements the MQ Telemetry Transport protocol version 3.1 and 3.1.1. MQTT provides a lightweight method of carrying out messaging using a publish/subscribe model. "
+HOMEPAGE = "http://mosquitto.org/"
+SECTION = "console/network"
+LICENSE = "EPL-1.0 | EDL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=62ddc846179e908dc0c8efec4a42ef20 \
+ file://edl-v10;md5=c09f121939f063aeb5235972be8c722c \
+ file://epl-v10;md5=8d383c379e91d20ba18a52c3e7d3a979 \
+ file://notice.html;md5=a00d6f9ab542be7babc2d8b80d5d2a4c \
+"
+
+SRC_URI = "http://mosquitto.org/files/source/mosquitto-${PV}.tar.gz \
+ file://build.patch \
+ file://mosquitto.service \
+ file://mosquitto.init \
+"
+
+SRC_URI[md5sum] = "6b0966e93f118bc71ad7b61600a6c2d3"
+SRC_URI[sha256sum] = "156b1fa731d12baad4b8b22f7b6a8af50ba881fc711b81e9919ec103cf2942d1"
+
+inherit systemd update-rc.d useradd
+
+PACKAGECONFIG ??= "ssl uuid"
+
+PACKAGECONFIG[dns-srv] = ",,c-ares"
+PACKAGECONFIG[ssl] = ",,openssl"
+PACKAGECONFIG[uuid] = ",,util-linux"
+EXTRA_OEMAKE = "${@bb.utils.contains('PACKAGECONFIG', 'dns-srv', 'WITH_SRV=yes', 'WITH_SRV=no', d)} \
+ WITH_DOCS=no \
+ ${@bb.utils.contains('PACKAGECONFIG', 'ssl', 'WITH_TLS=yes WITH_TLS_PSK=yes', 'WITH_TLS=no WITH_TLS_PSK=no', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'uuid', 'WITH_UUID=yes', 'WITH_UUID=no', d)}"
+
+export LIB_SUFFIX="${@d.getVar('baselib', True).replace('lib', '')}"
+
+do_compile() {
+ oe_runmake PREFIX=${prefix}
+}
+
+do_install() {
+ oe_runmake install DESTDIR=${D}
+ install -d ${D}${libdir}
+ install -m 0644 lib/libmosquitto.a ${D}${libdir}/
+
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/mosquitto.service ${D}${systemd_unitdir}/system/
+
+ install -d ${D}${sysconfdir}/init.d/
+ install -m 0755 ${WORKDIR}/mosquitto.init ${D}${sysconfdir}/init.d/mosquitto
+ sed -i -e 's,@SBINDIR@,${sbindir},g' \
+ -e 's,@BASE_SBINDIR@,${base_sbindir},g' \
+ -e 's,@LOCALSTATEDIR@,${localstatedir},g' \
+ -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ ${D}${sysconfdir}/init.d/mosquitto
+}
+
+PACKAGES += "libmosquitto1 libmosquittopp1 ${PN}-clients"
+
+FILES_${PN} = "${sbindir}/mosquitto \
+ ${bindir}/mosquitto_passwd \
+ ${sysconfdir}/mosquitto \
+ ${sysconfdir}/init.d \
+ ${systemd_unitdir}/system/mosquitto.service \
+"
+
+FILES_libmosquitto1 = "${libdir}/libmosquitto.so.1"
+
+FILES_libmosquittopp1 = "${libdir}/libmosquittopp.so.1"
+
+FILES_${PN}-clients = "${bindir}/mosquitto_pub \
+ ${bindir}/mosquitto_sub \
+"
+
+SYSTEMD_SERVICE_${PN} = "mosquitto.service"
+
+INITSCRIPT_NAME = "mosquitto"
+INITSCRIPT_PARAMS = "defaults 30"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false \
+ --user-group mosquitto"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager_1.4.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager_1.4.4.bb
deleted file mode 100644
index 85098fe2c..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager_1.4.4.bb
+++ /dev/null
@@ -1,128 +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=8eb8e72bab097b9d11763002cb003697 \
-"
-
-DEPENDS = " \
- intltool-native \
- libnl \
- dbus \
- dbus-glib \
- dbus-glib-native \
- libgudev \
- util-linux \
- libndp \
- libnewt \
- polkit \
- jansson \
-"
-
-inherit gnomebase gettext systemd bluetooth bash-completion vala gobject-introspection
-
-SRC_URI = "${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \
- file://0001-don-t-try-to-run-sbin-dhclient-to-get-the-version-nu.patch \
- file://0002-Fix-nm-version-macro-includes.patch \
- file://0001-adjust-net-headers-for-musl-compatibility.patch \
- file://0002-socket-util.h-Include-linux-sockios.h-on-musl.patch \
- file://0003-Define-ETH_ALEN.patch \
- file://0004-Define-missing-features-to-cater-for-musl.patch \
- file://0005-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch \
- file://0001-check-for-strndupa-before-using-it.patch \
- "
-SRC_URI[md5sum] = "63f1e0d6d7e9099499d062c84c927a75"
-SRC_URI[sha256sum] = "829378f318cc008d138a23ca6a9191928ce75344e7e47a2f2c35f4ac82133309"
-
-S = "${WORKDIR}/NetworkManager-${PV}"
-
-EXTRA_OECONF = " \
- --disable-ifcfg-rh \
- --disable-ifnet \
- --disable-ifcfg-suse \
- --disable-more-warnings \
- --with-iptables=${sbindir}/iptables \
- --with-tests \
- --with-nmtui=yes \
-"
-
-do_compile_prepend() {
- export GIR_EXTRA_LIBS_PATH="${B}/libnm-util/.libs"
-}
-
-PACKAGECONFIG ??= "nss ifupdown netconfig dhclient dnsmasq \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', 'consolekit', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \
- ${@bb.utils.filter('DISTRO_FEATURES', 'wifi', d)} \
-"
-PACKAGECONFIG[systemd] = " \
- --with-systemdsystemunitdir=${systemd_unitdir}/system --with-session-tracking=systemd --enable-polkit, \
- --without-systemdsystemunitdir, \
- polkit \
-"
-PACKAGECONFIG[bluez5] = "--enable-bluez5-dun,--disable-bluez5-dun,bluez5"
-# consolekit is not picked by shlibs, so add it to RDEPENDS too
-PACKAGECONFIG[consolekit] = "--with-session-tracking=consolekit,,consolekit,consolekit"
-PACKAGECONFIG[concheck] = "--with-libsoup=yes,--with-libsoup=no,libsoup-2.4"
-PACKAGECONFIG[modemmanager] = "--with-modem-manager-1=yes,--with-modem-manager-1=no,modemmanager"
-PACKAGECONFIG[ppp] = "--enable-ppp,--disable-ppp,ppp,ppp"
-# Use full featured dhcp client instead of internal one
-PACKAGECONFIG[dhclient] = "--with-dhclient=${base_sbindir}/dhclient,,,dhcp-client"
-PACKAGECONFIG[dnsmasq] = "--with-dnsmasq=${bindir}/dnsmasq"
-PACKAGECONFIG[nss] = "--with-crypto=nss,,nss"
-PACKAGECONFIG[gnutls] = "--with-crypto=gnutls,,gnutls"
-PACKAGECONFIG[wifi] = "--enable-wifi=yes,--enable-wifi=no,wireless-tools,wpa-supplicant wireless-tools"
-PACKAGECONFIG[ifupdown] = "--enable-ifupdown,--disable-ifupdown"
-PACKAGECONFIG[netconfig] = "--with-netconfig=yes,--with-netconfig=no"
-PACKAGECONFIG[qt4-x11-free] = "--enable-qt,--disable-qt,qt4-x11-free"
-
-PACKAGES =+ "libnmutil libnmglib libnmglib-vpn \
- ${PN}-nmtui ${PN}-nmtui-doc \
- ${PN}-adsl \
-"
-
-FILES_libnmutil += "${libdir}/libnm-util.so.*"
-FILES_libnmglib += "${libdir}/libnm-glib.so.*"
-FILES_libnmglib-vpn += "${libdir}/libnm-glib-vpn.so.*"
-
-FILES_${PN}-adsl = "${libdir}/NetworkManager/libnm-device-plugin-adsl.so"
-
-FILES_${PN} += " \
- ${libexecdir} \
- ${libdir}/pppd/*/nm-pppd-plugin.so \
- ${libdir}/NetworkManager/*.so \
- ${datadir}/polkit-1 \
- ${datadir}/dbus-1 \
- ${base_libdir}/udev/* \
- ${systemd_unitdir}/system \
-"
-
-RRECOMMENDS_${PN} += "iptables \
- ${@bb.utils.filter('PACKAGECONFIG', 'dnsmasq', d)} \
-"
-RCONFLICTS_${PN} = "connman"
-
-FILES_${PN}-dev += " \
- ${datadir}/NetworkManager/gdb-cmd \
- ${libdir}/pppd/*/*.la \
- ${libdir}/NetworkManager/*.la \
-"
-
-FILES_${PN}-nmtui = " \
- ${bindir}/nmtui \
- ${bindir}/nmtui-edit \
- ${bindir}/nmtui-connect \
- ${bindir}/nmtui-hostname \
-"
-
-FILES_${PN}-nmtui-doc = " \
- ${mandir}/man1/nmtui* \
-"
-
-SYSTEMD_SERVICE_${PN} = "NetworkManager.service NetworkManager-dispatcher.service"
-
-do_install_append() {
- rm -rf ${D}/run ${D}${localstatedir}/run
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
index 053c80a84..2db48f341 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
@@ -21,6 +21,7 @@ inherit cmake pkgconfig
S = "${WORKDIR}/${BP}-Source"
EXTRA_OECONF = " -DCMAKE_SKIP_RPATH=ON "
+EXTRA_OECMAKE += "-DBUILD_DOCUMENTATION=OFF"
#--enable-apps --enable-syslog
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 0ede5e57b..f2a16dcf7 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=4d92cd373abda3937c2bc47fbc49d690 \
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302 \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
SUMMARY = "Set of Bluetooth related tools for inclusion in images"
@@ -15,13 +15,13 @@ inherit bluetooth
RDEPENDS_bluez4 = " \
obexftp \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'libasound-module-bluez', '', d)} \
"
RDEPENDS_bluez5 = " \
bluez5-noinst-tools \
bluez5-obex \
bluez5-testtools \
- libasound-module-bluez \
${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', \
'pulseaudio-module-bluetooth-discover \
pulseaudio-module-bluetooth-policy \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/files/makefile.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/files/makefile.patch
new file mode 100644
index 000000000..a31bfaa74
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/files/makefile.patch
@@ -0,0 +1,25 @@
+Disable building some things we don't need
+
+Upstream-Status: Inappropriate [config]
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+
+---
+ Makefile | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 33bd2d0..84262bd 100644
+--- a/Makefile
++++ b/Makefile
+@@ -115,7 +115,8 @@ LDFLAGS_AS = -shared -Wl,-soname,lib${MQTTLIB_AS}.so.${MAJOR_VERSION} -lpthread
+
+ all: build
+
+-build: | mkdir ${MQTTLIB_C_TARGET} ${MQTTLIB_CS_TARGET} ${MQTTLIB_A_TARGET} ${MQTTLIB_AS_TARGET} ${MQTTVERSION_TARGET} ${SYNC_SAMPLES} ${ASYNC_SAMPLES} ${SYNC_TESTS} ${SYNC_SSL_TESTS} ${ASYNC_TESTS} ${ASYNC_SSL_TESTS}
++build: | mkdir ${MQTTLIB_C_TARGET} ${MQTTLIB_CS_TARGET} ${MQTTLIB_A_TARGET} ${MQTTLIB_AS_TARGET}
++#${MQTTVERSION_TARGET} ${SYNC_SAMPLES} ${ASYNC_SAMPLES} ${SYNC_TESTS} ${SYNC_SSL_TESTS} ${ASYNC_TESTS} ${ASYNC_SSL_TESTS}
+
+ clean:
+ rm -rf ${blddir}/*
+--
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.2.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.2.0.bb
new file mode 100644
index 000000000..fec380ce6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.2.0.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Paho MQTT - C libraries for the MQTT and MQTT-SN protocols"
+DESCRIPTION = "Client implementation of open and standard messaging protocols for Machine-to-Machine (M2M) and Internet of Things (IoT)."
+HOMEPAGE = "http://www.eclipse.org/paho/"
+SECTION = "console/network"
+LICENSE = "EPL-1.0 | EDL-1.0"
+
+LIC_FILES_CHKSUM = " \
+ file://edl-v10;md5=3adfcc70f5aeb7a44f3f9b495aa1fbf3 \
+ file://epl-v10;md5=659c8e92a40b6df1d9e3dccf5ae45a08 \
+ file://notice.html;md5=a00d6f9ab542be7babc2d8b80d5d2a4c \
+ file://about.html;md5=dcde438d73cf42393da9d40fabc0c9bc \
+"
+
+SRC_URI = "git://github.com/eclipse/paho.mqtt.c;protocol=http"
+
+SRCREV = "e8d34da24ad807f5e698b327d67591fd4b4bfa7e"
+
+DEPENDS = "openssl"
+
+S = "${WORKDIR}/git"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_install() {
+ install -d ${D}${libdir}
+ oe_libinstall -C build/output -so libpaho-mqtt3a ${D}${libdir}
+ oe_libinstall -C build/output -so libpaho-mqtt3as ${D}${libdir}
+ oe_libinstall -C build/output -so libpaho-mqtt3c ${D}${libdir}
+ oe_libinstall -C build/output -so libpaho-mqtt3cs ${D}${libdir}
+ install -d ${D}${includedir}
+ install -m 644 src/MQTTAsync.h ${D}${includedir}
+ install -m 644 src/MQTTClient.h ${D}${includedir}
+ install -m 644 src/MQTTClientPersistence.h ${D}${includedir}
+}
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/phonet-utils/phonet-utils/0001-Include-limits.h-for-PATH_MAX.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/phonet-utils/phonet-utils/0001-Include-limits.h-for-PATH_MAX.patch
new file mode 100644
index 000000000..8bb7e5a18
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/phonet-utils/phonet-utils/0001-Include-limits.h-for-PATH_MAX.patch
@@ -0,0 +1,25 @@
+From f7ad9a4471cee2324f216a0d82ba8097ec746c56 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 15 Jul 2017 11:48:12 -0700
+Subject: [PATCH] Include limits.h for PATH_MAX
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/pnstat.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/pnstat.c b/src/pnstat.c
+index 661a5bc..76068e6 100644
+--- a/src/pnstat.c
++++ b/src/pnstat.c
+@@ -35,6 +35,7 @@
+ #include <dirent.h>
+ #include <unistd.h>
+ #include <netinet/tcp.h>
++#include <limits.h>
+
+ struct fd
+ {
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb
index 558996391..3c599950f 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb
@@ -2,7 +2,9 @@ SUMMARY = "This small package provides a few command line tools for Linux Phonet
HOMEPAGE = ""
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-SRC_URI = "git://gitorious.org/meego-cellular/phonet-utils.git;branch=master"
+SRC_URI = "git://gitorious.org/meego-cellular/phonet-utils.git;branch=master \
+ file://0001-Include-limits.h-for-PATH_MAX.patch \
+ "
PR = "r2"
S = "${WORKDIR}/git"
SRCREV = "4acfa720fd37d178a048fc2be17180137d4a70ea"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/rtorrent/rtorrent_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/rtorrent/rtorrent_git.bb
index af1c4d656..c731cf707 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/rtorrent/rtorrent_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/rtorrent/rtorrent_git.bb
@@ -14,6 +14,10 @@ PV = "0.9.6+git${SRCPV}"
S = "${WORKDIR}/git"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
+
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+
inherit autotools pkgconfig
do_configure_prepend() {
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_2.9.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_2.9.1.bb
deleted file mode 100644
index 288c586a5..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_2.9.1.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "A serial to network proxy"
-SECTION = "console/network"
-HOMEPAGE = "http://sourceforge.net/projects/ser2net/"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=bae3019b4c6dc4138c217864bd04331f"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/project/ser2net/ser2net/ser2net-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "80011ac0e60bbdcb65f1d7a86251e3f3"
-SRC_URI[sha256sum] = "fdee1e69903cf409bdc6f32403a566cbc6006aa9e2a4d6f8f12b90dfd5ca0d0e"
-
-inherit autotools pkgconfig
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_3.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_3.4.bb
new file mode 100644
index 000000000..708650fb9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_3.4.bb
@@ -0,0 +1,15 @@
+SUMMARY = "A serial to network proxy"
+SECTION = "console/network"
+HOMEPAGE = "http://sourceforge.net/projects/ser2net/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=bae3019b4c6dc4138c217864bd04331f"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/ser2net/ser2net/ser2net-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "562274d783534276a9feac913b7d8c4e"
+SRC_URI[sha256sum] = "d846066e27c3072565990745d030357aa0c278f96b7d1d4f59023347c1db8824"
+
+inherit autotools pkgconfig
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/soft66/files/fix-ar.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/soft66/files/fix-ar.patch
deleted file mode 100644
index bf1ffdfc6..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/soft66/files/fix-ar.patch
+++ /dev/null
@@ -1,13 +0,0 @@
----
- configure.ac | 1 +
- 1 file changed, 1 insertion(+)
-
---- git.orig/configure.ac
-+++ git/configure.ac
-@@ -7,5 +7,6 @@ AC_PROG_CC
- AC_CONFIG_HEADERS([config.h])
- AC_CONFIG_FILES([Makefile lib/Makefile tools/Makefile])
- PKG_CHECK_MODULES([FTDI], [libftdi >= 0.13])
- AC_OUTPUT
- AM_PROG_CC_C_O
-+AM_PROG_AR
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/soft66/soft66_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/soft66/soft66_git.bb
deleted file mode 100644
index 816f58350..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/soft66/soft66_git.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Library and tools for Soft66ADD and related SDR radio receivers"
-LICENSE = "GPLv3 & LGPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949 \
- file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02 "
-
-PNBLACKLIST[soft66] ?= "BROKEN: depends on broken libftdi - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-DEPENDS = "libftdi"
-
-PV = "0.1.3+gitr${SRCPV}"
-PR = "r1"
-
-SRCREV = "a1dab25e73896c90c98227ac8055f227b830d512"
-SRC_URI = "git://home.horsten.com/soft66 \
-file://fix-ar.patch"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/libtelepathy/doublefix.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/libtelepathy/doublefix.patch
deleted file mode 100644
index a7737fbf0..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/libtelepathy/doublefix.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Fix double reference to this file to work with recent autoconf+automake
-
-RP 1/2/10
-
-Upstream-Status: Inappropriate [configuration]
-
-Index: libtelepathy-0.3.3/src/Makefile.am
-===================================================================
---- libtelepathy-0.3.3.orig/src/Makefile.am 2010-02-01 13:13:50.869038984 +0000
-+++ libtelepathy-0.3.3/src/Makefile.am 2010-02-01 13:14:23.267789456 +0000
-@@ -27,7 +27,6 @@
- tp-chan-type-text-gen.h \
- tp-chan-type-tubes-gen.h \
- tp-conn-iface-aliasing-gen.h \
-- tp-conn-iface-avatars-gen.h \
- tp-conn-iface-capabilities-gen.h \
- tp-conn-iface-contact-info-gen.h \
- tp-conn-iface-forwarding-gen.h \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/libtelepathy/prefer_python_2.5.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/libtelepathy/prefer_python_2.5.patch
deleted file mode 100644
index 37679ab76..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/libtelepathy/prefer_python_2.5.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-Index: libtelepathy-0.3.1/configure.ac
-===================================================================
---- libtelepathy-0.3.1.orig/configure.ac 2007-11-22 19:05:56.000000000 +0000
-+++ libtelepathy-0.3.1/configure.ac 2008-01-04 12:07:28.000000000 +0000
-@@ -51,7 +51,7 @@
- AC_MSG_ERROR([xsltproc (from the libxslt source package) is required])
- fi
-
--AC_CHECK_PROGS([PYTHON], [python2.3 python2.4 python2.5 python])
-+AC_CHECK_PROGS([PYTHON], [python2.5 python2.4 python2.3 python])
- if test -z "$PYTHON"; then
- AC_MSG_ERROR([Python is required to compile this package])
- fi
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
deleted file mode 100644
index 783bd5d73..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/libtelepathy_0.3.3.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "Telepathy framework"
-DESCRIPTION = "Telepathy is a D-Bus framework for unifying real time \
-communication, including instant messaging, voice calls and video calls. It \
-abstracts differences between protocols to provide a unified interface for \
-applications."
-HOMEPAGE = "http://telepathy.freedesktop.org/wiki/"
-DEPENDS = "glib-2.0 dbus dbus-glib telepathy-glib libxslt-native"
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
- file://src/tp-conn.c;beginline=1;endline=19;md5=4c58069f77d601cc59200bce5396c7cb"
-PR = "r5"
-
-SRC_URI = "http://telepathy.freedesktop.org/releases/libtelepathy/libtelepathy-${PV}.tar.gz \
- file://prefer_python_2.5.patch \
- file://doublefix.patch \
-"
-
-SRC_URI[md5sum] = "490ca1a0c614d4466394b72d43bf7370"
-SRC_URI[sha256sum] = "e0d230be855125163579743418203c6f6be2f10f98c4f065735c1dc9ed115878"
-
-inherit autotools pkgconfig pythonnative
-
-FILES_${PN} += "${datadir}/telepathy \
- ${datadir}/dbus-1"
-
-PNBLACKLIST[libtelepathy] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130609/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control/tmc-Makefile-fix-race.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control/tmc-Makefile-fix-race.patch
deleted file mode 100644
index ece1da6bc..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control/tmc-Makefile-fix-race.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Sun, 22 Sep 2013 23:21:01 -0400
-Subject: [PATCH] src/Makefile.am: fix race issue for _gen/gtypes.h and _gen/gtypes-body.h
-
-There might be an error when parallel build:
-
-[snip]
-Traceback (most recent call last):
- File "/path/to/tools/glib-gtypes-generator.py", line 304, in <module>
- GTypesGenerator(dom, argv[1], argv[2])()
- File "/path/to/tools/glib-gtypes-generator.py", line 295, in __call__
- file_set_contents(self.output + '.h', ''.join(self.header))
- File "/path/to/tools/libtpcodegen.py", line 42, in file_set_contents
- os.rename(filename + '.tmp', filename)
-OSError: [Errno 2] No such file or directory
-[snip]
-
-This is a race issue, the _gen/gtypes.h and _gen/gtypes-body.h may
-write(remove/rename) _gen/gtypes.tmp at the same time, then there would
-be the error.
-
-There was a similar bug in telepathy-glib which was already fixed, we use the
-similar patch to fix it.
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- src/Makefile.am | 18 +++++++++++++++---
- 1 file changed, 15 insertions(+), 3 deletions(-)
-
-diff --git a/src/Makefile.am b/src/Makefile.am
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -288,7 +288,11 @@ _gen/interfaces-body.h: _gen/mcd.xml \
- $(tools_dir)/glib-interfaces-body-generator.xsl \
- $< > $@
-
--_gen/gtypes.h _gen/gtypes-body.h: _gen/mcd.xml \
-+# do nothing, output as a side-effect
-+_gen/gtypes.h: _gen/gtypes-body.h
-+ @:
-+
-+_gen/gtypes-body.h: _gen/mcd.xml \
- $(top_srcdir)/tools/glib-gtypes-generator.py
- $(AM_V_GEN)$(PYTHON) $(top_srcdir)/tools/glib-gtypes-generator.py \
- $< _gen/gtypes mc
-@@ -309,7 +313,11 @@ _gen/%.xml: %.xml $(wildcard $(top_srcdir)/xml/*.xml) Makefile.am
- $(AM_V_GEN)$(XSLTPROC) $(XSLTPROCFLAGS) --xinclude $(tools_dir)/identity.xsl \
- $< > $@
-
--_gen/cli-%-body.h _gen/cli-%.h: _gen/%.xml \
-+# do nothing, output as a side-effect
-+_gen/cli-%.h: _gen/cli-%-body.h
-+ @:
-+
-+_gen/cli-%-body.h: _gen/%.xml \
- $(tools_dir)/glib-client-gen.py Makefile.am
- $(AM_V_GEN)$(PYTHON) $(tools_dir)/glib-client-gen.py \
- --group=`echo $* | tr x- x_` \
-@@ -317,7 +325,11 @@ _gen/cli-%-body.h _gen/cli-%.h: _gen/%.xml \
- --tp-proxy-api=0.7.6 \
- $< Mc_Cli _gen/cli-$*
-
--_gen/svc-%.c _gen/svc-%.h: _gen/%.xml \
-+# do nothing, output as a side-effect
-+_gen/svc-%.h: _gen/svc-%.c
-+ @:
-+
-+_gen/svc-%.c: _gen/%.xml \
- $(tools_dir)/glib-ginterface-gen.py Makefile.am
- $(AM_V_GEN)$(PYTHON) $(tools_dir)/glib-ginterface-gen.py \
- --filename=_gen/svc-$* \
---
-1.7.10.4
-
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
deleted file mode 100644
index 6a4d5d006..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control_5.16.1.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-SUMMARY = "Central control for Telepathy IM connection managers"
-HOMEPAGE = "http://telepathy.freedesktop.org/wiki/Mission_Control/"
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499 \
- file://src/request.h;beginline=1;endline=21;md5=f80534d9af1c33291b3b79609f196eb2"
-SECTION = "libs"
-DEPENDS = "libtelepathy dbus-glib gconf libxslt-native"
-
-SRC_URI = "http://telepathy.freedesktop.org/releases/telepathy-mission-control/${BP}.tar.gz \
- file://tmc-Makefile-fix-race.patch \
- "
-SRC_URI[md5sum] = "421115a35b9e427807326877f86e7f43"
-SRC_URI[sha256sum] = "14ceb7d53535b43d44b8271ad11319d1d0fe6d193d154636b9e62b42799b9723"
-
-inherit autotools-brokensep pkgconfig pythonnative
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[upower] = "--enable-upower,--disable-upower,upower"
-
-# to select connman or nm you need to use "connectivity" and "connman" or "nm", default is to disable both
-PACKAGECONFIG[connectivity] = ",--with-connectivity=no"
-PACKAGECONFIG[connman] = "--with-connectivity=connman,,connman"
-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 \
-"
-
-FILES_${PN} += "${datadir}/dbus* ${datadir}/glib-2.0/schemas"
-
-FILES_libmissioncontrol = "${libdir}/libmissioncontrol.so.*"
-FILES_libmissioncontrol-config = "${libdir}/libmissioncontrol-config.so.*"
-FILES_libmissioncontrol-server = "${libdir}/libmissioncontrol-server.so.*"
-
-FILES_libmissioncontrol-dev = "${libdir}/libmissioncontrol.* \
- ${includedir}/libmissioncontrol/ \
- ${libdir}/pkgconfig/libmissioncontrol.pc"
-FILES_libmissioncontrol-config-dev = "${libdir}/libmissioncontrol-config.*"
-FILES_libmissioncontrol-server-dev = "${libdir}/libmissioncontrol-server.*"
-
-FILES_libmissioncontrol-dbg = "${libdir}/.debug/libmissioncontrol.so.*"
-FILES_libmissioncontrol-config-dbg = "${libdir}/.debug/libmissioncontrol-config.so.*"
-FILES_libmissioncontrol-server-dbg = "${libdir}/.debug/libmissioncontrol-server.so.*"
-
-PNBLACKLIST[telepathy-mission-control] ?= "Depends on blacklisted libtelepathy - the recipe will be removed on 2017-09-01 unless the issue is fixed"
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
index 9baeed169..aa9328371 100644
--- 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
@@ -41,11 +41,6 @@ EXTRA_OECMAKE = " \
-DWITH_QT5=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"
-
PACKAGECONFIG ??= "libevent glib python"
PACKAGECONFIG[libevent] = "-DWITH_LIBEVENT=ON,-DWITH_LIBEVENT=OFF,libevent,"
PACKAGECONFIG[python] = "-DWITH_PYTHON=ON,-DWITH_PYTHON=OFF,python,"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/umip_1.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/umip_1.0.bb
index cbf306144..2129e379c 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/umip_1.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/umip_1.0.bb
@@ -9,13 +9,13 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=073dc31ccb2ebed70db54f1e8aeb4c33"
DEPENDS = "rpm indent-native"
-SRC_URI = "git://git.umip.org/umip.git \
+SRC_URI = "git://github.com/jlanza/umip \
file://add-dependency-to-support-parallel-compilation.patch \
file://mip6d \
file://mip6d.service \
file://0001-Add-format-string-to-fprintf-call.patch \
"
-SRCREV = "428974c2d0d8e75a2750a3ab0488708c5dfdd8e3"
+SRCREV = "7d67209cd1bba2dd0e183a0fa07eeef07964dd14"
S = "${WORKDIR}/git"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_3.0.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_3.0.8.bb
deleted file mode 100644
index 7e7d6def4..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_3.0.8.bb
+++ /dev/null
@@ -1,75 +0,0 @@
-SUMMARY = "Open-source monitoring solution for your IT infrastructure"
-DESCRIPTION = "\
-ZABBIX is software that monitors numerous parameters of a network and the \
-health and integrity of servers. ZABBIX uses a flexible notification \
-mechanism that allows users to configure e-mail based alerts for virtually \
-any event. This allows a fast reaction to server problems. ZABBIX offers \
-excellent reporting and data visualisation features based on the stored \
-data. This makes ZABBIX ideal for capacity planning. \
-\
-ZABBIX supports both polling and trapping. All ZABBIX reports and \
-statistics, as well as configuration parameters are accessed through a \
-web-based front end. A web-based front end ensures that the status of \
-your network and the health of your servers can be assessed from any \
-location. Properly configured, ZABBIX can play an important role in \
-monitoring IT infrastructure. This is equally true for small \
-organisations with a few servers and for large companies with a \
-multitude of servers."
-HOMEPAGE = "http://www.zabbix.com/"
-SECTION = "Applications/Internet"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=300e938ad303147fede2294ed78fe02e"
-DEPENDS = "openldap virtual/libiconv"
-
-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 \
-"
-
-SRC_URI[md5sum] = "f7f41850397d2078ccae4b7389f9a005"
-SRC_URI[sha256sum] = "1df3e106427ed21547b8119049a161092f597d04507f9eb535951a9ee887a476"
-
-inherit autotools-brokensep linux-kernel-base pkgconfig systemd useradd
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "zabbix-agent.service"
-SYSTEMD_AUTO_ENABLE = "enable"
-
-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 \
-"
-
-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"
-
-do_configure_prepend() {
- export KERNEL_VERSION="${KERNEL_VERSION}"
-}
-
-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/
- sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/zabbix-agent.service
- fi
-}
-
-FILES_${PN} += "${libdir}"
-
-RDEPENDS_${PN} = "logrotate"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_3.0.9.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_3.0.9.bb
new file mode 100644
index 000000000..bab5a6ae6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_3.0.9.bb
@@ -0,0 +1,75 @@
+SUMMARY = "Open-source monitoring solution for your IT infrastructure"
+DESCRIPTION = "\
+ZABBIX is software that monitors numerous parameters of a network and the \
+health and integrity of servers. ZABBIX uses a flexible notification \
+mechanism that allows users to configure e-mail based alerts for virtually \
+any event. This allows a fast reaction to server problems. ZABBIX offers \
+excellent reporting and data visualisation features based on the stored \
+data. This makes ZABBIX ideal for capacity planning. \
+\
+ZABBIX supports both polling and trapping. All ZABBIX reports and \
+statistics, as well as configuration parameters are accessed through a \
+web-based front end. A web-based front end ensures that the status of \
+your network and the health of your servers can be assessed from any \
+location. Properly configured, ZABBIX can play an important role in \
+monitoring IT infrastructure. This is equally true for small \
+organisations with a few servers and for large companies with a \
+multitude of servers."
+HOMEPAGE = "http://www.zabbix.com/"
+SECTION = "Applications/Internet"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=300e938ad303147fede2294ed78fe02e"
+DEPENDS = "openldap virtual/libiconv"
+
+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 \
+"
+
+SRC_URI[md5sum] = "489d21b464277c0d412155c7e5611a8f"
+SRC_URI[sha256sum] = "4445f26c025009681c29c9b350aa6c4ee7b124ddcaf1609ae36c55997bcb8cf2"
+
+inherit autotools-brokensep linux-kernel-base pkgconfig systemd useradd
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "zabbix-agent.service"
+SYSTEMD_AUTO_ENABLE = "enable"
+
+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 \
+"
+
+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"
+
+do_configure_prepend() {
+ export KERNEL_VERSION="${KERNEL_VERSION}"
+}
+
+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/
+ sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/zabbix-agent.service
+ fi
+}
+
+FILES_${PN} += "${libdir}"
+
+RDEPENDS_${PN} = "logrotate"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice-3.5.1/0002-Modify-Makefile-for-cross-compile.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice-3.5.1/0002-Modify-Makefile-for-cross-compile.patch
deleted file mode 100644
index 43096d2bc..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice-3.5.1/0002-Modify-Makefile-for-cross-compile.patch
+++ /dev/null
@@ -1,292 +0,0 @@
-Upstream-Status: Inappropriate
-
-This patch lets you build Ice with OpenEmbedded. I doubt you could do
-a regular build after applying this patch.
-
-From bc622ce74fa03a935278d21736a5a251466e1798 Mon Sep 17 00:00:00 2001
-From: Tom Rondeau <tom@trondeau.com>
-Date: Wed, 16 Apr 2014 14:34:51 -0400
-Subject: [PATCH] Modify Makefiles for cross compile
-
----
- config/Make.common.rules | 20 +++++++------
- cpp/Makefile | 9 +++---
- cpp/config/Make.rules | 32 ++++++++++++--------
- cpp/config/Make.rules.Linux | 18 ++---------
- cpp/src/IceStorm/FreezeDB/Makefile | 2 +-
- py/config/Make.rules | 58 +++++++++++++++++++-----------------
- 6 files changed, 70 insertions(+), 69 deletions(-)
-
-diff --git a/config/Make.common.rules b/config/Make.common.rules
-index d7b1d59..a3fb17e 100644
---- a/config/Make.common.rules
-+++ b/config/Make.common.rules
-@@ -65,9 +65,9 @@ ifeq ($(UNAME),Linux)
- #
- # Some Linux distributions like Debian/Ubuntu don't use /usr/lib64.
- #
-- ifeq ($(shell test -d /usr/lib64 && echo 0),0)
-- lp64suffix = 64
-- endif
-+ #ifeq ($(shell test -d /usr/lib64 && echo 0),0)
-+ # lp64suffix = 64
-+ #endif
- ifeq ($(LP64),)
- LP64 = yes
- endif
-@@ -244,12 +244,13 @@ else
- slicedir = $(ice_dir)/slice
- endif
-
--ifeq ($(prefix), /usr)
-- install_slicedir = /usr/share/Ice-$(VERSION)/slice
--else
-- install_slicedir = $(prefix)/slice
--endif
-+#ifeq ($(prefix), /usr)
-+# install_slicedir = /usr/share/Ice-$(VERSION)/slice
-+#else
-+# install_slicedir = $(prefix)/slice
-+#endif
-
-+install_slicedir = $(prefix)/slice
- #
- # Set environment variables for the Slice translator.
- #
-@@ -265,7 +266,8 @@ ifneq ($(ice_dir), /usr)
- endif
-
- ifeq ($(UNAME),Linux)
-- export LD_LIBRARY_PATH := $(ice_lib_dir):$(LD_LIBRARY_PATH)
-+ #export LD_LIBRARY_PATH := $(ice_lib_dir):$(LD_LIBRARY_PATH)
-+ export LD_LIBRARY_PATH := $(ICE_HOME)/lib:$(LD_LIBRARY_PATH)
- endif
-
- ifeq ($(UNAME),SunOS)
-diff --git a/cpp/Makefile b/cpp/Makefile
-index a68f113..1f44f57 100644
---- a/cpp/Makefile
-+++ b/cpp/Makefile
-@@ -11,11 +11,12 @@ top_srcdir = .
-
- include $(top_srcdir)/config/Make.rules
-
--SUBDIRS = config src include test
-+#SUBDIRS = config src include test
-+SUBDIRS = config src include
-
--ifeq ($(shell uname | grep MINGW),)
--SUBDIRS := $(SUBDIRS) demo
--endif
-+#ifeq ($(shell uname | grep MINGW),)
-+#SUBDIRS := $(SUBDIRS) demo
-+#endif
-
- INSTALL_SUBDIRS = $(install_bindir) $(install_libdir) $(install_includedir) \
- $(install_configdir) $(install_mandir)
-diff --git a/cpp/config/Make.rules b/cpp/config/Make.rules
-index 37461ae..197c5e8 100644
---- a/cpp/config/Make.rules
-+++ b/cpp/config/Make.rules
-@@ -175,11 +175,12 @@ headerdir = $(top_srcdir)/include
- # includedir is not handled the same as bindir and libdir
- # because it is used in the .depend files
- #
--ifdef ice_src_dist
-- includedir = $(top_srcdir)/include
--else
-- includedir = $(ice_dir)/include
--endif
-+#ifdef ice_src_dist
-+# includedir = $(top_srcdir)/include
-+#else
-+# includedir = $(ice_dir)/include
-+#endif
-+includedir = $(top_srcdir)/include
-
- #
- # Platform specific definitions
-@@ -277,14 +278,17 @@ ICECPPFLAGS = -I$(slicedir)
- SLICE2CPPFLAGS = $(ICECPPFLAGS)
-
- ifeq ($(ice_dir), /usr)
-- LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS)
-+ LDFLAGS += $(LDPLATFORMFLAGS) $(CXXFLAGS)
- else
- CPPFLAGS += -I$(includedir)
-- ifdef ice_src_dist
-- LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir)
-- else
-- LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(ice_dir)/$(libsubdir)$(cpp11suffix)
-- endif
-+# We must always build using the libraries in the source tree, the host's are obviously
-+# not what we want for the target
-+ LDFLAGS += $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir) $(call rpathlink,$(libdir))
-+# ifdef ice_src_dist
-+# LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir)
-+# else
-+# LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(ice_dir)/$(libsubdir)$(cpp11suffix)
-+# endif
- endif
-
- ifeq ($(FLEX_NOLINE),yes)
-@@ -313,8 +317,10 @@ endif
-
- ifdef ice_src_dist
- SLICEPARSERLIB = $(libdir)/$(call mklibfilename,Slice,$(VERSION))
-- SLICE2CPP = $(bindir)/slice2cpp
-- SLICE2FREEZE = $(bindir)/slice2freeze
-+# SLICE2CPP = $(bindir)/slice2cpp
-+# SLICE2FREEZE = $(bindir)/slice2freeze
-+ SLICE2CPP = $(ICE_HOME)/bin/slice2cpp
-+ SLICE2FREEZE = $(ICE_HOME)/bin/slice2freeze
- else
- SLICEPARSERLIB = $(ice_dir)/$(libsubdir)$(cpp11suffix)/$(call mklibfilename,Slice,$(VERSION))
- SLICE2CPP = $(ice_dir)/$(binsubdir)$(cpp11suffix)/slice2cpp
-diff --git a/cpp/config/Make.rules.Linux b/cpp/config/Make.rules.Linux
-index 5d5717c..8363c6e 100644
---- a/cpp/config/Make.rules.Linux
-+++ b/cpp/config/Make.rules.Linux
-@@ -31,7 +31,7 @@ ifeq ($(CXX),c++)
- CXX = g++
- endif
-
--ifeq ($(CXX),g++)
-+#ifeq ($(CXX),g++)
-
- ifneq ($(SUSE_i586),)
- CXXARCHFLAGS += -march=i586
-@@ -71,14 +71,6 @@ ifeq ($(CXX),g++)
- CXXARCHFLAGS += -mtune=v8 -pipe -Wno-deprecated -DICE_USE_MUTEX_SHARED
- endif
-
-- ifeq ($(MACHINE),x86_64)
-- ifeq ($(LP64),yes)
-- CXXARCHFLAGS += -m64
-- else
-- CXXARCHFLAGS += -m32
-- endif
-- endif
--
- CXXFLAGS = $(CXXARCHFLAGS) -Wall -Werror -pthread
-
- ifneq ($(GENPIC),no)
-@@ -102,15 +94,11 @@ ifeq ($(CXX),g++)
-
- rpathlink = -Wl,-rpath-link,$(1)
-
-- ifneq ($(embedded_runpath_prefix),)
-- LDPLATFORMFLAGS = -Wl,--enable-new-dtags -Wl,-rpath,$(runpath_libdir)
-- else
-- LDPLATFORMFLAGS = -Wl,--enable-new-dtags
-- endif
-+ LDPLATFORMFLAGS = -Wl,--enable-new-dtags -Wl,-rpath,../../../lib
-
- LDPLATFORMFLAGS += -rdynamic
-
--endif
-+#endif
-
- ifeq ($(CXX),icpc)
- $(warning ===================================================================)
-diff --git a/cpp/src/IceStorm/FreezeDB/Makefile b/cpp/src/IceStorm/FreezeDB/Makefile
-index 7c844b7..cf15cb1 100644
---- a/cpp/src/IceStorm/FreezeDB/Makefile
-+++ b/cpp/src/IceStorm/FreezeDB/Makefile
-@@ -66,7 +66,7 @@ $(libdir)/$(LIBNAME): $(libdir)/$(SONAME)
-
- $(MIGRATE): $(MOBJS)
- rm -f $@
-- $(CXX) $(LDFLAGS) -o $@ $(MOBJS) $(DB_RPATH_LINK) -lIceStormService -lIceStorm -lFreeze $(LIBS)
-+ $(CXX) $(LDFLAGS) -o $@ $(MOBJS) $(DB_RPATH_LINK) -lIceStormService -lIceStorm -lFreeze $(LIBS) -ldb_cxx
-
- # The slice2freeze rules are structured like this to avoid issues with
- # parallel make.
-diff --git a/py/config/Make.rules b/py/config/Make.rules
-index 43ce01b..1349342 100644
---- a/py/config/Make.rules
-+++ b/py/config/Make.rules
-@@ -92,21 +92,23 @@ ifeq ($(shell test -f $(top_srcdir)/config/Make.rules.$(UNAME) && echo 0),0)
- include $(top_srcdir)/config/Make.rules.$(UNAME)
- else
- include $(top_srcdir)/../cpp/config/Make.rules.$(UNAME)
--endif
-+endif
-
- libdir = $(top_srcdir)/python
--ifneq ($(prefix), /usr)
--install_pythondir = $(prefix)/python
--install_libdir = $(prefix)/python
--else
-- ifeq ($(shell test -d $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages && echo 0),0)
-- install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages
-- install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages
-- else
-- install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages
-- install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages
-- endif
--endif
-+#ifneq ($(prefix), /usr)
-+#install_pythondir = $(prefix)/python
-+#install_libdir = $(prefix)/python
-+#else
-+# ifeq ($(shell test -d $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages && echo 0),0)
-+# install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages
-+# install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages
-+# else
-+# install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages
-+# install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages
-+# endif
-+#endif
-+install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages
-+install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages
-
- ifeq ($(UNAME),SunOS)
- ifeq ($(LP64),yes)
-@@ -115,19 +117,21 @@ ifeq ($(UNAME),SunOS)
- endif
- endif
-
--ifdef ice_src_dist
-- ifeq ($(ice_cpp_dir), $(ice_dir)/cpp)
-- ICE_LIB_DIR = -L$(ice_cpp_dir)/lib
-- else
-- ICE_LIB_DIR = -L$(ice_cpp_dir)/$(libsubdir)
-- endif
-- ICE_LIB_DIR = -L$(ice_cpp_dir)/lib
-- ICE_FLAGS = -I$(ice_cpp_dir)/include
--endif
--ifdef ice_bin_dist
-- ICE_LIB_DIR = -L$(ice_dir)/$(libsubdir)
-- ICE_FLAGS = -I$(ice_dir)/include
--endif
-+#ifdef ice_src_dist
-+# ifeq ($(ice_cpp_dir), $(ice_dir)/cpp)
-+# ICE_LIB_DIR = -L$(ice_cpp_dir)/lib
-+# else
-+# ICE_LIB_DIR = -L$(ice_cpp_dir)/$(libsubdir)
-+# endif
-+# ICE_LIB_DIR = -L$(ice_cpp_dir)/lib
-+# ICE_FLAGS = -I$(ice_cpp_dir)/include
-+#endif
-+#ifdef ice_bin_dist
-+# ICE_LIB_DIR = -L$(ice_dir)/$(libsubdir)
-+# ICE_FLAGS = -I$(ice_dir)/include
-+#endif
-+ICE_LIB_DIR = -L$(top_srcdir)/../cpp/lib
-+ICE_FLAGS = -I$(ice_cpp_dir)/include
- ICE_LIBS = $(ICE_LIB_DIR) -lIce -lSlice -lIceUtil
-
- ifneq ($(embedded_runpath_prefix),)
-@@ -137,7 +141,7 @@ endif
- CPPFLAGS =
- ICECPPFLAGS = -I$(slicedir)
- SLICE2PYFLAGS = $(ICECPPFLAGS)
--LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir)
-+LDFLAGS += $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir)
-
- ifdef ice_src_dist
- ifeq ($(ice_cpp_dir), $(ice_dir)/cpp)
---
-1.7.9.5
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice_3.5.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice_3.5.1.bb
deleted file mode 100644
index 7c833b0eb..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice_3.5.1.bb
+++ /dev/null
@@ -1,87 +0,0 @@
-DESCRIPTION = "The Internet Communications Engine"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://ICE_LICENSE;md5=3dc3037023cc2ae6b2c5b995da529515"
-DEPENDS = "bzip2 expat openssl python db mcpp"
-DEPENDS_prepend_class-target = "zeroc-ice-native "
-
-SRC_URI = "http://www.zeroc.com/download/Ice/3.5/Ice-${PV}.tar.gz \
- file://0002-Modify-Makefile-for-cross-compile.patch \
- "
-SRC_URI[md5sum] = "f00c59983cc904bca977133c0a9b3e80"
-SRC_URI[sha256sum] = "989e51194c6adadbd156da3288e37bad847b93b3b876502e83033b70493af392"
-
-#| MapDb.cpp: In constructor 'Freeze::MapDb::MapDb(const ConnectionIPtr&, const string&, const string&, const string&, const KeyCompareBasePtr&, const std::vector<IceUtil::Handle<Freeze::MapIndexBase> >&, bool)':
-#| MapDb.cpp:138:46: error: call of overloaded 'set_bt_compare(int (*)(DB*, const DBT*, const DBT*))' is ambiguous
-#| MapDb.cpp:138:46: note: candidates are:
-#| /home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/db_cxx.h:272:14: note: virtual int Db::set_bt_compare(bt_compare_fcn_type) <near match>
-#| /home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/db_cxx.h:272:14: note: no known conversion for argument 1 from 'int (*)(DB*, const DBT*, const DBT*) {aka int (*)(__db*, const __db_dbt*, const __db_dbt*)}' to 'bt_compare_fcn_type {aka int (*)(__db*, const __db_dbt*, const __db_dbt*, long unsigned int*)}'
-#| /home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/db_cxx.h:273:14: note: virtual int Db::set_bt_compare(int (*)(Db*, const Dbt*, const Dbt*, size_t*)) <near match>
-#| /home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/db_cxx.h:273:14: note: no known conversion for argument 1 from 'int (*)(DB*, const DBT*, const DBT*) {aka int (*)(__db*, const __db_dbt*, const __db_dbt*)}' to 'int (*)(Db*, const Dbt*, const Dbt*, size_t*) {aka int (*)(Db*, const Dbt*, const Dbt*, long unsigned int*)}'
-#| make[3]: *** [MapDb.o] Error 1
-PNBLACKLIST[zeroc-ice] ?= "BROKEN: not compatible with default db version - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-S = "${WORKDIR}/Ice-${PV}"
-
-inherit python-dir pkgconfig
-
-export PYTHON_VERSION = "python2.7"
-
-do_configure() {
- :
-}
-
-do_compile_prepend_class-target () {
- export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}"
- export PYTHON_LIB_DIR="${STAGING_LIBDIR}/${PYTHON_DIR}"
- export ICE_HOME="${STAGING_DIR_NATIVE}/usr"
-}
-
-do_compile_prepend_class-nativesdk () {
- export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}"
- export PYTHON_LIB_DIR="${STAGING_LIBDIR}/${PYTHON_DIR}"
- export ICE_HOME="${STAGING_DIR_NATIVE}/usr"
-}
-
-do_compile_prepend_class-native () {
- export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}"
- export PYTHON_LIB_DIR="${STAGING_LIBDIR}/${PYTHON_DIR}"
- export ICE_HOME="${S}/cpp"
-}
-
-do_compile() {
- oe_runmake -C ${S} cpp
- oe_runmake -C ${S} py
-}
-
-do_install_prepend_class-target () {
- export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}"
- export PYTHON_LIB_DIR="${STAGING_LIBDIR}/${PYTHON_DIR}"
- export ICE_HOME="${STAGING_DIR_NATIVE}/usr"
-}
-
-do_install_prepend_class-nativesdk () {
- export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}"
- export PYTHON_LIB_DIR="${STAGING_LIBDIR}/${PYTHON_DIR}"
- export ICE_HOME="${STAGING_DIR_NATIVE}/usr"
-}
-
-do_install_prepend_class-native () {
- export ICE_HOME="${S}/cpp"
-}
-
-do_install() {
- oe_runmake -C ${S}/cpp prefix=${D}${prefix} install install-common
- oe_runmake -C ${S}/py prefix=${D}${prefix} install
-}
-
-PACKAGES += "${PN}-python ${PN}-python-dev ${PN}-python-dbg"
-
-FILES_${PN}-doc += "${prefix}/man/man1"
-FILES_${PN} += "${prefix}/*LICENSE ${libdir}/ImportKey.class ${prefix}/RELEASE_NOTES ${prefix}/CHANGES"
-FILES_${PN}-dev += "${includedir} ${prefix}/slice ${prefix}/config"
-FILES_${PN}-python-dev = "${PYTHON_SITEPACKAGES_DIR}/IcePy.so"
-FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*.py ${PYTHON_SITEPACKAGES_DIR}/IcePy.so.* ${PYTHON_SITEPACKAGES_DIR}/Ice*/*.py"
-FILES_${PN}-python-dbg = "${PYTHON_SITEPACKAGES_DIR}/.debug"
-FILES_${PN}-dev += "${bindir}/slice* ${datadir}/Ice-${PV}/slice/*"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/dbus-daemon-proxy/0001-dbus-daemon-proxy-Return-DBUS_HANDLER_RESULT_NOT_YET.patch b/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/dbus-daemon-proxy/0001-dbus-daemon-proxy-Return-DBUS_HANDLER_RESULT_NOT_YET.patch
new file mode 100644
index 000000000..2c4ca057f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/dbus-daemon-proxy/0001-dbus-daemon-proxy-Return-DBUS_HANDLER_RESULT_NOT_YET.patch
@@ -0,0 +1,30 @@
+From 8e6d1f590b1cb437dc67c51298ef1722a7266d35 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 25 Jul 2017 18:37:58 -0700
+Subject: [PATCH] dbus-daemon-proxy: Return DBUS_HANDLER_RESULT_NOT_YET_HANDLED
+ from master_filter_cb() if DBusConnection is null
+
+So it can be passed on to other handlers since this could
+not be handled here
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ dbus-daemon-proxy.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dbus-daemon-proxy.c b/dbus-daemon-proxy.c
+index 009e4fd..f3f0d80 100644
+--- a/dbus-daemon-proxy.c
++++ b/dbus-daemon-proxy.c
+@@ -115,7 +115,7 @@ master_filter_cb (DBusConnection *conn,
+ guint32 serial;
+
+ if (!dbus_conn)
+- return;
++ DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+
+ if (verbose)
+ g_print ("New message from server: type='%d' path='%s' iface='%s'"
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/dbus-daemon-proxy_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/dbus-daemon-proxy_git.bb
index a953ebc28..42cd032c2 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/dbus-daemon-proxy_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/dbus-daemon-proxy_git.bb
@@ -4,21 +4,20 @@ LIC_FILES_CHKSUM = "file://dbus-daemon-proxy.c;endline=19;md5=41df6d21fe1c97d6a1
DEPENDS = "dbus dbus-glib"
SRCREV = "1226a0a1374628ff191f6d8a56000be5e53e7608"
PV = "0.0.0+gitr${SRCPV}"
-PR = "r1"
+PR = "r1.59"
-ASNEEDED_pn-dbus-daemon-proxy = ""
-
-SRC_URI = "git://git.collabora.co.uk/git/user/alban/dbus-daemon-proxy"
+SRC_URI = "git://github.com/alban/dbus-daemon-proxy \
+ file://0001-dbus-daemon-proxy-Return-DBUS_HANDLER_RESULT_NOT_YET.patch \
+ "
S = "${WORKDIR}/git"
+inherit pkgconfig
+
do_compile() {
- ${CC} ${LDFLAGS} `pkg-config --cflags --libs dbus-glib-1` -o dbus-daemon-proxy dbus-daemon-proxy.c
+ ${CC} ${CFLAGS} -o dbus-daemon-proxy dbus-daemon-proxy.c `pkg-config --cflags --libs dbus-glib-1` ${LDFLAGS}
}
do_install() {
install -d ${D}${bindir}
install -m 0755 dbus-daemon-proxy ${D}${bindir}
}
-
-
-PNBLACKLIST[dbus-daemon-proxy] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130613/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/ell/ell_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/ell/ell_git.bb
new file mode 100644
index 000000000..10df6e11d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/ell/ell_git.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Embedded Linux Library"
+DESCRIPTION = "ELL is a DBUS library which provides DBUS bindings."
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09"
+SECTION = "libs"
+
+inherit autotools pkgconfig
+
+S = "${WORKDIR}/git"
+SRCREV = "7b7c15c2e5caff88fc45e7a8b874a47196a0eddd"
+SRC_URI = "git://git.kernel.org/pub/scm/libs/ell/ell.git"
+
+do_configure_prepend () {
+ mkdir ${S}/build-aux
+}
+
+DEPENDS = "dbus"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/fakeroot/fakeroot-native_1.18.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/fakeroot/fakeroot-native_1.18.4.bb
deleted file mode 100644
index 9d50ea44a..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/fakeroot/fakeroot-native_1.18.4.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require fakeroot_${PV}.bb
-
-S = "${WORKDIR}/fakeroot-${PV}"
-
-inherit native
-
-EXTRA_OECONF = "--program-prefix="
-
-# Compatability for the rare systems not using or having SYSV
-python () {
- if d.getVar('HOST_NONSYSV') and d.getVar('HOST_NONSYSV') != '0':
- d.setVar('EXTRA_OECONF', ' --with-ipc=tcp --program-prefix= ')
-}
-
-RDEPENDS_${PN} = "util-linux-native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/fakeroot/fakeroot_1.18.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/fakeroot/fakeroot_1.18.4.bb
deleted file mode 100644
index 0a787e3ea..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/fakeroot/fakeroot_1.18.4.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "Gives a fake root environment"
-HOMEPAGE = "http://fakeroot.alioth.debian.org"
-SECTION = "base"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
-
-SRC_URI = "\
- ${DEBIAN_MIRROR}/main/f/fakeroot/fakeroot_${PV}.orig.tar.bz2 \
-"
-
-inherit autotools
-
-do_configure_prepend() {
- mkdir -p ${S}/build-aux
-}
-
-do_install_append() {
- install -d ${D}${includedir}/fakeroot
- install -m 644 *.h ${D}${includedir}/fakeroot
-}
-
-# fakeroot needs getopt which is provided by the util-linux package
-RDEPENDS_${PN} = "util-linux"
-
-
-SRC_URI[md5sum] = "706171d8d520b1ca1576ac73f2ceb4f3"
-SRC_URI[sha256sum] = "0a359efa3e9496c33234b3e9c89306a09bb4da9d33de43c261f1d8447e6ebea2"
-
-# http://errors.yoctoproject.org/Errors/Details/35143/
-PNBLACKLIST[fakeroot] ?= "BROKEN: QA Issue: -dev package contains non-symlink .so - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.50.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.50.1.bb
index 401b3b2ec..9cc558fc6 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.50.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.50.1.bb
@@ -23,6 +23,10 @@ do_install_append() {
install -m 0644 glib/glibmmconfig.h ${D}${datadir}/glibmm-2.4/
install -m 0644 scripts/glibmm_check_perl.m4 ${D}${datadir}/aclocal/ || true
+
+ for i in generate_wrap_init.pl gmmproc; do
+ sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/glibmm-2.4/proc/$i
+ done
}
FILES_${PN} = "${libdir}/lib*.so.*"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/llvm/llvm-common.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/llvm/llvm-common.bb
deleted file mode 100644
index 618cc1e9d..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/llvm/llvm-common.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Helper script for OE's llvm support"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \
- file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420 \
-"
-
-SRC_URI = "file://llvm-config"
-
-ALLOW_EMPTY_${PN} = "1"
-SYSROOT_PREPROCESS_FUNCS_append_class-target = " llvm_common_sysroot_preprocess"
-
-llvm_common_sysroot_preprocess() {
- install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/
- install -m 0755 ${WORKDIR}/llvm-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/
-}
-
-do_install_class-native() {
- install -d ${D}${bindir}
- install -m 0755 ${WORKDIR}/llvm-config ${D}${bindir}
-}
-
-BBCLASSEXTEND = "native"
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
deleted file mode 100644
index b0f33c8d6..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/llvm/llvm-common/llvm-config
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-# Wrapper script for real llvm-config. Simply calls
-
-if [ $WANT_LLVM_RELEASE ]; then
- exec `dirname $0`/${TARGET_PREFIX}llvm-config$WANT_LLVM_RELEASE ${@}
-else
- 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/llvm/llvm.inc b/import-layers/meta-openembedded/meta-oe/recipes-core/llvm/llvm.inc
deleted file mode 100644
index f27261fa9..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/llvm/llvm.inc
+++ /dev/null
@@ -1,162 +0,0 @@
-# LLVM does not provide ABI stability between different versions. For this
-# reason OE makes it possible to build and install different llvm versions
-# at the same time.
-#
-# This is true for the normal recipes as well as the native ones.
-#
-# All regular installation directories are prefixed with 'llvm${LLVM_RELEASE}'
-# e.g. "${STAGING_BINDIR}/llvm2.5" or "${STAGING_INCDIR}/llvm2.5"
-#
-# For your program or library that makes use of llvm you do should not need to
-# modify anything as long as it uses the results of various llvm-config
-# invocations. If you need customizations something is wrong and it needs to be
-# fixed (report bug).
-#
-# However the *recipe* for your program/library *must* declare
-# export WANT_LLVM_RELEASE = "<valid version number>"
-# The version number is picked up by a generic wrapper script which just calls
-# the variant of the specified version.
-
-DESCRIPTION = "The Low Level Virtual Machine"
-HOMEPAGE = "http://llvm.org"
-
-# 3-clause BSD-like
-# University of Illinois/NCSA Open Source License
-LICENSE = "NCSA"
-LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=d0a3ef0d3e0e8f5cf59e5ffc273ab1f8"
-
-DEPENDS = "libffi libxml2-native llvm-common"
-
-inherit perlnative pythonnative autotools
-
-LLVM_RELEASE = "${PV}"
-LLVM_DIR = "llvm${LLVM_RELEASE}"
-
-SRC_URI = "http://llvm.org/releases/${PV}/llvm-${PV}.src.tar.gz"
-S = "${WORKDIR}/llvm-${PV}.src"
-
-LLVM_BUILD_DIR = "${WORKDIR}/llvm-${PV}.build"
-LLVM_INSTALL_DIR = "${WORKDIR}/llvm-install"
-
-EXTRA_OECONF += "--disable-assertions \
- --enable-debug-runtime \
- --disable-expensive-checks \
- --enable-bindings=none \
- --enable-keep-symbols \
- --enable-libffi \
- --enable-optimized \
- --enable-shared \
- --enable-targets=host-only"
-EXTRA_OEMAKE += "REQUIRES_RTTI=1 VERBOSE=1"
-
-do_configure_prepend() {
- # Remove RPATHs
- sed -i 's:$(RPATH) -Wl,$(\(ToolDir\|LibDir\|ExmplDir\))::g' ${S}/Makefile.rules
-
- # Drop "svn" suffix from version string
- sed -i 's/${PV}svn/${PV}/g' ${S}/configure
-
- # Fix paths in llvm-config
- sed -i "s|sys::path::parent_path(CurrentPath))\.str()|sys::path::parent_path(sys::path::parent_path(CurrentPath))).str()|g" ${S}/tools/llvm-config/llvm-config.cpp
- sed -ri "s#/(bin|include|lib)(/?\")#/\1/${LLVM_DIR}\2#g" ${S}/tools/llvm-config/llvm-config.cpp
-
- # Fix the hardcoded libdir in llvm-config
- sed -i 's:/lib\>:/${baselib}:g' ${S}/tools/llvm-config/llvm-config.cpp
-
- # Fails to build unless using separate directory from source
- mkdir -p ${LLVM_BUILD_DIR}
- cd ${LLVM_BUILD_DIR}
-}
-
-do_compile() {
- cd ${LLVM_BUILD_DIR}
-
- # Fix libdir for multilib
- sed -i 's:(PROJ_prefix)/lib:(PROJ_prefix)/${baselib}:g' Makefile.config
-
- oe_runmake \
- AR="${BUILD_AR}" \
- CC="${BUILD_CC}" \
- CFLAGS="${BUILD_CFLAGS}" \
- CXX="${BUILD_CXX}" \
- CXXFLAGS="${BUILD_CXXFLAGS}" \
- CPP="${BUILD_CPP}" \
- CPPFLAGS="${BUILD_CPPFLAGS}" \
- NM="${BUILD_NM}" \
- RANLIB="${BUILD_RANLIB}" \
- PATH="${STAGING_BINDIR_NATIVE}:$PATH" \
- cross-compile-build-tools
- oe_runmake
-}
-
-do_install() {
- cd ${LLVM_BUILD_DIR}
- oe_runmake DESTDIR=${LLVM_INSTALL_DIR} install
-
- mv ${LLVM_INSTALL_DIR}${bindir}/${HOST_SYS}-llvm-config-host ${LLVM_INSTALL_DIR}/llvm-config-host
-
- install -d ${D}${bindir}/${LLVM_DIR}
- mv ${LLVM_INSTALL_DIR}${bindir}/* ${D}${bindir}/${LLVM_DIR}/
-
- install -d ${D}${includedir}/${LLVM_DIR}
- mv ${LLVM_INSTALL_DIR}${includedir}/* ${D}${includedir}/${LLVM_DIR}/
-
- install -d ${D}${libdir}/${LLVM_DIR}
- mv ${LLVM_INSTALL_DIR}${libdir}/* ${D}${libdir}/${LLVM_DIR}/
- ln -s ${LLVM_DIR}/libLLVM-${PV}.so ${D}${libdir}/libLLVM-${PV}.so
-
- install -d ${D}${docdir}/${LLVM_DIR}
- mv ${LLVM_INSTALL_DIR}${prefix}/docs/llvm/* ${D}${docdir}/${LLVM_DIR}
-}
-
-SYSROOT_PREPROCESS_FUNCS += "llvm_sysroot_preprocess"
-
-llvm_sysroot_preprocess() {
- install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}
- mv ${LLVM_INSTALL_DIR}/llvm-config-host ${SYSROOT_DESTDIR}${bindir_crossscripts}/llvm-config${PV}
-}
-
-PACKAGES += "${PN}-bugpointpasses ${PN}-llvmhello"
-ALLOW_EMPTY_${PN} = "1"
-ALLOW_EMPTY_${PN}-staticdev = "1"
-FILES_${PN} = ""
-FILES_${PN}-staticdev = ""
-FILES_${PN}-dbg = " \
- ${bindir}/${LLVM_DIR}/.debug \
- ${libdir}/${LLVM_DIR}/.debug/BugpointPasses.so \
- ${libdir}/${LLVM_DIR}/.debug/LLVMHello.so \
- /usr/src/debug \
-"
-
-FILES_${PN}-dev = " \
- ${bindir}/${LLVM_DIR} \
- ${includedir}/${LLVM_DIR} \
-"
-RRECOMMENDS_${PN}-dev += "${PN}-bugpointpasses ${PN}-llvmhello"
-
-FILES_${PN}-bugpointpasses = "\
- ${libdir}/${LLVM_DIR}/BugpointPasses.so \
-"
-FILES_${PN}-llvmhello = "\
- ${libdir}/${LLVM_DIR}/LLVMHello.so \
-"
-
-PACKAGES_DYNAMIC = "^libllvm${LLVM_RELEASE}-.*$"
-NOAUTOPACKAGEDEBUG = "1"
-
-INSANE_SKIP_${MLPREFIX}libllvm${LLVM_RELEASE}-llvm-${LLVM_RELEASE} += "dev-so"
-
-python llvm_populate_packages() {
- libdir = bb.data.expand('${libdir}', d)
- libllvm_libdir = bb.data.expand('${libdir}/${LLVM_DIR}', d)
- split_dbg_packages = do_split_packages(d, libllvm_libdir+'/.debug', '^lib(.*)\.so$', 'libllvm${LLVM_RELEASE}-%s-dbg', 'Split debug package for %s', allow_dirs=True)
- split_packages = do_split_packages(d, libdir, '^lib(.*)\.so$', 'libllvm${LLVM_RELEASE}-%s', 'Split package for %s', allow_dirs=True, allow_links=True, recursive=True)
- split_staticdev_packages = do_split_packages(d, libllvm_libdir, '^lib(.*)\.a$', 'libllvm${LLVM_RELEASE}-%s-staticdev', 'Split staticdev package for %s', allow_dirs=True)
- if split_packages:
- pn = d.getVar('PN')
- d.appendVar('RDEPENDS_' + pn, ' '+' '.join(split_packages))
- d.appendVar('RDEPENDS_' + pn + '-dbg', ' '+' '.join(split_dbg_packages))
- d.appendVar('RDEPENDS_' + pn + '-staticdev', ' '+' '.join(split_staticdev_packages))
-}
-
-PACKAGESPLITFUNCS_prepend = "llvm_populate_packages "
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/llvm/llvm3.3/Remove-error-output-from-configure-if-CFLAGS-is-set-.patch b/import-layers/meta-openembedded/meta-oe/recipes-core/llvm/llvm3.3/Remove-error-output-from-configure-if-CFLAGS-is-set-.patch
deleted file mode 100644
index 44387e898..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/llvm/llvm3.3/Remove-error-output-from-configure-if-CFLAGS-is-set-.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From d4bf7a3853dab12c11cbfc8088fd76f548a8d017 Mon Sep 17 00:00:00 2001
-From: Patrik Hagglund <patrik.h.hagglund@ericsson.com>
-Date: Tue, 24 Sep 2013 11:38:45 +0000
-Subject: [PATCH] Remove error output from configure if CFLAGS is set (r174313).
-
-This fixes PR16724.
-
-git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191289 91177308-0d34-0410-b5e6-96231b3b80d8
-
-https://github.com/llvm-mirror/llvm/commit/d4bf7a3853dab12c11cbfc8088fd76f548a8d017
-
-Upstream-Status: Backport
-
-Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
----
- autoconf/configure.ac | 4 ++--
- configure | 4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/autoconf/configure.ac b/autoconf/configure.ac
-index f9c365c..45f2fe4 100644
---- a/autoconf/configure.ac
-+++ b/autoconf/configure.ac
-@@ -61,8 +61,8 @@ fi
-
- dnl Default to empty (i.e. assigning the null string to) CFLAGS and CXXFLAGS,
- dnl instead of the autoconf default (for example, '-g -O2' for CC=gcc).
--${CFLAGS=}
--${CXXFLAGS=}
-+: ${CFLAGS=}
-+: ${CXXFLAGS=}
-
- dnl We need to check for the compiler up here to avoid anything else
- dnl starting with a different one.
-diff --git a/configure b/configure
-index f3a6594..9090cda 100755
---- a/configure
-+++ b/configure
-@@ -1992,8 +1992,8 @@ echo "$as_me: error: Already configured in ${srcdir}" >&2;}
- fi
- fi
-
--${CFLAGS=}
--${CXXFLAGS=}
-+: ${CFLAGS=}
-+: ${CXXFLAGS=}
-
- ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
---
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/llvm/llvm3.3/arm_fenv_uclibc.patch b/import-layers/meta-openembedded/meta-oe/recipes-core/llvm/llvm3.3/arm_fenv_uclibc.patch
deleted file mode 100644
index c3ae49464..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/llvm/llvm3.3/arm_fenv_uclibc.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Index: llvm-2.9/include/llvm/Support/FEnv.h
-===================================================================
---- llvm-2.9.orig/include/llvm/Support/FEnv.h 2010-11-29 20:44:50.000000000 +0100
-+++ llvm-2.9/include/llvm/Support/FEnv.h 2011-11-18 18:42:22.580161297 +0100
-@@ -17,6 +17,9 @@
-
- #include "llvm/Config/config.h"
- #include <cerrno>
-+
-+#undef HAVE_FENV_H
-+
- #ifdef HAVE_FENV_H
- #include <fenv.h>
- #endif
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/llvm/llvm3.3_3.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/llvm/llvm3.3_3.3.bb
deleted file mode 100644
index 60a222185..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/llvm/llvm3.3_3.3.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-require llvm.inc
-
-DEPENDS += "zlib"
-EXTRA_OECONF += "--enable-zlib"
-
-SRC_URI += "file://Remove-error-output-from-configure-if-CFLAGS-is-set-.patch"
-
-SRC_URI_append_libc-uclibc = " file://arm_fenv_uclibc.patch "
-
-SRC_URI[md5sum] = "40564e1dc390f9844f1711c08b08e391"
-SRC_URI[sha256sum] = "68766b1e70d05a25e2f502e997a3cb3937187a3296595cf6e0977d5cd6727578"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[r600] = "--enable-experimental-targets=R600,,,"
-
-# Fails to build with thumb-1 (qemuarm)
-# | {standard input}: Assembler messages:
-# | {standard input}:22: Error: selected processor does not support Thumb mode `stmdb sp!,{r0,r1,r2,r3,lr}'
-# | {standard input}:31: Error: lo register required -- `ldmia sp!,{r0,r1,r2,r3,lr}'
-# | {standard input}:32: Error: lo register required -- `ldr pc,[sp],#4'
-# | make[3]: *** [/home/jenkins/oe/world/shr-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/llvm3.3/3.3-r0/llvm-3.3.build/lib/Target/ARM/Release/ARMJITInfo.o] Error 1
-ARM_INSTRUCTION_SET = "arm"
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 a53fa69de..b12183b3a 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
@@ -3,7 +3,7 @@
SUMMARY = "Basic task to get a device online"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
PR = "r13"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb
index a542ae420..3ae7a49fe 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb
@@ -1,6 +1,6 @@
SUMMARY = "Basic task to get a device booting"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
PR = "r58"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-cli-tools.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-cli-tools.bb
deleted file mode 100644
index 697f9bfa5..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-cli-tools.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-SUMMARY = "A set of useful command line tools"
-SUMMARY_${PN}-debug = "A set of command line tools useful for debugging"
-SECTION = "console"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-PV = "1.0"
-PR = "r21"
-
-inherit packagegroup allarch
-
-PACKAGES += "${PN}-debug"
-
-RDEPENDS_${PN} = "\
- dbus-daemon-proxy \
- dosfstools \
- htop \
- iptables \
- lsof \
- mbuffer \
- mtd-utils \
- nano \
- nfs-utils-client \
- nmon \
- powertop \
- screen \
- socat \
- sysstat \
-"
-
-RDEPENDS_${PN}-debug = "\
- evtest \
- devmem2 \
- i2c-tools \
- gdb \
- procps \
- pxaregs \
- s3c24xx-gpio \
- s3c64xx-gpio \
- serial-forward \
- strace \
-"
-
-RRECOMMENDS_${PN}-debug = "\
- ltrace \
-"
-
-PNBLACKLIST[packagegroup-cli-tools] ?= "Runtime depends on blacklisted dbus-daemon-proxy - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[packagegroup-cli-tools] ?= "Runtime depends on blacklisted packagegroup-cli-tools - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/proxy-libintl/proxy-libintl-20100902/soname.patch b/import-layers/meta-openembedded/meta-oe/recipes-core/proxy-libintl/proxy-libintl-20100902/soname.patch
deleted file mode 100644
index 0df232d25..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/proxy-libintl/proxy-libintl-20100902/soname.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Index: proxy-libintl-20080418-r6/src/proxy-libintl/Makefile
-===================================================================
---- proxy-libintl-20080418-r6.orig/src/proxy-libintl/Makefile 2010-07-25 08:40:22.893620001 -0700
-+++ proxy-libintl-20080418-r6/src/proxy-libintl/Makefile 2010-07-25 10:51:29.573620000 -0700
-@@ -6,16 +6,13 @@ CFLAGS = -Wall -I ../../include
-
- all : ../../lib/libintl.so ../../lib/intl.lib
-
--../../lib/libintl.so : libintl.o
-- $(CC) -shared -o $@ libintl.o
-+../../lib/libintl.so : libintl.c
-+ $(CC) $(CFLAGS) -shared -Wl,-soname -Wl,libintl.so -o $@ $<
-
- ../../lib/intl.lib : ../../lib/libintl.so
- cp ../../lib/libintl.so $@
- $(STRIP) --strip-unneeded $@
-
--libintl.o : libintl.c
-- $(CC) $(CFLAGS) -c libintl.c
--
- clean :
- rm -f *.o ../../lib/libintl.so ../../$(ZIPFILE)
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.7.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.7.3.bb
deleted file mode 100644
index 0cd44ff64..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.7.3.bb
+++ /dev/null
@@ -1,74 +0,0 @@
-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 \
-"
-
-SRC_URI[md5sum] = "6fa2a001402cb067ba541e0d8948da50"
-SRC_URI[sha256sum] = "e6469b508224e0d2e4564dda05c4bb47aef5c28bf29d6c983bcdc6e3a0cd29d6"
-
-LICENSE = "BSD-0-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=f0b8b3dd6431bcaa245da0a08bd0d511"
-
-SECTION = "base"
-
-TOYBOX_BIN = "generated/unstripped/toybox"
-
-EXTRA_OEMAKE = 'HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}"'
-
-do_configure() {
- oe_runmake defconfig
-
- # Disable killall5 as it isn't managed by update-alternatives
- sed -e 's/CONFIG_KILLALL5=y/# CONFIG_KILLALL5 is not set/' -i .config
-
- # Disable swapon as it doesn't handle the '-a' argument used during boot
- sed -e 's/CONFIG_SWAPON=y/# CONFIG_SWAPON is not set/' -i .config
-}
-
-do_compile() {
- oe_runmake ${TOYBOX_BIN}
-
- # Create a list of links needed
- ${BUILD_CC} -I . scripts/install.c -o generated/instlist
- ./generated/instlist long | sed -e 's#^#/#' > toybox.links
-}
-
-do_install() {
- # Install manually instead of using 'make install'
- install -d ${D}${base_bindir}
- if grep -q "CONFIG_TOYBOX_SUID=y" ${B}/.config; then
- install -m 4755 ${B}/${TOYBOX_BIN} ${D}${base_bindir}/toybox
- else
- install -m 0755 ${B}/${TOYBOX_BIN} ${D}${base_bindir}/toybox
- fi
-
- install -d ${D}${sysconfdir}
- install -m 0644 ${B}/toybox.links ${D}${sysconfdir}
-}
-
-inherit update-alternatives
-
-# If you've chosen to install toybox you probably want it to take precedence
-# over busybox where possible but not over other packages
-ALTERNATIVE_PRIORITY = "60"
-
-python do_package_prepend () {
- # Read links from /etc/toybox.links and create appropriate
- # update-alternatives variables
-
- dvar = d.getVar('D')
- pn = d.getVar('PN')
- target = "/bin/toybox"
-
- f = open('%s/etc/toybox.links' % (dvar), 'r')
- for alt_link_name in f:
- alt_link_name = alt_link_name.strip()
- alt_name = os.path.basename(alt_link_name)
- d.appendVar('ALTERNATIVE_%s' % (pn), ' ' + alt_name)
- d.setVarFlag('ALTERNATIVE_LINK_NAME', alt_name, alt_link_name)
- d.setVarFlag('ALTERNATIVE_TARGET', alt_name, target)
- f.close()
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox_git.bb
new file mode 100644
index 000000000..08f971573
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox_git.bb
@@ -0,0 +1,75 @@
+SUMMARY = "Toybox combines common utilities together into a single executable."
+HOMEPAGE = "http://www.landley.net/toybox/"
+DEPENDS = "attr"
+
+LICENSE = "BSD-0-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f0b8b3dd6431bcaa245da0a08bd0d511"
+
+PV = "0.7.4+git${SRCPV}"
+
+SRCREV = "78289203031afc23585035c362beec10db54958d"
+SRC_URI = "git://github.com/landley/toybox;protocol=https \
+"
+
+S = "${WORKDIR}/git"
+
+SECTION = "base"
+
+TOYBOX_BIN = "generated/unstripped/toybox"
+
+EXTRA_OEMAKE = 'HOSTCC="${BUILD_CC}" CPUS=${@oe.utils.cpu_count()}'
+
+do_configure() {
+ oe_runmake defconfig
+
+ # Disable killall5 as it isn't managed by update-alternatives
+ sed -e 's/CONFIG_KILLALL5=y/# CONFIG_KILLALL5 is not set/' -i .config
+
+ # Disable swapon as it doesn't handle the '-a' argument used during boot
+ sed -e 's/CONFIG_SWAPON=y/# CONFIG_SWAPON is not set/' -i .config
+}
+
+do_compile() {
+ oe_runmake ${TOYBOX_BIN}
+
+ # Create a list of links needed
+ ${BUILD_CC} -I . scripts/install.c -o generated/instlist
+ ./generated/instlist long | sed -e 's#^#/#' > toybox.links
+}
+
+do_install() {
+ # Install manually instead of using 'make install'
+ install -d ${D}${base_bindir}
+ if grep -q "CONFIG_TOYBOX_SUID=y" ${B}/.config; then
+ install -m 4755 ${B}/${TOYBOX_BIN} ${D}${base_bindir}/toybox
+ else
+ install -m 0755 ${B}/${TOYBOX_BIN} ${D}${base_bindir}/toybox
+ fi
+
+ install -d ${D}${sysconfdir}
+ install -m 0644 ${B}/toybox.links ${D}${sysconfdir}
+}
+
+inherit update-alternatives
+
+# If you've chosen to install toybox you probably want it to take precedence
+# over busybox where possible but not over other packages
+ALTERNATIVE_PRIORITY = "60"
+
+python do_package_prepend () {
+ # Read links from /etc/toybox.links and create appropriate
+ # update-alternatives variables
+
+ dvar = d.getVar('D')
+ pn = d.getVar('PN')
+ target = "/bin/toybox"
+
+ f = open('%s/etc/toybox.links' % (dvar), 'r')
+ for alt_link_name in f:
+ alt_link_name = alt_link_name.strip()
+ alt_name = os.path.basename(alt_link_name)
+ d.appendVar('ALTERNATIVE_%s' % (pn), ' ' + alt_name)
+ d.setVarFlag('ALTERNATIVE_LINK_NAME', alt_name, alt_link_name)
+ d.setVarFlag('ALTERNATIVE_TARGET', alt_name, target)
+ f.close()
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/.gitignore b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/.gitignore
index b8a08f824..b034c10a1 100644
--- 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
@@ -3,6 +3,8 @@
!*.indirectionsymlink
!*.[ch]
!*.mk
+!*.patch
+!*.service
!NOTICE
!MODULE_LICENSE_*
!/system/
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/0001-add-base64-implementation.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/0001-add-base64-implementation.patch
new file mode 100644
index 000000000..680d21f3a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/0001-add-base64-implementation.patch
@@ -0,0 +1,351 @@
+From bbeb72f11c64f190b23abbed5f44311bd021bdc9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 15 Sep 2017 15:46:38 -0700
+Subject: [PATCH 1/2] add base64 implementation
+
+musl needs it
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ system/core/adb/adb_auth_client.c | 2 +-
+ system/core/adb/base64.c | 315 ++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 316 insertions(+), 1 deletion(-)
+ create mode 100644 system/core/adb/base64.c
+
+diff --git a/system/core/adb/adb_auth_client.c b/system/core/adb/adb_auth_client.c
+index 55e9dca..104b413 100644
+--- a/system/core/adb/adb_auth_client.c
++++ b/system/core/adb/adb_auth_client.c
+@@ -75,7 +75,7 @@ static void read_keys(const char *file, struct listnode *list)
+ if (sep)
+ *sep = '\0';
+
+- ret = __b64_pton(buf, (u_char *)&key->key, sizeof(key->key) + 4);
++ ret = b64_pton(buf, (u_char *)&key->key, sizeof(key->key) + 4);
+ if (ret != sizeof(key->key)) {
+ D("%s: Invalid base64 data ret=%d\n", file, ret);
+ free(key);
+diff --git a/system/core/adb/base64.c b/system/core/adb/base64.c
+new file mode 100644
+index 0000000..95da284
+--- /dev/null
++++ b/system/core/adb/base64.c
+@@ -0,0 +1,315 @@
++/*
++ * Copyright (c) 1996-1999 by Internet Software Consortium.
++ *
++ * Permission to use, copy, modify, and distribute this software for any
++ * purpose with or without fee is hereby granted, provided that the above
++ * copyright notice and this permission notice appear in all copies.
++ *
++ * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
++ * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
++ * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
++ * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
++ * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
++ * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
++ * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
++ * SOFTWARE.
++ */
++
++/*
++ * Portions Copyright (c) 1995 by International Business Machines, Inc.
++ *
++ * International Business Machines, Inc. (hereinafter called IBM) grants
++ * permission under its copyrights to use, copy, modify, and distribute this
++ * Software with or without fee, provided that the above copyright notice and
++ * all paragraphs of this notice appear in all copies, and that the name of IBM
++ * not be used in connection with the marketing of any product incorporating
++ * the Software or modifications thereof, without specific, written prior
++ * permission.
++ *
++ * To the extent it has a right to do so, IBM grants an immunity from suit
++ * under its patents, if any, for the use, sale or manufacture of products to
++ * the extent that such products are used for performing Domain Name System
++ * dynamic updates in TCP/IP networks by means of the Software. No immunity is
++ * granted for any product per se or for any other function of any product.
++ *
++ * THE SOFTWARE IS PROVIDED "AS IS", AND IBM DISCLAIMS ALL WARRANTIES,
++ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
++ * PARTICULAR PURPOSE. IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL,
++ * DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER ARISING
++ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE, EVEN
++ * IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES.
++ */
++
++#if !defined(LINT) && !defined(CODECENTER)
++static const char rcsid[] = "$BINDId: base64.c,v 8.7 1999/10/13 16:39:33 vixie Exp $";
++#endif /* not lint */
++
++#include <sys/types.h>
++#include <sys/param.h>
++#include <sys/socket.h>
++
++#include <netinet/in.h>
++#include <arpa/inet.h>
++#include <arpa/nameser.h>
++
++#include <ctype.h>
++#include <resolv.h>
++#include <stdio.h>
++#include <stdlib.h>
++#include <stdint.h>
++#include <string.h>
++
++#define Assert(Cond) if (!(Cond)) abort()
++
++static const char Base64[] =
++ "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
++static const char Pad64 = '=';
++
++/* (From RFC1521 and draft-ietf-dnssec-secext-03.txt)
++ The following encoding technique is taken from RFC 1521 by Borenstein
++ and Freed. It is reproduced here in a slightly edited form for
++ convenience.
++
++ A 65-character subset of US-ASCII is used, enabling 6 bits to be
++ represented per printable character. (The extra 65th character, "=",
++ is used to signify a special processing function.)
++
++ The encoding process represents 24-bit groups of input bits as output
++ strings of 4 encoded characters. Proceeding from left to right, a
++ 24-bit input group is formed by concatenating 3 8-bit input groups.
++ These 24 bits are then treated as 4 concatenated 6-bit groups, each
++ of which is translated into a single digit in the base64 alphabet.
++
++ Each 6-bit group is used as an index into an array of 64 printable
++ characters. The character referenced by the index is placed in the
++ output string.
++
++ Table 1: The Base64 Alphabet
++
++ Value Encoding Value Encoding Value Encoding Value Encoding
++ 0 A 17 R 34 i 51 z
++ 1 B 18 S 35 j 52 0
++ 2 C 19 T 36 k 53 1
++ 3 D 20 U 37 l 54 2
++ 4 E 21 V 38 m 55 3
++ 5 F 22 W 39 n 56 4
++ 6 G 23 X 40 o 57 5
++ 7 H 24 Y 41 p 58 6
++ 8 I 25 Z 42 q 59 7
++ 9 J 26 a 43 r 60 8
++ 10 K 27 b 44 s 61 9
++ 11 L 28 c 45 t 62 +
++ 12 M 29 d 46 u 63 /
++ 13 N 30 e 47 v
++ 14 O 31 f 48 w (pad) =
++ 15 P 32 g 49 x
++ 16 Q 33 h 50 y
++
++ Special processing is performed if fewer than 24 bits are available
++ at the end of the data being encoded. A full encoding quantum is
++ always completed at the end of a quantity. When fewer than 24 input
++ bits are available in an input group, zero bits are added (on the
++ right) to form an integral number of 6-bit groups. Padding at the
++ end of the data is performed using the '=' character.
++
++ Since all base64 input is an integral number of octets, only the
++ -------------------------------------------------
++ following cases can arise:
++
++ (1) the final quantum of encoding input is an integral
++ multiple of 24 bits; here, the final unit of encoded
++ output will be an integral multiple of 4 characters
++ with no "=" padding,
++ (2) the final quantum of encoding input is exactly 8 bits;
++ here, the final unit of encoded output will be two
++ characters followed by two "=" padding characters, or
++ (3) the final quantum of encoding input is exactly 16 bits;
++ here, the final unit of encoded output will be three
++ characters followed by one "=" padding character.
++ */
++
++int
++b64_ntop(const uint8_t* src, size_t srclength, char* target, size_t targsize)
++{
++ size_t datalength = 0;
++ uint8_t input[3];
++ uint8_t output[4];
++ size_t i;
++
++ while (2 < srclength) {
++ input[0] = *src++;
++ input[1] = *src++;
++ input[2] = *src++;
++ srclength -= 3;
++
++ output[0] = input[0] >> 2;
++ output[1] = ((input[0] & 0x03) << 4) + (input[1] >> 4);
++ output[2] = ((input[1] & 0x0f) << 2) + (input[2] >> 6);
++ output[3] = input[2] & 0x3f;
++ Assert(output[0] < 64);
++ Assert(output[1] < 64);
++ Assert(output[2] < 64);
++ Assert(output[3] < 64);
++
++ if (datalength + 4 > targsize)
++ return (-1);
++ target[datalength++] = Base64[output[0]];
++ target[datalength++] = Base64[output[1]];
++ target[datalength++] = Base64[output[2]];
++ target[datalength++] = Base64[output[3]];
++ }
++
++ /* Now we worry about padding. */
++ if (0 != srclength) {
++ /* Get what's left. */
++ input[0] = input[1] = input[2] = '\0';
++ for (i = 0; i < srclength; i++)
++ input[i] = *src++;
++
++ output[0] = input[0] >> 2;
++ output[1] = ((input[0] & 0x03) << 4) + (input[1] >> 4);
++ output[2] = ((input[1] & 0x0f) << 2) + (input[2] >> 6);
++ Assert(output[0] < 64);
++ Assert(output[1] < 64);
++ Assert(output[2] < 64);
++
++ if (datalength + 4 > targsize)
++ return (-1);
++ target[datalength++] = Base64[output[0]];
++ target[datalength++] = Base64[output[1]];
++ if (srclength == 1)
++ target[datalength++] = Pad64;
++ else
++ target[datalength++] = Base64[output[2]];
++ target[datalength++] = Pad64;
++ }
++ if (datalength >= targsize)
++ return (-1);
++ target[datalength] = '\0'; /* Returned value doesn't count \0. */
++ return (datalength);
++}
++
++/* skips all whitespace anywhere.
++ converts characters, four at a time, starting at (or after)
++ src from base - 64 numbers into three 8 bit bytes in the target area.
++ it returns the number of data bytes stored at the target, or -1 on error.
++ */
++
++int b64_pton(const char* src, uint8_t* target, size_t targsize)
++{
++ int tarindex, state, ch;
++ char *pos;
++
++ state = 0;
++ tarindex = 0;
++
++ while ((ch = *src++) != '\0') {
++ if (isspace(ch)) /* Skip whitespace anywhere. */
++ continue;
++
++ if (ch == Pad64)
++ break;
++
++ pos = strchr(Base64, ch);
++ if (pos == 0) /* A non-base64 character. */
++ return (-1);
++
++ switch (state) {
++ case 0:
++ if (target) {
++ if ((size_t)tarindex >= targsize)
++ return (-1);
++ target[tarindex] = (pos - Base64) << 2;
++ }
++ state = 1;
++ break;
++ case 1:
++ if (target) {
++ if ((size_t)tarindex + 1 >= targsize)
++ return (-1);
++ target[tarindex] |= (pos - Base64) >> 4;
++ target[tarindex+1] = ((pos - Base64) & 0x0f)
++ << 4 ;
++ }
++ tarindex++;
++ state = 2;
++ break;
++ case 2:
++ if (target) {
++ if ((size_t)tarindex + 1 >= targsize)
++ return (-1);
++ target[tarindex] |= (pos - Base64) >> 2;
++ target[tarindex+1] = ((pos - Base64) & 0x03)
++ << 6;
++ }
++ tarindex++;
++ state = 3;
++ break;
++ case 3:
++ if (target) {
++ if ((size_t)tarindex >= targsize)
++ return (-1);
++ target[tarindex] |= (pos - Base64);
++ }
++ tarindex++;
++ state = 0;
++ break;
++ default:
++ abort();
++ }
++ }
++
++ /*
++ * We are done decoding Base-64 chars. Let's see if we ended
++ * on a byte boundary, and/or with erroneous trailing characters.
++ */
++
++ if (ch == Pad64) { /* We got a pad char. */
++ ch = *src++; /* Skip it, get next. */
++ switch (state) {
++ case 0: /* Invalid = in first position */
++ case 1: /* Invalid = in second position */
++ return (-1);
++
++ case 2: /* Valid, means one byte of info */
++ /* Skip any number of spaces. */
++ for ((void)NULL; ch != '\0'; ch = *src++)
++ if (!isspace(ch))
++ break;
++ /* Make sure there is another trailing = sign. */
++ if (ch != Pad64)
++ return (-1);
++ ch = *src++; /* Skip the = */
++ /* Fall through to "single trailing =" case. */
++ /* FALLTHROUGH */
++
++ case 3: /* Valid, means two bytes of info */
++ /*
++ * We know this char is an =. Is there anything but
++ * whitespace after it?
++ */
++ for ((void)NULL; ch != '\0'; ch = *src++)
++ if (!isspace(ch))
++ return (-1);
++
++ /*
++ * Now make sure for cases 2 and 3 that the "extra"
++ * bits that slopped past the last full byte were
++ * zeros. If we don't check them, they become a
++ * subliminal channel.
++ */
++ if (target && target[tarindex] != 0)
++ return (-1);
++ }
++ } else {
++ /*
++ * We ended by seeing the end of the string. Make sure we
++ * have no partial bytes lying around.
++ */
++ if (state != 0)
++ return (-1);
++ }
++
++ return (tarindex);
++}
++
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/0002-adb-Musl-fixes.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/0002-adb-Musl-fixes.patch
new file mode 100644
index 000000000..c7aebb641
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/0002-adb-Musl-fixes.patch
@@ -0,0 +1,134 @@
+From f8653ed0ede4aa781ab758fcd44fdc05ffbe0b0a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 15 Sep 2017 15:50:57 -0700
+Subject: [PATCH 2/2] adb: Musl fixes
+
+__nonnull is gcc specific
+include sys/types.h for size_t
+Do not redefine close() and lseek()
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ system/core/adb/adb.h | 2 ++
+ system/core/adb/disable_verity_service.c | 13 ++++++++-----
+ system/core/adb/framebuffer_service.c | 7 ++++---
+ system/core/adb/sysdeps.h | 12 ++++++------
+ 4 files changed, 20 insertions(+), 14 deletions(-)
+
+diff --git a/system/core/adb/adb.h b/system/core/adb/adb.h
+index 44e5981..bcdc49f 100644
+--- a/system/core/adb/adb.h
++++ b/system/core/adb/adb.h
+@@ -18,7 +18,9 @@
+ #define __ADB_H
+
+ #include <limits.h>
++#include <sys/types.h>
+
++#include "fdevent.h"
+ #include "adb_trace.h"
+ #include "transport.h" /* readx(), writex() */
+
+diff --git a/system/core/adb/disable_verity_service.c b/system/core/adb/disable_verity_service.c
+index ed3da52..29fa3d6 100644
+--- a/system/core/adb/disable_verity_service.c
++++ b/system/core/adb/disable_verity_service.c
+@@ -14,25 +14,28 @@
+ * limitations under the License.
+ */
+
+-#include "sysdeps.h"
+
+ #define TRACE_TAG TRACE_ADB
+ #include "adb.h"
++#include "sysdeps.h"
++#include "cutils/properties.h"
++#include "ext4_sb.h"
++#include <fs_mgr.h>
+
+ #include <stdio.h>
+ #include <stdarg.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
+ #include <inttypes.h>
++#include <unistd.h>
++#include <errno.h>
++#include <stdbool.h>
+
+-#include "cutils/properties.h"
+-#include "ext4_sb.h"
+-#include <fs_mgr.h>
+
+ #define FSTAB_PREFIX "/fstab."
+ struct fstab *fstab;
+
+-__attribute__((__format__(printf, 2, 3))) __nonnull((2))
++__attribute__((__format__(printf, 2, 3))) __attribute__((nonnull((2))))
+ static void write_console(int fd, const char* format, ...)
+ {
+ char buffer[256];
+diff --git a/system/core/adb/framebuffer_service.c b/system/core/adb/framebuffer_service.c
+index 8cbe840..8f0ccfb 100644
+--- a/system/core/adb/framebuffer_service.c
++++ b/system/core/adb/framebuffer_service.c
+@@ -14,6 +14,10 @@
+ * limitations under the License.
+ */
+
++#include "fdevent.h"
++#include "adb.h"
++#include "sysdeps.h"
++
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <unistd.h>
+@@ -23,9 +27,6 @@
+ #include <sys/types.h>
+ #include <sys/wait.h>
+
+-#include "fdevent.h"
+-#include "adb.h"
+-
+ #include <linux/fb.h>
+ #include <sys/ioctl.h>
+ #include <sys/mman.h>
+diff --git a/system/core/adb/sysdeps.h b/system/core/adb/sysdeps.h
+index cc1f839..ea39ac3 100644
+--- a/system/core/adb/sysdeps.h
++++ b/system/core/adb/sysdeps.h
+@@ -123,8 +123,8 @@ static __inline__ int unix_close(int fd)
+ {
+ return close(fd);
+ }
+-#undef close
+-#define close ____xxx_close
++//#undef close
++//#define close ____xxx_close
+
+ static __inline__ int unix_read(int fd, void* buf, size_t len)
+ {
+@@ -369,8 +369,8 @@ static __inline__ int adb_close(int fd)
+ {
+ return close(fd);
+ }
+-#undef close
+-#define close ____xxx_close
++//#undef close
++//#define close ____xxx_close
+
+
+ static __inline__ int adb_read(int fd, void* buf, size_t len)
+@@ -392,8 +392,8 @@ static __inline__ int adb_lseek(int fd, int pos, int where)
+ {
+ return lseek(fd, pos, where);
+ }
+-#undef lseek
+-#define lseek ___xxx_lseek
++//#undef lseek
++//#define lseek ___xxx_lseek
+
+ static __inline__ int adb_unlink(const char* path)
+ {
+--
+2.14.1
+
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
index 84cd06b10..31452ae10 100644
--- 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
@@ -16,6 +16,7 @@ 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 += base64.c
adbd_SRC_FILES += usb_linux_client.c
adbd_OBJS := $(adbd_SRC_FILES:.c=.o)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
index 34fddcbda..d3ccd1d06 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
@@ -32,6 +32,8 @@ SRC_URI = " \
file://define-shell-command.patch \
file://implicit-declaration-function-strlcat-strlcopy.patch \
file://fix-big-endian-build.patch \
+ file://0001-add-base64-implementation.patch \
+ file://0002-adb-Musl-fixes.patch \
file://android-tools-adbd.service \
file://.gitignore;subdir=git \
file://adb.mk;subdir=${BPN} \
@@ -52,24 +54,6 @@ 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}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive.inc b/import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive.inc
deleted file mode 100644
index 9684d1f99..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-LICENSE = "GPLv3"
-HOMEPAGE = "http://www.gnu.org/software/autoconf-archive/"
-SECTION = "devel"
-
-DEPENDS += "m4-native"
-DEPENDS_class-native = "m4-native gnu-config-native"
-DEPENDS_class-nativesdk = "m4-nativesdk gnu-config-nativesdk"
-
-RDEPENDS_${PN} = "m4 gnu-config gnome-common"
-RDEPENDS_${PN}_class-native = "m4-native gnu-config-native"
-RDEPENDS_${PN}_class-nativesdk = "m4-nativesdk gnu-config-nativesdk"
-
-SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz"
-
-inherit autotools
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive/delete-some-m4-files.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive/delete-some-m4-files.patch
deleted file mode 100644
index 2aa788bf9..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive/delete-some-m4-files.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Delete two m4files ax_code_coverage.m4 and ax_check_enable_debug.m4
-to avoid installing conflicts. These two files can be installed by
-gnome-common from oe-core, even if the files in gnmoe-common is
-copied from autoconf-archive(the reason is that the old version
-autoconf-archive don't provide the two files).
-After upgrading to the new version, we need to drop them in meta-oe
-and then set rdepends to gnome-common(oe-core)
-
-Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
-
-Index: a/configure.ac
-===================================================================
---- a/configure.ac 2016-09-16 06:00:00.000000000 +0800
-+++ b/configure.ac 2017-04-18 17:43:05.946290554 +0800
-@@ -19,7 +19,7 @@
-
- AC_PROG_SED
-
--M4FILES="m4_esyscmd([echo -n m4/*.m4])"
-+M4FILES="m4_esyscmd([echo -n m4/*.m4 | sed -e 's:m4/ax_code_coverage.m4 ::g'|sed -e 's:m4/ax_check_enable_debug.m4 ::g'])"
- AC_SUBST([M4FILES])
-
- TEXIFILES="m4_esyscmd([cd m4 && echo -n *.m4 | sed -e 's/\.m4/.texi/g'])"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive_2016.09.16.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive_2016.09.16.bb
deleted file mode 100644
index 561b57b4f..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive_2016.09.16.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-require autoconf-archive.inc
-
-
-PARALLEL_MAKE = ""
-
-LICENSE = "GPLv2 & GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-SRC_URI[md5sum] = "bf19d4cddce260b3c3e1d51d42509071"
-SRC_URI[sha256sum] = "e8f2efd235f842bad2f6938bf4a72240a5e5fcd248e8444335e63beb60fabd82"
-
-SRC_URI += "\
- file://delete-some-m4-files.patch \
-"
-
-EXTRA_OECONF += "ac_cv_path_M4=m4"
-BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Replace-use-of-struct-ucontext-with-ucontext_t.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Replace-use-of-struct-ucontext-with-ucontext_t.patch
new file mode 100644
index 000000000..07cb8a366
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Replace-use-of-struct-ucontext-with-ucontext_t.patch
@@ -0,0 +1,242 @@
+From b90c8f3b60bfe5dbed2823620242e9d30b9eb28f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 28 Jun 2017 19:01:18 -0700
+Subject: [PATCH] Replace use of struct ucontext with ucontext_t
+
+glibc 2.26 would not expose struct ucontext anymore
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ .../linux/dump_writer_common/ucontext_reader.cc | 32 +++++++++++-----------
+ .../linux/dump_writer_common/ucontext_reader.h | 14 +++++-----
+ src/client/linux/handler/exception_handler.cc | 10 +++----
+ src/client/linux/handler/exception_handler.h | 4 +--
+ .../linux/microdump_writer/microdump_writer.cc | 2 +-
+ .../linux/minidump_writer/minidump_writer.cc | 2 +-
+ 6 files changed, 32 insertions(+), 32 deletions(-)
+
+diff --git a/src/client/linux/dump_writer_common/ucontext_reader.cc b/src/client/linux/dump_writer_common/ucontext_reader.cc
+index c80724dd..052ce37c 100644
+--- a/src/client/linux/dump_writer_common/ucontext_reader.cc
++++ b/src/client/linux/dump_writer_common/ucontext_reader.cc
+@@ -36,19 +36,19 @@ namespace google_breakpad {
+
+ // Minidump defines register structures which are different from the raw
+ // structures which we get from the kernel. These are platform specific
+-// functions to juggle the ucontext and user structures into minidump format.
++// functions to juggle the ucontext_t and user structures into minidump format.
+
+ #if defined(__i386__)
+
+-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
+ return uc->uc_mcontext.gregs[REG_ESP];
+ }
+
+-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
+ return uc->uc_mcontext.gregs[REG_EIP];
+ }
+
+-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+ const struct _libc_fpstate* fp) {
+ const greg_t* regs = uc->uc_mcontext.gregs;
+
+@@ -88,15 +88,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
+
+ #elif defined(__x86_64)
+
+-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
+ return uc->uc_mcontext.gregs[REG_RSP];
+ }
+
+-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
+ return uc->uc_mcontext.gregs[REG_RIP];
+ }
+
+-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+ const struct _libc_fpstate* fpregs) {
+ const greg_t* regs = uc->uc_mcontext.gregs;
+
+@@ -145,15 +145,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
+
+ #elif defined(__ARM_EABI__)
+
+-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
+ return uc->uc_mcontext.arm_sp;
+ }
+
+-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
+ return uc->uc_mcontext.arm_pc;
+ }
+
+-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) {
+ out->context_flags = MD_CONTEXT_ARM_FULL;
+
+ out->iregs[0] = uc->uc_mcontext.arm_r0;
+@@ -184,15 +184,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
+
+ #elif defined(__aarch64__)
+
+-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
+ return uc->uc_mcontext.sp;
+ }
+
+-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
+ return uc->uc_mcontext.pc;
+ }
+
+-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+ const struct fpsimd_context* fpregs) {
+ out->context_flags = MD_CONTEXT_ARM64_FULL;
+
+@@ -210,15 +210,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
+
+ #elif defined(__mips__)
+
+-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
+ return uc->uc_mcontext.gregs[MD_CONTEXT_MIPS_REG_SP];
+ }
+
+-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
+ return uc->uc_mcontext.pc;
+ }
+
+-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) {
+ #if _MIPS_SIM == _ABI64
+ out->context_flags = MD_CONTEXT_MIPS64_FULL;
+ #elif _MIPS_SIM == _ABIO32
+diff --git a/src/client/linux/dump_writer_common/ucontext_reader.h b/src/client/linux/dump_writer_common/ucontext_reader.h
+index b6e77b4b..2de80b70 100644
+--- a/src/client/linux/dump_writer_common/ucontext_reader.h
++++ b/src/client/linux/dump_writer_common/ucontext_reader.h
+@@ -39,23 +39,23 @@
+
+ namespace google_breakpad {
+
+-// Wraps platform-dependent implementations of accessors to ucontext structs.
++// Wraps platform-dependent implementations of accessors to ucontext_t structs.
+ struct UContextReader {
+- static uintptr_t GetStackPointer(const struct ucontext* uc);
++ static uintptr_t GetStackPointer(const ucontext_t* uc);
+
+- static uintptr_t GetInstructionPointer(const struct ucontext* uc);
++ static uintptr_t GetInstructionPointer(const ucontext_t* uc);
+
+- // Juggle a arch-specific ucontext into a minidump format
++ // Juggle a arch-specific ucontext_t into a minidump format
+ // out: the minidump structure
+ // info: the collection of register structures.
+ #if defined(__i386__) || defined(__x86_64)
+- static void FillCPUContext(RawContextCPU *out, const ucontext *uc,
++ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+ const struct _libc_fpstate* fp);
+ #elif defined(__aarch64__)
+- static void FillCPUContext(RawContextCPU *out, const ucontext *uc,
++ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+ const struct fpsimd_context* fpregs);
+ #else
+- static void FillCPUContext(RawContextCPU *out, const ucontext *uc);
++ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc);
+ #endif
+ };
+
+diff --git a/src/client/linux/handler/exception_handler.cc b/src/client/linux/handler/exception_handler.cc
+index 586d84e9..05936d28 100644
+--- a/src/client/linux/handler/exception_handler.cc
++++ b/src/client/linux/handler/exception_handler.cc
+@@ -457,9 +457,9 @@ bool ExceptionHandler::HandleSignal(int /*sig*/, siginfo_t* info, void* uc) {
+ // Fill in all the holes in the struct to make Valgrind happy.
+ memset(&g_crash_context_, 0, sizeof(g_crash_context_));
+ memcpy(&g_crash_context_.siginfo, info, sizeof(siginfo_t));
+- memcpy(&g_crash_context_.context, uc, sizeof(struct ucontext));
++ memcpy(&g_crash_context_.context, uc, sizeof(ucontext_t));
+ #if defined(__aarch64__)
+- struct ucontext* uc_ptr = (struct ucontext*)uc;
++ ucontext_t* uc_ptr = (ucontext_t*)uc;
+ struct fpsimd_context* fp_ptr =
+ (struct fpsimd_context*)&uc_ptr->uc_mcontext.__reserved;
+ if (fp_ptr->head.magic == FPSIMD_MAGIC) {
+@@ -468,9 +468,9 @@ bool ExceptionHandler::HandleSignal(int /*sig*/, siginfo_t* info, void* uc) {
+ }
+ #elif !defined(__ARM_EABI__) && !defined(__mips__)
+ // FP state is not part of user ABI on ARM Linux.
+- // In case of MIPS Linux FP state is already part of struct ucontext
++ // In case of MIPS Linux FP state is already part of ucontext_t
+ // and 'float_state' is not a member of CrashContext.
+- struct ucontext* uc_ptr = (struct ucontext*)uc;
++ ucontext_t* uc_ptr = (ucontext_t*)uc;
+ if (uc_ptr->uc_mcontext.fpregs) {
+ memcpy(&g_crash_context_.float_state, uc_ptr->uc_mcontext.fpregs,
+ sizeof(g_crash_context_.float_state));
+@@ -494,7 +494,7 @@ bool ExceptionHandler::SimulateSignalDelivery(int sig) {
+ // ExceptionHandler::HandleSignal().
+ siginfo.si_code = SI_USER;
+ siginfo.si_pid = getpid();
+- struct ucontext context;
++ ucontext_t context;
+ getcontext(&context);
+ return HandleSignal(sig, &siginfo, &context);
+ }
+diff --git a/src/client/linux/handler/exception_handler.h b/src/client/linux/handler/exception_handler.h
+index daba57e0..25598a29 100644
+--- a/src/client/linux/handler/exception_handler.h
++++ b/src/client/linux/handler/exception_handler.h
+@@ -191,11 +191,11 @@ class ExceptionHandler {
+ struct CrashContext {
+ siginfo_t siginfo;
+ pid_t tid; // the crashing thread.
+- struct ucontext context;
++ ucontext_t context;
+ #if !defined(__ARM_EABI__) && !defined(__mips__)
+ // #ifdef this out because FP state is not part of user ABI for Linux ARM.
+ // In case of MIPS Linux FP state is already part of struct
+- // ucontext so 'float_state' is not required.
++ // ucontext_t so 'float_state' is not required.
+ fpstate_t float_state;
+ #endif
+ };
+diff --git a/src/client/linux/microdump_writer/microdump_writer.cc b/src/client/linux/microdump_writer/microdump_writer.cc
+index 3764eec2..80ad5c46 100644
+--- a/src/client/linux/microdump_writer/microdump_writer.cc
++++ b/src/client/linux/microdump_writer/microdump_writer.cc
+@@ -593,7 +593,7 @@ class MicrodumpWriter {
+
+ void* Alloc(unsigned bytes) { return dumper_->allocator()->Alloc(bytes); }
+
+- const struct ucontext* const ucontext_;
++ const ucontext_t* const ucontext_;
+ #if !defined(__ARM_EABI__) && !defined(__mips__)
+ const google_breakpad::fpstate_t* const float_state_;
+ #endif
+diff --git a/src/client/linux/minidump_writer/minidump_writer.cc b/src/client/linux/minidump_writer/minidump_writer.cc
+index d11ba6e5..c7161434 100644
+--- a/src/client/linux/minidump_writer/minidump_writer.cc
++++ b/src/client/linux/minidump_writer/minidump_writer.cc
+@@ -1323,7 +1323,7 @@ class MinidumpWriter {
+ const int fd_; // File descriptor where the minidum should be written.
+ const char* path_; // Path to the file where the minidum should be written.
+
+- const struct ucontext* const ucontext_; // also from the signal handler
++ const ucontext_t* const ucontext_; // also from the signal handler
+ #if !defined(__ARM_EABI__) && !defined(__mips__)
+ const google_breakpad::fpstate_t* const float_state_; // ditto
+ #endif
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Turn-off-sign-compare-for-musl-libc.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Turn-off-sign-compare-for-musl-libc.patch
new file mode 100644
index 000000000..33bae1a37
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Turn-off-sign-compare-for-musl-libc.patch
@@ -0,0 +1,41 @@
+From ab8dcad25d0ac1f3a88814e78794e5d450de15ac Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 14 Sep 2017 23:12:51 -0700
+Subject: [PATCH 1/5] Turn off sign-compare for musl-libc
+
+Fix
+
+../../../../../../../workspace/sources/breakpad/src/client/linux/crash_generation/crash_generation_server.cc:234:14: error: comparison of integers of different signs: 'unsigned long' and 'int' [-Werror,-Wsign-compare] hdr = CMSG_NXTHDR(&msg, hdr)) { ^~~~~~~~~~~~~~~~~~~~~~
+/mnt/a/oe/build/tmp/work/cortexa7hf-neon-vfpv4-bec-linux-musleabi/breakpad/1_1.0+git999-r0/recipe-sysroot/usr/include/sys/socket.h:288:44: note: expanded from macro 'CMSG_NXTHDR' __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/client/linux/crash_generation/crash_generation_server.cc | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/src/client/linux/crash_generation/crash_generation_server.cc b/src/client/linux/crash_generation/crash_generation_server.cc
+index 2596afde..2faeb9e5 100644
+--- a/src/client/linux/crash_generation/crash_generation_server.cc
++++ b/src/client/linux/crash_generation/crash_generation_server.cc
+@@ -230,8 +230,18 @@ CrashGenerationServer::ClientEvent(short revents)
+ // Walk the control payload and extract the file descriptor and validated pid.
+ pid_t crashing_pid = -1;
+ int signal_fd = -1;
++#ifndef __GLIBC__
++ // In musl-libc, CMSG_NXTHDR typecasts char* to cmsghdr* which causes
++ // clang to throw sign-compare warning. This is to suppress the warning
++ // inline.
++ #pragma clang diagnostic push
++ #pragma clang diagnostic ignored "-Wsign-compare"
++#endif
+ for (struct cmsghdr *hdr = CMSG_FIRSTHDR(&msg); hdr;
+ hdr = CMSG_NXTHDR(&msg, hdr)) {
++#ifndef __GLIBC__
++ #pragma clang diagnostic pop
++#endif
+ if (hdr->cmsg_level != SOL_SOCKET)
+ continue;
+ if (hdr->cmsg_type == SCM_RIGHTS) {
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch
new file mode 100644
index 000000000..4583d601a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch
@@ -0,0 +1,28 @@
+From 68580cb62f77117be3164c52abae68f75e8e59a1 Mon Sep 17 00:00:00 2001
+From: Felix Janda <felix.janda@posteo.de>
+Date: Sun, 1 Feb 2015 14:26:52 +0100
+Subject: [PATCH 1/3] include <sys/reg.h> to get __WORDSIZE on musl libc
+
+---
+ src/common/linux/elf_core_dump.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+Index: git/src/common/linux/elf_core_dump.h
+===================================================================
+--- git.orig/src/common/linux/elf_core_dump.h
++++ git/src/common/linux/elf_core_dump.h
+@@ -33,10 +33,13 @@
+ #ifndef COMMON_LINUX_ELF_CORE_DUMP_H_
+ #define COMMON_LINUX_ELF_CORE_DUMP_H_
+
++#include <config.h>
+ #include <elf.h>
+ #include <link.h>
+ #include <stddef.h>
+-
++#ifdef HAVE_SYS_REG_H
++#include <sys/reg.h>
++#endif
+ #include "common/memory_range.h"
+
+ namespace google_breakpad {
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-lss-Match-syscalls-to-match-musl.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-lss-Match-syscalls-to-match-musl.patch
new file mode 100644
index 000000000..2b892ad64
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-lss-Match-syscalls-to-match-musl.patch
@@ -0,0 +1,45 @@
+From 5f7333e4f7b7485598bd71aa80967e1a16a7f901 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 14 Sep 2017 22:57:52 -0700
+Subject: [PATCH] lss: Match syscalls to match musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ linux_syscall_support.h | 3 +++
+ 1 file changed, 3 insertions(+)
+
+Index: lss/linux_syscall_support.h
+===================================================================
+--- lss.orig/linux_syscall_support.h
++++ lss/linux_syscall_support.h
+@@ -793,6 +793,9 @@ struct kernel_statfs {
+ #define FUTEX_TRYLOCK_PI_PRIVATE (FUTEX_TRYLOCK_PI | FUTEX_PRIVATE_FLAG)
+ #endif
+
++#ifndef __NR_fstatat
++#define __NR_fstatat __NR_fstatat64
++#endif
+
+ #if defined(__x86_64__)
+ #ifndef ARCH_SET_GS
+@@ -924,6 +927,7 @@ struct kernel_statfs {
+ #ifndef __NR_fallocate
+ #define __NR_fallocate 324
+ #endif
++
+ /* End of i386 definitions */
+ #elif defined(__ARM_ARCH_3__) || defined(__ARM_EABI__)
+ #ifndef __NR_setresuid
+@@ -1211,6 +1215,12 @@ struct kernel_statfs {
+ #ifndef __NR_fallocate
+ #define __NR_fallocate 285
+ #endif
++#ifndef __NR_pread
++#define __NR_pread __NR_pread64
++#endif
++#ifndef __NR_pwrite
++#define __NR_pwrite __NR_pwrite64
++#endif
+ /* End of x86-64 definitions */
+ #elif defined(__mips__)
+ #if _MIPS_SIM == _MIPS_SIM_ABI32
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-Avoid-using-basename.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-Avoid-using-basename.patch
new file mode 100644
index 000000000..bc6282981
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-Avoid-using-basename.patch
@@ -0,0 +1,29 @@
+From 806964f852773e427fea82a7716d44ce3be4498c Mon Sep 17 00:00:00 2001
+From: Felix Janda <felix.janda@posteo.de>
+Date: Sun, 1 Feb 2015 14:27:32 +0100
+Subject: [PATCH 2/3] Avoid using basename
+
+---
+ src/common/linux/dump_symbols.cc | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/common/linux/dump_symbols.cc b/src/common/linux/dump_symbols.cc
+index d029ca14..6ac4a17b 100644
+--- a/src/common/linux/dump_symbols.cc
++++ b/src/common/linux/dump_symbols.cc
+@@ -881,9 +881,9 @@ const char* ElfArchitecture(const typename ElfClass::Ehdr* elf_header) {
+ // last slash, or the whole filename if there are no slashes.
+ string BaseFileName(const string &filename) {
+ // Lots of copies! basename's behavior is less than ideal.
+- char* c_filename = strdup(filename.c_str());
+- string base = basename(c_filename);
+- free(c_filename);
++ const char *c_filename = filename.c_str();
++ const char *p = strrchr(c_filename, '/');
++ string base = p ? p+1 : c_filename;
+ return base;
+ }
+
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch
new file mode 100644
index 000000000..6c097cd22
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch
@@ -0,0 +1,60 @@
+From 0ba1b3e35e7c743b670bedc3e90001dfb868df10 Mon Sep 17 00:00:00 2001
+From: Felix Janda <felix.janda@posteo.de>
+Date: Sun, 1 Feb 2015 13:45:51 +0100
+Subject: [PATCH 2/6] Use _fpstate instead of _libc_fpstate on linux
+
+glibc defines both. musl libc only the former.
+---
+ src/client/linux/dump_writer_common/ucontext_reader.cc | 4 ++--
+ src/client/linux/dump_writer_common/ucontext_reader.h | 2 +-
+ src/client/linux/minidump_writer/minidump_writer.h | 2 +-
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+Index: git/src/client/linux/dump_writer_common/ucontext_reader.cc
+===================================================================
+--- git.orig/src/client/linux/dump_writer_common/ucontext_reader.cc
++++ git/src/client/linux/dump_writer_common/ucontext_reader.cc
+@@ -49,7 +49,7 @@ uintptr_t UContextReader::GetInstruction
+ }
+
+ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+- const struct _libc_fpstate* fp) {
++ const struct _fpstate* fp) {
+ const greg_t* regs = uc->uc_mcontext.gregs;
+
+ out->context_flags = MD_CONTEXT_X86_FULL |
+@@ -97,7 +97,7 @@ uintptr_t UContextReader::GetInstruction
+ }
+
+ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+- const struct _libc_fpstate* fpregs) {
++ const struct _fpstate* fpregs) {
+ const greg_t* regs = uc->uc_mcontext.gregs;
+
+ out->context_flags = MD_CONTEXT_AMD64_FULL;
+Index: git/src/client/linux/dump_writer_common/ucontext_reader.h
+===================================================================
+--- git.orig/src/client/linux/dump_writer_common/ucontext_reader.h
++++ git/src/client/linux/dump_writer_common/ucontext_reader.h
+@@ -50,7 +50,7 @@ struct UContextReader {
+ // info: the collection of register structures.
+ #if defined(__i386__) || defined(__x86_64)
+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+- const struct _libc_fpstate* fp);
++ const struct _fpstate* fp);
+ #elif defined(__aarch64__)
+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+ const struct fpsimd_context* fpregs);
+Index: git/src/client/linux/minidump_writer/minidump_writer.h
+===================================================================
+--- git.orig/src/client/linux/minidump_writer/minidump_writer.h
++++ git/src/client/linux/minidump_writer/minidump_writer.h
+@@ -48,7 +48,7 @@ class ExceptionHandler;
+ #if defined(__aarch64__)
+ typedef struct fpsimd_context fpstate_t;
+ #elif !defined(__ARM_EABI__) && !defined(__mips__)
+-typedef struct _libc_fpstate fpstate_t;
++typedef struct _fpstate fpstate_t;
+ #endif
+
+ // These entries store a list of memory regions that the client wants included
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-sys-signal.h-is-a-nonportable-alias-for-signal.h.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-sys-signal.h-is-a-nonportable-alias-for-signal.h.patch
new file mode 100644
index 000000000..cfd9a9b34
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-sys-signal.h-is-a-nonportable-alias-for-signal.h.patch
@@ -0,0 +1,26 @@
+From 15582e19c2545d5ffe8ff07f957d0ed602aeca74 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 14 Sep 2017 23:15:09 -0700
+Subject: [PATCH 2/5] <sys/signal.h> is a nonportable alias for <signal.h>
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/client/linux/handler/exception_handler.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/client/linux/handler/exception_handler.cc b/src/client/linux/handler/exception_handler.cc
+index 05936d28..cca023fd 100644
+--- a/src/client/linux/handler/exception_handler.cc
++++ b/src/client/linux/handler/exception_handler.cc
+@@ -78,7 +78,7 @@
+ #include <sys/wait.h>
+ #include <unistd.h>
+
+-#include <sys/signal.h>
++#include <signal.h>
+ #include <sys/ucontext.h>
+ #include <sys/user.h>
+ #include <ucontext.h>
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0003-Dont-include-stab.h.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0003-Dont-include-stab.h.patch
new file mode 100644
index 000000000..2593ea93e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0003-Dont-include-stab.h.patch
@@ -0,0 +1,88 @@
+From 569af712da94637091080943f6a0d69ccb35864e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 14 Sep 2017 23:24:08 -0700
+Subject: [PATCH 3/5] Dont include stab.h
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/common/stabs_reader.cc | 1 -
+ src/common/stabs_reader.h | 12 +++++++++++-
+ src/common/stabs_reader_unittest.cc | 1 -
+ 3 files changed, 11 insertions(+), 3 deletions(-)
+
+Index: git/src/common/stabs_reader.cc
+===================================================================
+--- git.orig/src/common/stabs_reader.cc
++++ git/src/common/stabs_reader.cc
+@@ -34,7 +34,9 @@
+ #include "common/stabs_reader.h"
+
+ #include <assert.h>
++#ifdef HAVE_STAB_H
+ #include <stab.h>
++#endif
+ #include <string.h>
+
+ #include <string>
+Index: git/src/common/stabs_reader.h
+===================================================================
+--- git.orig/src/common/stabs_reader.h
++++ git/src/common/stabs_reader.h
+@@ -58,6 +58,30 @@
+ #elif defined(HAVE_A_OUT_H)
+ #include <a.out.h>
+ #endif
++// Definitions from <stab.h> and <a.out.h> for systems which
++// do not have them
++#ifndef HAVE_A_OUT_H
++#undef N_UNDF
++#define N_UNDF 0x0
++#ifndef N_FUN
++#define N_FUN 0x24
++#endif
++#ifndef N_SLINE
++#define N_SLINE 0x44
++#endif
++#ifndef N_SO
++#define N_SO 0x64
++#endif
++#ifndef N_LSYM
++#define N_LSYM 0x80
++#endif
++#ifndef N_BINCL
++#define N_BINCL 0x82
++#endif
++#ifndef N_SOL
++#define N_SOL 0x84
++#endif
++#endif
+
+ #include <string>
+ #include <vector>
+Index: git/src/common/stabs_reader_unittest.cc
+===================================================================
+--- git.orig/src/common/stabs_reader_unittest.cc
++++ git/src/common/stabs_reader_unittest.cc
+@@ -33,7 +33,9 @@
+
+ #include <assert.h>
+ #include <errno.h>
++#ifdef HAVE_STAB_H
+ #include <stab.h>
++#endif
+ #include <stdarg.h>
+ #include <stdlib.h>
+ #include <string.h>
+Index: git/configure.ac
+===================================================================
+--- git.orig/configure.ac
++++ git/configure.ac
+@@ -72,7 +72,7 @@ AC_ARG_ENABLE(m32,
+ AC_HEADER_STDC
+ AC_SYS_LARGEFILE
+ AX_PTHREAD
+-AC_CHECK_HEADERS([a.out.h sys/random.h])
++AC_CHECK_HEADERS([a.out.h stab.h sys/random.h])
+ AC_CHECK_FUNCS([arc4random getrandom])
+
+ AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0003-Fix-conflict-between-musl-libc-dirent.h-and-lss.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0003-Fix-conflict-between-musl-libc-dirent.h-and-lss.patch
new file mode 100644
index 000000000..851004704
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0003-Fix-conflict-between-musl-libc-dirent.h-and-lss.patch
@@ -0,0 +1,35 @@
+From 7aa266545dabf9934ccd44d4fc836040497159be Mon Sep 17 00:00:00 2001
+From: Felix Janda <felix.janda@posteo.de>
+Date: Sun, 1 Feb 2015 13:41:08 +0100
+Subject: [PATCH 3/3] Fix conflict between musl libc <dirent.h> and lss
+
+Include <dirent.h> late to avoid the macro getdents64 in musl
+libc's <dirent.h> to conflict with linux_sycall_support.h.
+---
+ src/client/linux/crash_generation/crash_generation_server.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/client/linux/crash_generation/crash_generation_server.cc b/src/client/linux/crash_generation/crash_generation_server.cc
+index 26c50a5c..2596afde 100644
+--- a/src/client/linux/crash_generation/crash_generation_server.cc
++++ b/src/client/linux/crash_generation/crash_generation_server.cc
+@@ -28,7 +28,6 @@
+ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ #include <assert.h>
+-#include <dirent.h>
+ #include <fcntl.h>
+ #include <limits.h>
+ #include <poll.h>
+@@ -49,6 +48,8 @@
+ #include "common/linux/guid_creator.h"
+ #include "common/linux/safe_readlink.h"
+
++#include <dirent.h>
++
+ static const char kCommandQuit = 'x';
+
+ namespace google_breakpad {
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0004-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0004-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch
new file mode 100644
index 000000000..525a1555b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0004-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch
@@ -0,0 +1,43 @@
+From 680f9590d19a6e35c7c5587e3f4d8194aab0fcd2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 14 Sep 2017 23:28:36 -0700
+Subject: [PATCH 4/5] elf_reader.cc: include <sys/reg.h> to get __WORDSIZE on
+ musl libc
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/common/dwarf/elf_reader.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+Index: git/src/common/dwarf/elf_reader.cc
+===================================================================
+--- git.orig/src/common/dwarf/elf_reader.cc
++++ git/src/common/dwarf/elf_reader.cc
+@@ -29,10 +29,13 @@
+ #ifndef _GNU_SOURCE
+ #define _GNU_SOURCE // needed for pread()
+ #endif
+-
++#include <config.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <sys/mman.h>
++#ifdef HAVE_SYS_REG_H
++#include <sys/reg.h>
++#endif
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <string.h>
+Index: git/configure.ac
+===================================================================
+--- git.orig/configure.ac
++++ git/configure.ac
+@@ -72,7 +72,7 @@ AC_ARG_ENABLE(m32,
+ AC_HEADER_STDC
+ AC_SYS_LARGEFILE
+ AX_PTHREAD
+-AC_CHECK_HEADERS([a.out.h stab.h sys/random.h])
++AC_CHECK_HEADERS([a.out.h stab.h sys/random.h sys/reg.h])
+ AC_CHECK_FUNCS([arc4random getrandom])
+
+ AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0005-Import-necessary-definitions-from-stab.h.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0005-Import-necessary-definitions-from-stab.h.patch
new file mode 100644
index 000000000..80de8c684
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0005-Import-necessary-definitions-from-stab.h.patch
@@ -0,0 +1,199 @@
+From fa7a3b7312307acad0045549d5f306e7fd117804 Mon Sep 17 00:00:00 2001
+From: Felix Janda <felix.janda@posteo.de>
+Date: Sun, 1 Feb 2015 14:34:44 +0100
+Subject: [PATCH 5/6] Import necessary definitions from stab.h
+
+---
+ configure.ac | 1 -
+ src/common/android/include/stab.h | 100 ------------------------------------
+ src/common/common.gyp | 1 -
+ src/common/stabs_reader.cc | 1 -
+ src/common/stabs_reader.h | 13 +++--
+ src/common/stabs_reader_unittest.cc | 1 -
+ 6 files changed, 10 insertions(+), 107 deletions(-)
+ delete mode 100644 src/common/android/include/stab.h
+
+diff --git a/configure.ac b/configure.ac
+index 2223920..0e55cd9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -73,7 +73,6 @@ AC_HEADER_STDC
+ AC_SYS_LARGEFILE
+ m4_include(m4/ax_pthread.m4)
+ AX_PTHREAD
+-AC_CHECK_HEADERS([a.out.h])
+
+ # Only build Linux client libs when compiling for Linux
+ case $host in
+diff --git a/src/common/android/include/stab.h b/src/common/android/include/stab.h
+deleted file mode 100644
+index cd92902..0000000
+--- a/src/common/android/include/stab.h
++++ /dev/null
+@@ -1,100 +0,0 @@
+-// Copyright (c) 2012, Google Inc.
+-// All rights reserved.
+-//
+-// Redistribution and use in source and binary forms, with or without
+-// modification, are permitted provided that the following conditions are
+-// met:
+-//
+-// * Redistributions of source code must retain the above copyright
+-// notice, this list of conditions and the following disclaimer.
+-// * Redistributions in binary form must reproduce the above
+-// copyright notice, this list of conditions and the following disclaimer
+-// in the documentation and/or other materials provided with the
+-// distribution.
+-// * Neither the name of Google Inc. nor the names of its
+-// contributors may be used to endorse or promote products derived from
+-// this software without specific prior written permission.
+-//
+-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-
+-#ifndef GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_STAB_H
+-#define GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_STAB_H
+-
+-#include <sys/cdefs.h>
+-
+-#ifdef __BIONIC_HAVE_STAB_H
+-#include <stab.h>
+-#else
+-
+-#ifdef __cplusplus
+-extern "C" {
+-#endif // __cplusplus
+-
+-#define _STAB_CODE_LIST \
+- _STAB_CODE_DEF(UNDF,0x00) \
+- _STAB_CODE_DEF(GSYM,0x20) \
+- _STAB_CODE_DEF(FNAME,0x22) \
+- _STAB_CODE_DEF(FUN,0x24) \
+- _STAB_CODE_DEF(STSYM,0x26) \
+- _STAB_CODE_DEF(LCSYM,0x28) \
+- _STAB_CODE_DEF(MAIN,0x2a) \
+- _STAB_CODE_DEF(PC,0x30) \
+- _STAB_CODE_DEF(NSYMS,0x32) \
+- _STAB_CODE_DEF(NOMAP,0x34) \
+- _STAB_CODE_DEF(OBJ,0x38) \
+- _STAB_CODE_DEF(OPT,0x3c) \
+- _STAB_CODE_DEF(RSYM,0x40) \
+- _STAB_CODE_DEF(M2C,0x42) \
+- _STAB_CODE_DEF(SLINE,0x44) \
+- _STAB_CODE_DEF(DSLINE,0x46) \
+- _STAB_CODE_DEF(BSLINE,0x48) \
+- _STAB_CODE_DEF(BROWS,0x48) \
+- _STAB_CODE_DEF(DEFD,0x4a) \
+- _STAB_CODE_DEF(EHDECL,0x50) \
+- _STAB_CODE_DEF(MOD2,0x50) \
+- _STAB_CODE_DEF(CATCH,0x54) \
+- _STAB_CODE_DEF(SSYM,0x60) \
+- _STAB_CODE_DEF(SO,0x64) \
+- _STAB_CODE_DEF(LSYM,0x80) \
+- _STAB_CODE_DEF(BINCL,0x82) \
+- _STAB_CODE_DEF(SOL,0x84) \
+- _STAB_CODE_DEF(PSYM,0xa0) \
+- _STAB_CODE_DEF(EINCL,0xa2) \
+- _STAB_CODE_DEF(ENTRY,0xa4) \
+- _STAB_CODE_DEF(LBRAC,0xc0) \
+- _STAB_CODE_DEF(EXCL,0xc2) \
+- _STAB_CODE_DEF(SCOPE,0xc4) \
+- _STAB_CODE_DEF(RBRAC,0xe0) \
+- _STAB_CODE_DEF(BCOMM,0xe2) \
+- _STAB_CODE_DEF(ECOMM,0xe4) \
+- _STAB_CODE_DEF(ECOML,0xe8) \
+- _STAB_CODE_DEF(NBTEXT,0xf0) \
+- _STAB_CODE_DEF(NBDATA,0xf2) \
+- _STAB_CODE_DEF(NBBSS,0xf4) \
+- _STAB_CODE_DEF(NBSTS,0xf6) \
+- _STAB_CODE_DEF(NBLCS,0xf8) \
+- _STAB_CODE_DEF(LENG,0xfe)
+-
+-enum __stab_debug_code {
+-#define _STAB_CODE_DEF(x,y) N_##x = y,
+-_STAB_CODE_LIST
+-#undef _STAB_CODE_DEF
+-};
+-
+-#ifdef __cplusplus
+-} // extern "C"
+-#endif // __cplusplus
+-
+-#endif // __BIONIC_HAVE_STAB_H
+-
+-#endif // GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_STAB_H
+diff --git a/src/common/common.gyp b/src/common/common.gyp
+index f01ede5..c49ff85 100644
+--- a/src/common/common.gyp
++++ b/src/common/common.gyp
+@@ -46,7 +46,6 @@
+ 'android/include/elf.h',
+ 'android/include/link.h',
+ 'android/include/sgidefs.h',
+- 'android/include/stab.h',
+ 'android/include/sys/procfs.h',
+ 'android/include/sys/signal.h',
+ 'android/include/sys/user.h',
+diff --git a/src/common/stabs_reader.cc b/src/common/stabs_reader.cc
+index 6019fc7..9562caa 100644
+--- a/src/common/stabs_reader.cc
++++ b/src/common/stabs_reader.cc
+@@ -34,7 +34,6 @@
+ #include "common/stabs_reader.h"
+
+ #include <assert.h>
+-#include <stab.h>
+ #include <string.h>
+
+ #include <string>
+diff --git a/src/common/stabs_reader.h b/src/common/stabs_reader.h
+index d89afc0..591f007 100644
+--- a/src/common/stabs_reader.h
++++ b/src/common/stabs_reader.h
+@@ -53,12 +53,19 @@
+ #include <config.h>
+ #endif
+
+-#ifdef HAVE_A_OUT_H
+-#include <a.out.h>
+-#endif
+ #ifdef HAVE_MACH_O_NLIST_H
+ #include <mach-o/nlist.h>
+ #endif
++// Definitions from <stab.h> and <a.out.h> for systems which
++// do not have them
++#undef N_UNDF
++#define N_UNDF 0x0
++#define N_FUN 0x24
++#define N_SLINE 0x44
++#define N_SO 0x64
++#define N_LSYM 0x80
++#define N_BINCL 0x82
++#define N_SOL 0x84
+
+ #include <string>
+ #include <vector>
+diff --git a/src/common/stabs_reader_unittest.cc b/src/common/stabs_reader_unittest.cc
+index a84da1c..854ac42 100644
+--- a/src/common/stabs_reader_unittest.cc
++++ b/src/common/stabs_reader_unittest.cc
+@@ -33,7 +33,6 @@
+
+ #include <assert.h>
+ #include <errno.h>
+-#include <stab.h>
+ #include <stdarg.h>
+ #include <stdlib.h>
+ #include <string.h>
+--
+2.0.5
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0005-md2core-Replace-basename.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0005-md2core-Replace-basename.patch
new file mode 100644
index 000000000..852c1ed2c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0005-md2core-Replace-basename.patch
@@ -0,0 +1,38 @@
+From bbf2b5ed5d93b227df8aea5726727b48e29f6790 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 14 Sep 2017 23:35:40 -0700
+Subject: [PATCH 5/5] md2core: Replace basename()
+
+musl does not provide it
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/tools/linux/md2core/minidump-2-core.cc | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/tools/linux/md2core/minidump-2-core.cc b/src/tools/linux/md2core/minidump-2-core.cc
+index 6a9e28eb..52b81c22 100644
+--- a/src/tools/linux/md2core/minidump-2-core.cc
++++ b/src/tools/linux/md2core/minidump-2-core.cc
+@@ -107,6 +107,9 @@ struct Options {
+
+ static void
+ Usage(int argc, const char* argv[]) {
++ const char *c_filename = argv[0];;
++ const char *p = strrchr(c_filename, '/');
++ const char *base = p ? p+1 : c_filename;
+ fprintf(stderr,
+ "Usage: %s [options] <minidump file>\n"
+ "\n"
+@@ -133,7 +136,7 @@ Usage(int argc, const char* argv[]) {
+ " lookups to be done in this directory rather than the filesystem\n"
+ " layout as it exists in the crashing image. This path should end\n"
+ " with a slash if it's a directory. e.g. /var/lib/breakpad/\n"
+- "", basename(argv[0]));
++ "", base);
+ }
+
+ static void
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mcontext.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mcontext.patch
new file mode 100644
index 000000000..42e073b94
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mcontext.patch
@@ -0,0 +1,77 @@
+map the mcontext_t structure for musl
+
+Upstream-Status: Inappropriate[need to consider Android]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Index: git/src/client/linux/dump_writer_common/thread_info.cc
+===================================================================
+--- git.orig/src/client/linux/dump_writer_common/thread_info.cc
++++ git/src/client/linux/dump_writer_common/thread_info.cc
+@@ -229,7 +229,6 @@ void ThreadInfo::FillCPUContext(RawConte
+ }
+
+ #elif defined(__mips__)
+-
+ uintptr_t ThreadInfo::GetInstructionPointer() const {
+ return mcontext.pc;
+ }
+@@ -263,8 +262,11 @@ void ThreadInfo::FillCPUContext(RawConte
+ out->cause = 0; // Not stored in mcontext
+
+ for (int i = 0; i < MD_FLOATINGSAVEAREA_MIPS_FPR_COUNT; ++i)
++#ifdef __GLIBC__
+ out->float_save.regs[i] = mcontext.fpregs.fp_r.fp_fregs[i]._fp_fregs;
+-
++#else
++ out->float_save.regs[i] = mcontext.fpregs[i];
++#endif
+ out->float_save.fpcsr = mcontext.fpc_csr;
+ #if _MIPS_SIM == _ABIO32
+ out->float_save.fir = mcontext.fpc_eir;
+Index: git/src/client/linux/dump_writer_common/ucontext_reader.cc
+===================================================================
+--- git.orig/src/client/linux/dump_writer_common/ucontext_reader.cc
++++ git/src/client/linux/dump_writer_common/ucontext_reader.cc
+@@ -247,8 +247,11 @@ void UContextReader::FillCPUContext(RawC
+ out->cause = 0; // Not reported in signal context.
+
+ for (int i = 0; i < MD_FLOATINGSAVEAREA_MIPS_FPR_COUNT; ++i)
++#ifdef __GLIBC__
+ out->float_save.regs[i] = uc->uc_mcontext.fpregs.fp_r.fp_dregs[i];
+-
++#else
++ out->float_save.regs[i] = uc->uc_mcontext.fpregs[i];
++#endif
+ out->float_save.fpcsr = uc->uc_mcontext.fpc_csr;
+ #if _MIPS_SIM == _ABIO32
+ out->float_save.fir = uc->uc_mcontext.fpc_eir; // Unused.
+Index: git/src/client/linux/minidump_writer/linux_core_dumper.cc
+===================================================================
+--- git.orig/src/client/linux/minidump_writer/linux_core_dumper.cc
++++ git/src/client/linux/minidump_writer/linux_core_dumper.cc
+@@ -196,7 +196,7 @@ bool LinuxCoreDumper::EnumerateThreads()
+ info.tgid = status->pr_pgrp;
+ info.ppid = status->pr_ppid;
+ #if defined(__mips__)
+-#if defined(__ANDROID__)
++#if defined(__ANDROID__) || !defined(__GLIBC__)
+ for (int i = EF_R0; i <= EF_R31; i++)
+ info.mcontext.gregs[i - EF_R0] = status->pr_reg[i];
+ #else // __ANDROID__
+Index: git/src/tools/linux/md2core/minidump-2-core.cc
+===================================================================
+--- git.orig/src/tools/linux/md2core/minidump-2-core.cc
++++ git/src/tools/linux/md2core/minidump-2-core.cc
+@@ -516,8 +516,12 @@ ParseThreadRegisters(CrashedProcess::Thr
+ thread->mcontext.lo3 = rawregs->lo[2];
+
+ for (int i = 0; i < MD_FLOATINGSAVEAREA_MIPS_FPR_COUNT; ++i) {
++#ifdef __GLIBC__
+ thread->mcontext.fpregs.fp_r.fp_fregs[i]._fp_fregs =
+ rawregs->float_save.regs[i];
++#else
++ thread->mcontext.fpregs[i] = rawregs->float_save.regs[i];
++#endif
+ }
+
+ thread->mcontext.fpc_csr = rawregs->float_save.fpcsr;
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mips_asm_sgidefs.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mips_asm_sgidefs.patch
new file mode 100644
index 000000000..19bb56044
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mips_asm_sgidefs.patch
@@ -0,0 +1,27 @@
+Index: lss/linux_syscall_support.h
+===================================================================
+--- lss.orig/linux_syscall_support.h
++++ lss/linux_syscall_support.h
+@@ -118,21 +118,13 @@ extern "C" {
+ #include <endian.h>
+
+ #ifdef __mips__
+-/* Include definitions of the ABI currently in use. */
+-#ifdef __ANDROID__
+-/* Android doesn't have sgidefs.h, but does have asm/sgidefs.h,
+- * which has the definitions we need.
+- */
+ #include <asm/sgidefs.h>
+-#else
+-#include <sgidefs.h>
+-#endif
+ #endif
+ #endif
+
+ /* The Android NDK's <sys/stat.h> #defines these macros as aliases
+ * to their non-64 counterparts. To avoid naming conflict, remove them. */
+-#ifdef __ANDROID__
++#if defined(__ANDROID__) || (defined(__linux__) && !defined(__glibc__))
+ /* These are restored by the corresponding #pragma pop_macro near
+ * the end of this file. */
+ # pragma push_macro("stat64")
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
index 36c2b6349..5f6d82c94 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
@@ -17,24 +17,37 @@ PE = "1"
PV = "1.0+git${SRCPV}"
-SRCREV_FORMAT = "breakpad_glog_gmock_gtest_protobuf_lss"
+SRCREV_FORMAT = "breakpad_gtest_protobuf_lss_gyp"
-SRCREV_breakpad = "2f6cb866d615d6240a18c7535c994c6bb93b1ba5"
-SRCREV_glog = "d8cb47f77d1c31779f3ff890e1a5748483778d6a"
-SRCREV_gmock = "f7d03d2734759ee12b57d2dbcb695607d89e8e05"
+SRCREV_breakpad = "dea867e76f24e4a68395684b9d1cf24bcef82f20"
SRCREV_gtest = "ec44c6c1675c25b9827aacd08c02433cccde7780"
SRCREV_protobuf = "cb6dd4ef5f82e41e06179dcd57d3b1d9246ad6ac"
-SRCREV_lss = "1549d20f6d3e7d66bb4e687c0ab9da42c2bff2ac"
+SRCREV_lss = "a91633d172407f6c83dd69af11510b37afebb7f9"
+SRCREV_gyp = "324dd166b7c0b39d513026fa52d6280ac6d56770"
SRC_URI = "git://github.com/google/breakpad;name=breakpad \
- git://github.com/google/glog.git;destsuffix=git/src/third_party/glog;name=glog \
- git://github.com/google/googlemock.git;destsuffix=git/src/testing;name=gmock \
git://github.com/google/googletest.git;destsuffix=git/src/testing/gtest;name=gtest \
git://github.com/google/protobuf.git;destsuffix=git/src/third_party/protobuf/protobuf;name=protobuf \
git://chromium.googlesource.com/linux-syscall-support;protocol=https;destsuffix=git/src/third_party/lss;name=lss \
+ git://chromium.googlesource.com/external/gyp;protocol=https;destsuffix=git/src/tools/gyp;name=gyp \
+ file://0001-Replace-use-of-struct-ucontext-with-ucontext_t.patch \
+ file://0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch \
+ file://0002-Avoid-using-basename.patch \
+ file://0003-Fix-conflict-between-musl-libc-dirent.h-and-lss.patch \
+ file://0001-Turn-off-sign-compare-for-musl-libc.patch \
+ file://0002-sys-signal.h-is-a-nonportable-alias-for-signal.h.patch \
+ file://0003-Dont-include-stab.h.patch \
+ file://0004-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch \
+ file://0005-md2core-Replace-basename.patch \
+ file://0002-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch \
+ file://mcontext.patch \
+ file://0001-lss-Match-syscalls-to-match-musl.patch;patchdir=src/third_party/lss \
+ file://mips_asm_sgidefs.patch;patchdir=src/third_party/lss \
"
S = "${WORKDIR}/git"
+CXXFLAGS += "-D_GNU_SOURCE"
+
COMPATIBLE_MACHINE_powerpc = "(!.*ppc).*"
do_install_append() {
@@ -67,7 +80,7 @@ do_install_append() {
install -m 0644 ${S}/src/google_breakpad/common/minidump_format.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_format.h
install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_amd64.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_amd64.h
install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_arm.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_arm.h
- install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_arm.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_arm64.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_arm64.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_arm64.h
install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_mips.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_mips.h
install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_ppc64.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_ppc64.h
install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_ppc.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_ppc.h
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.6.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.6.1.bb
new file mode 100644
index 000000000..ffbe73fee
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.6.1.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Cap'n Proto serialization/RPC system"
+DESCRIPTION = "Cap’n Proto is an insanely fast data interchange format and capability-based RPC system. "
+HOMEPAGE = "https://github.com/sandstorm-io/capnproto"
+SECTION = "console/tools"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://../LICENSE;md5=0a5b5b742baf10cc1c158579eba7fb1d"
+
+SRCREV = "c949a18da5f041a36cc218c5c4b79c7705999b4f"
+SRC_URI = "git://github.com/sandstorm-io/capnproto.git;branch=release-${PV}"
+
+EXTRA_OECMAKE += "\
+ -DBUILD_TESTING=OFF \
+"
+
+inherit cmake
+
+S = "${WORKDIR}/git/c++"
+
+PACKAGE_BEFORE_PN = "${PN}-compiler"
+RDEPENDS_${PN}-dev += "${PN}-compiler"
+
+FILES_${PN}-dev += "${libdir}/cmake"
+FILES_${PN}-compiler = "${bindir}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/0001-ide-use-node-as-interpreter-for-sketches-instead-of-.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/0001-ide-use-node-as-interpreter-for-sketches-instead-of-.patch
deleted file mode 100644
index b32311a82..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/0001-ide-use-node-as-interpreter-for-sketches-instead-of-.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From ac1953d04f3f26d6aa5d8f53a9397d3ba0e96fa3 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@circuitco.com>
-Date: Fri, 11 May 2012 15:23:02 +0000
-Subject: [PATCH] ide: use 'node' as interpreter for sketches instead of
- argv[0]
-
-This enables running scripts with node 0.6.x instead of 0.4.x
-
-Signed-off-by: root <root@beaglebone.(none)>
----
- server/cloud9/ide.js | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/server/cloud9/ide.js b/server/cloud9/ide.js
-index ce782f5..6c4e0f7 100644
---- a/server/cloud9/ide.js
-+++ b/server/cloud9/ide.js
-@@ -53,7 +53,7 @@ var Ide = module.exports = function(options, httpServer, exts, socket) {
- };
-
- this.$users = {};
-- this.nodeCmd = process.argv[0];
-+ this.nodeCmd = "node";
-
- var davOptions = {
- node: this.options.mountDir,
---
-1.7.7
-
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
deleted file mode 100644
index c6d78905d..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9_0.6.bb
+++ /dev/null
@@ -1,118 +0,0 @@
-SUMMARY = "Meet Cloud9, development-as-a-service for Javascripters and other developers"
-HOMEPAGE = "http://c9.io"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=4784c3bcff601fd8f9515f52a11e7018"
-
-PR = "r5"
-
-# Nodejs-native for node-waf, nodejs4-native for the headers
-DEPENDS = "libxml2 nodejs-native nodejs4-native"
-
-PNBLACKLIST[cloud9] ?= "Not comatible with current nodejs 0.12, but upstream is working on it for v3 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-inherit systemd
-
-SRC_URI = "git://github.com/ajaxorg/cloud9.git;name=cloud9ide \
- git://github.com/ajaxorg/o3;destsuffix=o3;name=o3 \
- git://github.com/ajaxorg/ace.git;destsuffix=git/support/ace;name=ace \
- git://github.com/ajaxorg/ace.wiki.git;destsuffix=git/support/ace/doc/wiki;name=acewiki \
- git://github.com/ajaxorg/apf.git;destsuffix=git/support/apf;name=apf \
- git://github.com/ajaxorg/async.js.git;destsuffix=git/support/asyncjs;name=asyncjs \
- git://github.com/ajaxorg/connect.git;destsuffix=git/support/connect;name=connect;branch=ajaxorg \
- git://github.com/jashkenas/coffee-script.git;destsuffix=git/support/connect/support/coffee-script;name=coffee-script \
- git://github.com/visionmedia/expresso.git;destsuffix=git/support/connect/support/expresso;name=expresso \
- git://github.com/visionmedia/node-jscoverage.git;destsuffix=git/support/connect/support/expresso/deps/jscoverage;name=jscoverage \
- git://github.com/cloudhead/less.js.git;destsuffix=git/support/connect/support/less;name=less \
- git://github.com/matehat/sass.js.git;destsuffix=git/support/connect/support/sass;name=sass \
- git://github.com/ajaxorg/jsDAV.git;destsuffix=git/support/jsdav;name=jsdav \
- git://github.com/fjakobs/async.js.git;destsuffix=git/support/jsdav/support/async.js;name=async-js \
- git://github.com/felixge/node-formidable.git;destsuffix=git/support/jsdav/support/formidable;name=formidable \
- git://github.com/ajaxorg/jsftp.git;destsuffix=git/support/jsdav/support/jsftp;name=jsftp \
- git://github.com/Gozala/streamer.git;destsuffix=git/support/jsdav/support/jsftp/support/streamer;name=streamer \
- git://github.com/ajaxorg/node-sftp.git;destsuffix=git/support/jsdav/support/node-sftp;name=sftp \
- git://github.com/ajaxorg/lib-v8debug.git;destsuffix=git/support/lib-v8debug;name=lib-v8debug \
- git://github.com/ajaxorg/socket.io.git;destsuffix=git/support/socket.io;name=socketio;branch=cadorn-upstream \
- git://github.com/LearnBoost/socket.io-client.git;destsuffix=git/support/socket.io-client;name=socketio-client \
- git://github.com/ajaxorg/treehugger.git;destsuffix=git/support/treehugger;name=treehugger \
- git://github.com/ajaxorg/UglifyJS.git;destsuffix=git/support/uglify-js;name=uglify-js \
- file://index.js \
- file://cloud9-avahi.service \
- file://cloud9.service \
- file://0001-ide-use-node-as-interpreter-for-sketches-instead-of-.patch \
-"
-
-SRCREV_cloud9ide = "c4e2574896a22bb749f0500b25f41c888d346bed"
-SRCREV_o3 = "d66d4e3252e505f44ada6804c8cab39915ce8afd"
-SRCREV_ace = "0fc5392cbe46fb134052c3065a238ad8e3b31cfd"
-SRCREV_acewiki = "d2a65d0addc2e5ab922bbff9cb6022a4652b4f13"
-SRCREV_apf = "2560b762b2b0e5a8b46f8a4062f927a9a9d239f4"
-SRCREV_asyncjs = "d36ead408e2959b1e99572114ef3a1b6a48c1072"
-SRCREV_connect = "6bec95b51f2286b942bc7f340d62d816bcdc13d4"
-SRCREV_coffee-script = "a53c104db16d3ac9d13cf9f16834edec250b9749"
-SRCREV_expresso = "7f10ab7fa655299b4e2f519065b0495e6ac34ef2"
-SRCREV_jscoverage = "0d4608a6b4275b020ba665389aa75897d5d4a584"
-SRCREV_less = "a2807288008587b95c6c2f8ba5cac16f1bcab98f"
-SRCREV_sass = "4dfd4c699e7a8baf226215ab044854c4507f4420"
-SRCREV_jsdav = "f04ebf3d012cc8aeabfcfb2b8fab8966d52929e9"
-SRCREV_async-js = "92fb710a70efd3cdc2376ebfba71a7fb3a4f1651"
-SRCREV_formidable = "a37292d4b7d6d76a38909ed670334c9068d40871"
-SRCREV_jsftp = "e3f10c8927347c170cdd0150ef38e18272acf942"
-SRCREV_streamer = "1a7f75d4065819171ac91a09974199b932dbe17d"
-SRCREV_sftp = "a0539345134970d7535a19cb2608e3d1bc119d71"
-SRCREV_lib-v8debug = "7c11897f4bc77c7275c2b6dff5becc72ac018662"
-SRCREV_socketio = "735d5239b325df2ba67d2b9bb4ec32442283bc06"
-SRCREV_socketio-client = "4375ef1344ecb8ad75a3848a00af6b391822f86b"
-SRCREV_treehugger = "436d0d6dd0ce43782e6be08ad12c356730626996"
-SRCREV_uglify-js = "941c845c4a01e4e47a158458fe846eb36d0828ad"
-
-SRCREV_FORMAT = "cloud9ide"
-
-S = "${WORKDIR}/git"
-
-do_configure () {
- cd ${WORKDIR}/o3
- node-waf -vv configure
-}
-
-EXTRA_CXXFLAGS = "-Idefault/include -I../include -Idefault/hosts -I../hosts -Idefault/modules -I../modules -Idefault/deps -I../deps -I${STAGING_DIR_NATIVE}/usr/include/node4 -fPIC -DPIC"
-
-do_compile () {
- cd ${WORKDIR}/o3
- node4 tools/gluegen.js
- cd hosts
- ${CXX} ${TARGET_CXXFLAGS} ${EXTRA_CXXFLAGS} -c -o sh_node.o node-o3/sh_node.cc
- ${CXX} ${TARGET_CXXFLAGS} ${EXTRA_CXXFLAGS} -c -o sh_node_libs.o node-o3/sh_node_libs.cc
- cd ..
- ${CXX} ${TARGET_LDFLAGS} hosts/sh_node.o hosts/sh_node_libs.o -o o3.node -shared -Wl,-Bdynamic -lxml2
-}
-
-do_install () {
- install -m 0755 -d ${D}${datadir}/cloud9 ${D}${bindir} ${D}/var/lib/cloud9
- rsync -r --exclude=".*" ${S}/* ${D}${datadir}/cloud9
-
- touch ${D}${bindir}/cloud9
- echo "#!/bin/sh" > ${D}${bindir}/cloud9
- echo "node4 ${datadir}/cloud9/bin/cloud9.js -l 0.0.0.0 -w /var/lib/cloud9 -p 3000" >> ${D}${bindir}/cloud9
- chmod 0755 ${D}${bindir}/cloud9
-
- install -m 0755 -d ${D}${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/o3-xml
- install -m 0644 ${WORKDIR}/index.js ${D}${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/o3-xml/index.js
- install -m 0644 ${WORKDIR}/o3/modules/o3.js ${D}${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/o3-xml/o3.js
- install -m 0755 ${WORKDIR}/o3/o3.node ${D}${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/o3-xml/o3.node
-
- 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
-}
-
-FILES_${PN}-dbg += "${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/o3-xml/.debug \
- ${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/.debug \
-"
-
-RDEPENDS_${PN} = "nodejs4 nodejs gzip"
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "cloud9.service"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.67.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.67.bb
index 62b279618..8472aca6c 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.67.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.67.bb
@@ -1,7 +1,7 @@
SUMMARY = "Install a Debian system into a subdirectory"
HOMEPAGE = "https://wiki.debian.org/Debootstrap"
SECTION = "devel"
-LICENSE = "debootstrap-custom-license"
+LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://debian/copyright;md5=1e68ced6e1689d4cd9dac75ff5225608"
inherit pkgconfig
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/Stop-using-relative-path-for-scsilib.c-link.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/Stop-using-relative-path-for-scsilib.c-link.patch
deleted file mode 100644
index ccb9a02da..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/Stop-using-relative-path-for-scsilib.c-link.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 4cf7e16fe9b773e2e7763d4b773854eefe2aa9ab Mon Sep 17 00:00:00 2001
-From: Otavio Salvador <otavio@ossystems.com.br>
-Date: Tue, 12 Jan 2016 09:59:55 -0200
-Subject: [PATCH] Stop using relative path for scsilib.c link
-Organization: O.S. Systems Software LTDA.
-
-Upstream-Status: Pending
-
-Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
----
- Makefile.linux | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile.linux b/Makefile.linux
-index 78333ff..e210564 100644
---- a/Makefile.linux
-+++ b/Makefile.linux
-@@ -129,7 +129,7 @@ scsilib.c:
- echo "Please specify OS={aix,linux,hpux,solaris,windows}"; \
- exit 1; \
- fi; \
-- ln -sf ../scsilib-$(OS).c scsilib.c
-+ ln -sf scsilib-$(OS).c scsilib.c
-
- print:;
- @$(PRINTER) $(PRINTFLAGS) $(ALL_CFILES)
---
-2.1.4
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/Use-tcsh-shell.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/Use-tcsh-shell.patch
deleted file mode 100644
index 0c00fdf41..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/Use-tcsh-shell.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From e3c6eb8776f659eb9e6eeccf90d785eff18ecf74 Mon Sep 17 00:00:00 2001
-From: Otavio Salvador <otavio@ossystems.com.br>
-Date: Mon, 15 Feb 2016 18:00:05 -0200
-Subject: [PATCH] Use 'tcsh' shell
-Organization: O.S. Systems Software LTDA.
-
-Upstream-Status: Pending
-
-Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
----
- Scripts/dta | 2 +-
- Scripts/dtc | 2 +-
- Scripts/dtf | 2 +-
- Scripts/dtr | 2 +-
- Scripts/dts | 2 +-
- Scripts/dtt | 2 +-
- Scripts/dtw | 2 +-
- 7 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/Scripts/dta b/Scripts/dta
-index ebc7072..4f90247 100755
---- a/Scripts/dta
-+++ b/Scripts/dta
-@@ -1,4 +1,4 @@
--#!/bin/csh
-+#!/bin/tcsh
- #
- # Script file to test asynchronous communication lines.
- #
-diff --git a/Scripts/dtc b/Scripts/dtc
-index da69c2e..89d48c2 100755
---- a/Scripts/dtc
-+++ b/Scripts/dtc
-@@ -1,4 +1,4 @@
--#!/bin/csh
-+#!/bin/tcsh
- # %Z%%M% %I% %E%
- #
- # Date: August 7, 1990
-diff --git a/Scripts/dtf b/Scripts/dtf
-index 9f8cd87..321d261 100755
---- a/Scripts/dtf
-+++ b/Scripts/dtf
-@@ -1,4 +1,4 @@
--#! /bin/csh
-+#! /bin/tcsh
- #
- # Script file to gather floppy disk performance data.
- #
-diff --git a/Scripts/dtr b/Scripts/dtr
-index ddb7947..1ff5a0b 100755
---- a/Scripts/dtr
-+++ b/Scripts/dtr
-@@ -1,4 +1,4 @@
--#!/bin/csh
-+#!/bin/tcsh
- # %Z%%M% %I% %E%
- #
- # Date: August 21, 1990
-diff --git a/Scripts/dts b/Scripts/dts
-index 6b8a167..42d2312 100755
---- a/Scripts/dts
-+++ b/Scripts/dts
-@@ -1,4 +1,4 @@
--#!/bin/csh
-+#!/bin/tcsh
- # %Z%%M% %I% %E%
- #
- # Date: August 7, 1990
-diff --git a/Scripts/dtt b/Scripts/dtt
-index 36cc6bd..df19d2f 100755
---- a/Scripts/dtt
-+++ b/Scripts/dtt
-@@ -1,4 +1,4 @@
--#! /bin/csh
-+#! /bin/tcsh
- # %Z%%M% %I% %E%
- #
- # Date: August 7, 1990
-diff --git a/Scripts/dtw b/Scripts/dtw
-index 8a4ac39..c58e304 100755
---- a/Scripts/dtw
-+++ b/Scripts/dtw
-@@ -1,4 +1,4 @@
--#!/bin/csh
-+#!/bin/tcsh
- # %Z%%M% %I% %E%
- #
- # Date: August 21, 1990
---
-2.1.4
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/dt-default-source-define.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/dt-default-source-define.patch
deleted file mode 100644
index 87016edf0..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/dt-default-source-define.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Patch from http://pkgs.fedoraproject.org/git/rpms/dt.git
-
-Upstream-Status: Pending
-
-Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
-
-diff -rupN dt.v18.32.old/common.h dt.v18.32/common.h
---- dt.v18.32.old/common.h 2013-03-01 23:52:30.000000000 +0100
-+++ dt.v18.32/common.h 2014-09-24 17:41:40.777604710 +0200
-@@ -127,7 +127,7 @@ typedef volatile slarge_t v_slarge;
-
- #endif /* defined(_WIN64) */
-
--#elif defined(__GNUC__) && defined(_BSD_SOURCE) || defined(SCO) || defined(__QNXNTO__) || defined(SOLARIS) || defined(HP_UX) || defined(AIX) || defined(_NT_SOURCE)
-+#elif defined(__GNUC__) && defined(_BSD_SOURCE) || defined (_DEFAULT_SOURCE) || defined(SCO) || defined(__QNXNTO__) || defined(SOLARIS) || defined(HP_UX) || defined(AIX) || defined(_NT_SOURCE)
-
- #define QuadIsLongLong
- typedef unsigned long long int large_t;
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/dt-wformat-security.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/dt-wformat-security.patch
deleted file mode 100644
index b6780c196..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/dt-wformat-security.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-Patch from http://pkgs.fedoraproject.org/git/rpms/dt.git
-
-Upstream-Status: Pending
-
-Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
-
-diff -rupN dt.v18.32.old/dt.c dt.v18.32/dt.c
---- dt.v18.32.old/dt.c 2014-08-18 14:45:53.242351115 +0200
-+++ dt.v18.32/dt.c 2014-08-18 15:11:36.367719880 +0200
-@@ -4378,7 +4378,7 @@ report_error(
- (void)sprintf(dip->di_msg_buffer, "(%d): '%s', errno = %d - %s\n",
- dip->di_process_id, error_info, errno, emsg);
- }
-- syslog(LOG_ERR, dip->di_msg_buffer);
-+ syslog(LOG_ERR, "%s", dip->di_msg_buffer);
- }
- #endif /* defined(SYSLOG) */
-
-diff -rupN dt.v18.32.old/dtutil.c dt.v18.32/dtutil.c
---- dt.v18.32.old/dtutil.c 2014-08-18 14:45:53.354350779 +0200
-+++ dt.v18.32/dtutil.c 2014-08-18 15:13:53.835307311 +0200
-@@ -5180,7 +5180,7 @@ ReportDeviceInfo (
- bp += Sprintf(bp,
- "(%d) Device name: %s\n",
- dip->di_process_id, dip->di_dname);
-- syslog(LOG_ERR, dip->di_msg_buffer);
-+ syslog(LOG_ERR, "%s", dip->di_msg_buffer);
- bp = dip->di_msg_buffer;
- # if defined(SCSI)
- if (dip->di_serial_number) {
-@@ -5193,7 +5193,7 @@ ReportDeviceInfo (
- dip->di_process_id, dip->di_device_id);
- }
- # endif /* defined(SCSI) */
-- syslog(LOG_ERR, dip->di_msg_buffer);
-+ syslog(LOG_ERR, "%s", dip->di_msg_buffer);
- bp = dip->di_msg_buffer;
- bp += Sprintf(bp,
- "(%d) Relative block number where the error occurred is " LUF ","
-@@ -5203,7 +5203,7 @@ ReportDeviceInfo (
- } else {
- bp += Sprintf(bp, "\n");
- }
-- syslog(LOG_ERR, dip->di_msg_buffer);
-+ syslog(LOG_ERR, "%s", dip->di_msg_buffer);
- }
- #endif /* defined(SYSLOG) */
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt_18.32.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt_18.32.bb
deleted file mode 100644
index 0234f765a..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt_18.32.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-SUMMARY = "Generic data test program"
-DESCRIPTION = "The Data Test Program (dt) is a generic data test program used to verify proper \
-operation of peripherals, file systems, device drivers, or any data stream supported by the \
-operating system."
-HOMEPAGE = "http://www.scsifaq.org/RMiller_Tools/dt.html"
-
-SECTION = "console/tests"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=be8bb25bbcfaa0725710d188e5152668"
-
-# Source URI taken from Fedora RPM spec file at:
-# http://pkgs.fedoraproject.org/git/rpms/dt.git
-SRC_URI = "http://dl.dropboxusercontent.com/u/32363629/Datatest/dt-source-v${PV}.tar.gz \
- file://dt-default-source-define.patch \
- file://dt-wformat-security.patch \
- file://Stop-using-relative-path-for-scsilib.c-link.patch \
- file://Use-tcsh-shell.patch \
-"
-
-SRC_URI[md5sum] = "3054aeaaba047a1dbe90c2132a382ee2"
-SRC_URI[sha256sum] = "10d164676e918a4d07f233bcd11e4cb6bfd1052c996182cd1827ccd0c063fcc6"
-
-S = "${WORKDIR}/dt.v${PV}"
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-EXTRA_OEMAKE += "-f Makefile.linux \
- OS=linux \
- CFLAGS="-I.. -DAIO -DFIFO -DMMAP -D__linux__ -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DTHREADS -DSCSI""
-
-do_compile() {
- oe_runmake
-}
-
-do_install() {
- install -Dm755 dt ${D}${sbindir}/dt
- install -Dm644 Documentation/dt.man ${D}${mandir}/man8/dt.8
-
- install -d ${D}${datadir}/dt/
- install -d ${D}${docdir}/dt/html/
- install -m755 Scripts/dt? ${D}${datadir}/dt/
- install -m644 data/pattern_* ${D}${datadir}/dt/
- install -m644 html/* ${D}${docdir}/dt/html/
-}
-
-RDEPENDS_${PN} += "tcsh"
-
-PNBLACKLIST[dt] ?= "Rdepends on blacklisted tcsh - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-correct-version-for-so-lib.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-correct-version-for-so-lib.patch
new file mode 100644
index 000000000..a7a42f981
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-correct-version-for-so-lib.patch
@@ -0,0 +1,26 @@
+From 8b44dc65d98d50b462843ac9dab6fe3fc25abe36 Mon Sep 17 00:00:00 2001
+From: Pascal Bach <pascal.bach@siemens.com>
+Date: Fri, 12 May 2017 13:54:49 +0200
+Subject: [PATCH] correct version for so lib
+
+Upstream-Status: Pending
+
+---
+ CMakeLists.txt | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3670afe..f4fcd2c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -172,6 +172,7 @@ endif()
+ if(FLATBUFFERS_BUILD_SHAREDLIB)
+ add_library(flatbuffers_shared SHARED ${FlatBuffers_Library_SRCS})
+ set_target_properties(flatbuffers_shared PROPERTIES OUTPUT_NAME flatbuffers)
++ set_target_properties(flatbuffers_shared PROPERTIES VERSION "${PV}")
+ endif()
+
+ function(compile_flatbuffers_schema_to_cpp SRC_FBS)
+--
+2.1.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-flatbuffers-Move-EndianSwap-template-to-flatbuffers-.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-flatbuffers-Move-EndianSwap-template-to-flatbuffers-.patch
new file mode 100644
index 000000000..d736f012b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-flatbuffers-Move-EndianSwap-template-to-flatbuffers-.patch
@@ -0,0 +1,113 @@
+From a614d8e20fa9e4fd16b699d581ddac2956c120f5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 19 Sep 2017 10:04:02 -0700
+Subject: [PATCH 1/2] flatbuffers: Move EndianSwap template to
+ flatbuffers/base.h
+
+Clang complains
+call to function 'EndianSwap' that is neither visible in the template definition nor found by argument-dependent lookup
+ return EndianSwap(t);
+
+This seems to be due to limitation of two-phase lookup of dependent names in template definitions
+
+Its not being found using associated namespaces therefore
+it has to be made visible at the template definition site as well
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted
+
+ include/flatbuffers/base.h | 33 +++++++++++++++++++++++++++++++++
+ include/flatbuffers/flatbuffers.h | 32 --------------------------------
+ 2 files changed, 33 insertions(+), 32 deletions(-)
+
+diff --git a/include/flatbuffers/base.h b/include/flatbuffers/base.h
+index f051755..c73fb2d 100644
+--- a/include/flatbuffers/base.h
++++ b/include/flatbuffers/base.h
+@@ -150,6 +150,39 @@ typedef uintmax_t largest_scalar_t;
+ // We support aligning the contents of buffers up to this size.
+ #define FLATBUFFERS_MAX_ALIGNMENT 16
+
++template<typename T> T EndianSwap(T t) {
++ #if defined(_MSC_VER)
++ #define FLATBUFFERS_BYTESWAP16 _byteswap_ushort
++ #define FLATBUFFERS_BYTESWAP32 _byteswap_ulong
++ #define FLATBUFFERS_BYTESWAP64 _byteswap_uint64
++ #else
++ #if defined(__GNUC__) && __GNUC__ * 100 + __GNUC_MINOR__ < 408
++ // __builtin_bswap16 was missing prior to GCC 4.8.
++ #define FLATBUFFERS_BYTESWAP16(x) \
++ static_cast<uint16_t>(__builtin_bswap32(static_cast<uint32_t>(x) << 16))
++ #else
++ #define FLATBUFFERS_BYTESWAP16 __builtin_bswap16
++ #endif
++ #define FLATBUFFERS_BYTESWAP32 __builtin_bswap32
++ #define FLATBUFFERS_BYTESWAP64 __builtin_bswap64
++ #endif
++ if (sizeof(T) == 1) { // Compile-time if-then's.
++ return t;
++ } else if (sizeof(T) == 2) {
++ auto r = FLATBUFFERS_BYTESWAP16(*reinterpret_cast<uint16_t *>(&t));
++ return *reinterpret_cast<T *>(&r);
++ } else if (sizeof(T) == 4) {
++ auto r = FLATBUFFERS_BYTESWAP32(*reinterpret_cast<uint32_t *>(&t));
++ return *reinterpret_cast<T *>(&r);
++ } else if (sizeof(T) == 8) {
++ auto r = FLATBUFFERS_BYTESWAP64(*reinterpret_cast<uint64_t *>(&t));
++ return *reinterpret_cast<T *>(&r);
++ } else {
++ assert(0);
++ }
++}
++
++
+ template<typename T> T EndianScalar(T t) {
+ #if FLATBUFFERS_LITTLEENDIAN
+ return t;
+diff --git a/include/flatbuffers/flatbuffers.h b/include/flatbuffers/flatbuffers.h
+index 9216cf4..f749dcb 100644
+--- a/include/flatbuffers/flatbuffers.h
++++ b/include/flatbuffers/flatbuffers.h
+@@ -37,38 +37,6 @@ inline void EndianCheck() {
+ (void)endiantest;
+ }
+
+-template<typename T> T EndianSwap(T t) {
+- #if defined(_MSC_VER)
+- #define FLATBUFFERS_BYTESWAP16 _byteswap_ushort
+- #define FLATBUFFERS_BYTESWAP32 _byteswap_ulong
+- #define FLATBUFFERS_BYTESWAP64 _byteswap_uint64
+- #else
+- #if defined(__GNUC__) && __GNUC__ * 100 + __GNUC_MINOR__ < 408
+- // __builtin_bswap16 was missing prior to GCC 4.8.
+- #define FLATBUFFERS_BYTESWAP16(x) \
+- static_cast<uint16_t>(__builtin_bswap32(static_cast<uint32_t>(x) << 16))
+- #else
+- #define FLATBUFFERS_BYTESWAP16 __builtin_bswap16
+- #endif
+- #define FLATBUFFERS_BYTESWAP32 __builtin_bswap32
+- #define FLATBUFFERS_BYTESWAP64 __builtin_bswap64
+- #endif
+- if (sizeof(T) == 1) { // Compile-time if-then's.
+- return t;
+- } else if (sizeof(T) == 2) {
+- auto r = FLATBUFFERS_BYTESWAP16(*reinterpret_cast<uint16_t *>(&t));
+- return *reinterpret_cast<T *>(&r);
+- } else if (sizeof(T) == 4) {
+- auto r = FLATBUFFERS_BYTESWAP32(*reinterpret_cast<uint32_t *>(&t));
+- return *reinterpret_cast<T *>(&r);
+- } else if (sizeof(T) == 8) {
+- auto r = FLATBUFFERS_BYTESWAP64(*reinterpret_cast<uint64_t *>(&t));
+- return *reinterpret_cast<T *>(&r);
+- } else {
+- assert(0);
+- }
+-}
+-
+ template<typename T> FLATBUFFERS_CONSTEXPR size_t AlignOf() {
+ #ifdef _MSC_VER
+ return __alignof(T);
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0002-use-__builtin_bswap16-when-building-with-clang.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0002-use-__builtin_bswap16-when-building-with-clang.patch
new file mode 100644
index 000000000..460159f27
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0002-use-__builtin_bswap16-when-building-with-clang.patch
@@ -0,0 +1,30 @@
+From 626fe5e043de25e970ebdf061b88c646fa689113 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 19 Sep 2017 10:09:31 -0700
+Subject: [PATCH 2/2] use __builtin_bswap16 when building with clang
+
+clang pretends to be gcc 4.2.0 and therefore the code does
+not use __builtin_bswap16 but tries to synthesize it
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted
+ include/flatbuffers/base.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/flatbuffers/base.h b/include/flatbuffers/base.h
+index c73fb2d..13e8fac 100644
+--- a/include/flatbuffers/base.h
++++ b/include/flatbuffers/base.h
+@@ -156,7 +156,7 @@ template<typename T> T EndianSwap(T t) {
+ #define FLATBUFFERS_BYTESWAP32 _byteswap_ulong
+ #define FLATBUFFERS_BYTESWAP64 _byteswap_uint64
+ #else
+- #if defined(__GNUC__) && __GNUC__ * 100 + __GNUC_MINOR__ < 408
++ #if defined(__GNUC__) && __GNUC__ * 100 + __GNUC_MINOR__ < 408 && !defined(__clang__)
+ // __builtin_bswap16 was missing prior to GCC 4.8.
+ #define FLATBUFFERS_BYTESWAP16(x) \
+ static_cast<uint16_t>(__builtin_bswap32(static_cast<uint32_t>(x) << 16))
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.7.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.7.1.bb
new file mode 100644
index 000000000..a8df44485
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.7.1.bb
@@ -0,0 +1,37 @@
+SUMMARY = "Memory Efficient Serialization Library"
+HOMEPAGE = "https://github.com/google/flatbuffers"
+SECTION = "console/tools"
+LICENSE = "Apache-2.0"
+
+PACKAGE_BEFORE_PN = "${PN}-compiler"
+
+RDEPENDS_${PN}-compiler = "${PN}"
+RDEPENDS_${PN}-dev += "${PN}-compiler"
+
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a873c5645c184d51e0f9b34e1d7cf559"
+
+SRCREV = "25a15950f5a24d7217689739ed8f6dac64912d62"
+
+SRC_URI = "git://github.com/google/flatbuffers.git \
+ file://0001-correct-version-for-so-lib.patch \
+ file://0001-flatbuffers-Move-EndianSwap-template-to-flatbuffers-.patch \
+ file://0002-use-__builtin_bswap16-when-building-with-clang.patch \
+ "
+
+# Make sure C++11 is used, required for example for GCC 4.9
+CXXFLAGS += "-std=c++11"
+BUILD_CXXFLAGS += "-std=c++11"
+
+EXTRA_OECMAKE += "\
+ -DFLATBUFFERS_BUILD_TESTS=OFF \
+ -DFLATBUFFERS_BUILD_SHAREDLIB=ON \
+ -DPV=${PV} \
+"
+
+inherit cmake
+
+S = "${WORKDIR}/git"
+
+FILES_${PN}-compiler = "${bindir}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.30.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.30.bb
deleted file mode 100644
index f01dda8cd..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.30.bb
+++ /dev/null
@@ -1,263 +0,0 @@
-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').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] = "13f8e5d900b4911059385649b8dde887"
-SRC_URI[sha256sum] = "8adb90645d273d9549e1fa99b69ea87dc1fd612f7467eb18eee11a6b30c9ba5b"
-
-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://lipsum/COPYING;md5=4325afd396febcb659c36b49533135d4"
-FILES_${PN}-geanylipsum = "${libdir}/geany/lipsum.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-plugins_1.31.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.31.bb
new file mode 100644
index 000000000..27fe86026
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.31.bb
@@ -0,0 +1,268 @@
+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').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] = "808f9048b77fd9704569ed2ba12a56e9"
+SRC_URI[sha256sum] = "76bd9e803db5a626b86669f08330cf95b8cc35057a1cdf65759bc00aef120e25"
+
+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://lipsum/COPYING;md5=4325afd396febcb659c36b49533135d4"
+FILES_${PN}-geanylipsum = "${libdir}/geany/lipsum.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}-keyrecord"
+LIC_FILES_CHKSUM += "file://keyrecord/COPYING;md5=751419260aa954499f7abaabaa882bbe"
+FILES_${PN}-keyrecord = "${libdir}/geany/keyrecord.so"
+RDEPENDS_${PN}-keyrecord = "${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.30.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.30.1.bb
deleted file mode 100644
index e316ea7ab..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.30.1.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+ libxml-parser-perl-native python3-docutils-native intltool-native"
-
-inherit autotools pkgconfig perlnative pythonnative gettext
-
-SRC_URI = "http://download.geany.org/${BP}.tar.bz2"
-SRC_URI[md5sum] = "75081b600560c5c8366eda0e1b8cc531"
-SRC_URI[sha256sum] = "0ac360f1f3d6c28790a81d570252a7d40421f6e1d8e5a8d653756bd041d88491"
-
-FILES_${PN} += "${datadir}/icons"
-
-EXTRA_OECONF = "--disable-html-docs"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.31.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.31.bb
new file mode 100644
index 000000000..ce36e1eb9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.31.bb
@@ -0,0 +1,16 @@
+SUMMARY = "A fast and lightweight IDE"
+HOMEPAGE = "http://www.geany.org/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=bd7b2c994af21d318bd2cd3b3f80c2d5"
+
+DEPENDS = "gtk+ libxml-parser-perl-native python3-docutils-native intltool-native"
+
+inherit autotools pkgconfig perlnative pythonnative gettext
+
+SRC_URI = "http://download.geany.org/${BP}.tar.bz2"
+SRC_URI[md5sum] = "386000be6b26972c6a699939c37cda34"
+SRC_URI[sha256sum] = "30fdb906bb76c4251a8bcf83ee267db28c26ef6ab867668a782cec1164a3aba5"
+
+FILES_${PN} += "${datadir}/icons"
+
+EXTRA_OECONF = "--disable-html-docs"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade/remove-yelp-help-rules-var.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade/remove-yelp-help-rules-var.patch
new file mode 100644
index 000000000..78a8719f2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade/remove-yelp-help-rules-var.patch
@@ -0,0 +1,39 @@
+From 42efc94c11d510b41d8cf3407e1c3900eb52b600 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 4 Jun 2015 16:28:02 +0800
+Subject: [PATCH] Remove unused variable (YELP_HELP_RULES)
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ help/Makefile.am | 2 --
+ help/Makefile.in | 2 --
+ 2 files changed, 4 deletions(-)
+
+diff --git a/help/Makefile.am b/help/Makefile.am
+index 50c0e84..5c5d2e9 100644
+--- a/help/Makefile.am
++++ b/help/Makefile.am
+@@ -1,5 +1,3 @@
+-@YELP_HELP_RULES@
+-
+ HELP_ID = glade
+
+ HELP_FILES = \
+diff --git a/help/Makefile.in b/help/Makefile.in
+index 6978ea5..e1c7d3b 100644
+--- a/help/Makefile.in
++++ b/help/Makefile.in
+@@ -521,8 +521,6 @@ uninstall-am:
+
+ .PRECIOUS: Makefile
+
+-@YELP_HELP_RULES@
+-
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+ .NOEXPORT:
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/files/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade3/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch
index 1b24c39ce..1b24c39ce 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/files/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade3/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/files/0002-fix-gcc-6-build.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade3/0002-fix-gcc-6-build.patch
index f735ff819..f735ff819 100644
--- 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/glade3/0002-fix-gcc-6-build.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.20.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.20.0.bb
new file mode 100644
index 000000000..f33b6e31b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.20.0.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Glade - A User Interface Designer"
+HOMEPAGE = "http://www.gnu.org/software/gnash"
+LICENSE = "GPLv2 & LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=aabe87591cb8ae0f3c68be6977bb5522 \
+ file://COPYING.GPL;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \
+ file://COPYING.LGPL;md5=252890d9eee26aab7b432e8b8a616475"
+DEPENDS = "gtk+ gtk+3 glib-2.0 libxml2 intltool-native \
+ gnome-common-native \
+"
+
+
+inherit autotools pkgconfig gnomebase gobject-introspection
+
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glade/3.20/glade-${PV}.tar.xz \
+ file://remove-yelp-help-rules-var.patch \
+ "
+SRC_URI[md5sum] = "9964a2da14c5f845eae363889586ca43"
+SRC_URI[sha256sum] = "82d96dca5dec40ee34e2f41d49c13b4ea50da8f32a3a49ca2da802ff14dc18fe"
+
+EXTRA_OECONF += "--disable-man-pages"
+
+FILES_${PN} += "${datadir}/* ${libdir}/glade/modules/libgladegtk.so"
+FILES_${PN}-dev += "${libdir}/glade/modules/libgladegtk.la"
+FILES_${PN}-dbg += "${libdir}/glade/modules/.debug/libgladegtk.so"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf-ng/0001-Fix-printd-formatting-strings.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf-ng/0001-Fix-printd-formatting-strings.patch
new file mode 100644
index 000000000..5b9afd961
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf-ng/0001-Fix-printd-formatting-strings.patch
@@ -0,0 +1,54 @@
+From 86b4d398dbb95e2437b70eba3b30e995ec9be505 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 31 Aug 2017 20:47:50 -0700
+Subject: [PATCH] Fix printd formatting strings
+
+Fixes
+error: format string is not a string literal (potentially insecure) [-Werror,-Wformat-security]
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/ipfilter.c | 2 +-
+ src/othptab.c | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/ipfilter.c b/src/ipfilter.c
+index eb17ec7..8c76e4c 100644
+--- a/src/ipfilter.c
++++ b/src/ipfilter.c
+@@ -146,7 +146,7 @@ void gethostparams(struct hostparams *data, char *init_saddr, char *init_smask,
+ snprintf(msgstr, 60,
+ "Invalid protocol input at or near token \"%s\"",
+ bptr);
+- tui_error(ANYKEY_MSG, msgstr);
++ tui_error(ANYKEY_MSG, "%s", msgstr);
+ doagain = 1;
+ } else
+ doagain = 0;
+diff --git a/src/othptab.c b/src/othptab.c
+index 142c9c2..fe395c2 100644
+--- a/src/othptab.c
++++ b/src/othptab.c
+@@ -410,7 +410,7 @@ void printothpentry(struct othptable *table, struct othptabent *entry,
+ break;
+ }
+
+- sprintf(scratchpad, rarp_mac_addr);
++ sprintf(scratchpad, "%s", rarp_mac_addr);
+ strcat(msgstring, scratchpad);
+ wattrset(table->othpwin, ARPATTR);
+ break;
+@@ -485,7 +485,7 @@ void printothpentry(struct othptable *table, struct othptabent *entry,
+ wattrset(table->othpwin, UNKNIPATTR);
+ protptr = getprotobynumber(entry->protocol);
+ if (protptr != NULL) {
+- sprintf(protname, protptr->p_aliases[0]);
++ sprintf(protname, "%s", protptr->p_aliases[0]);
+ } else {
+ sprintf(protname, "IP protocol");
+ unknown = 1;
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf-ng/ncurses-config.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf-ng/ncurses-config.patch
new file mode 100644
index 000000000..65b92dade
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf-ng/ncurses-config.patch
@@ -0,0 +1,81 @@
+Use pkg-config to search for ncurses libraries
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+Index: iptraf-ng-1.1.4/Makefile
+===================================================================
+--- iptraf-ng-1.1.4.orig/Makefile
++++ iptraf-ng-1.1.4/Makefile
+@@ -205,8 +205,8 @@ endif
+
+ ifndef NCURSES_LDFLAGS
+ ifdef NEEDS_NCURSES5
+- NCURSES_CFLAGS := $(shell ncurses5-config --cflags 2>/dev/null)
+- NCURSES_LDFLAGS := $(shell ncurses5-config --libs 2>/dev/null)
++ NCURSES_CFLAGS := $(shell pkg-config ncurses --cflags 2>/dev/null)
++ NCURSES_LDFLAGS := $(shell pkg-config ncurses --libs 2>/dev/null)
+ ifndef NO_PANEL
+ NCURSES_LDFLAGS += -lpanel
+ endif
+@@ -215,8 +215,8 @@ endif
+
+ ifndef NCURSES_LDFLAGS
+ ifdef NEEDS_NCURSESW5
+- NCURSES_CFLAGS := $(shell ncursesw5-config --cflags 2>/dev/null)
+- NCURSES_LDFLAGS := $(shell ncursesw5-config --libs 2>/dev/null)
++ NCURSES_CFLAGS := $(shell p[k-config ncursesw --cflags 2>/dev/null)
++ NCURSES_LDFLAGS := $(shell pkg-config ncursesw --libs 2>/dev/null)
+ ifndef NO_PANEL
+ NCURSES_LDFLAGS += -lpanel
+ endif
+@@ -225,8 +225,8 @@ endif
+
+ ifndef NCURSES_LDFLAGS
+ ifdef NEEDS_NCURSES6
+- NCURSES_CFLAGS := $(shell ncurses6-config --cflags 2>/dev/null)
+- NCURSES_LDFLAGS := $(shell ncurses6-config --libs 2>/dev/null)
++ NCURSES_CFLAGS := $(shell pkg-config ncurses6 --cflags 2>/dev/null)
++ NCURSES_LDFLAGS := $(shell pkg-config ncurses6 --libs 2>/dev/null)
+ ifndef NO_PANEL
+ NCURSES_LDFLAGS += -lpanel
+ endif
+@@ -235,8 +235,8 @@ endif
+
+ ifndef NCURSES_LDFLAGS
+ ifdef NEEDS_NCURSESW6
+- NCURSES_CFLAGS := $(shell ncursesw6-config --cflags 2>/dev/null)
+- NCURSES_LDFLAGS := $(shell ncursesw6-config --libs 2>/dev/null)
++ NCURSES_CFLAGS := $(shell pkg-config ncursesw --cflags 2>/dev/null)
++ NCURSES_LDFLAGS := $(shell pkg-config ncursesw --libs 2>/dev/null)
+ ifndef NO_PANEL
+ NCURSES_LDFLAGS += -lpanel
+ endif
+@@ -246,17 +246,17 @@ endif
+ # try find ncuses by autodetect
+ ifndef NCURSES_LDFLAGS
+ ifneq ($(shell ncursesw6-config --libs 2>/dev/null),)
+- NCURSES_CFLAGS := $(shell ncursesw6-config --cflags 2>/dev/null)
+- NCURSES_LDFLAGS := $(shell ncursesw6-config --libs 2>/dev/null)
+- else ifneq ($(shell ncurses6-config --libs 2>/dev/null),)
+- NCURSES_CFLAGS := $(shell ncurses6-config --cflags 2>/dev/null)
+- NCURSES_LDFLAGS := $(shell ncurses6-config --libs 2>/dev/null)
+- else ifneq ($(shell ncursesw5-config --libs 2>/dev/null),)
+- NCURSES_CFLAGS := $(shell ncursesw5-config --cflags 2>/dev/null)
+- NCURSES_LDFLAGS := $(shell ncursesw5-config --libs 2>/dev/null)
+- else ifneq ($(shell ncurses5-config --libs 2>/dev/null),)
+- NCURSES_CFLAGS := $(shell ncurses5-config --cflags 2>/dev/null)
+- NCURSES_LDFLAGS := $(shell ncurses5-config --libs 2>/dev/null)
++ NCURSES_CFLAGS := $(shell pkg-config ncursesw --cflags 2>/dev/null)
++ NCURSES_LDFLAGS := $(shell pkg-config ncursesw --libs 2>/dev/null)
++ else ifneq ($(shell pkg-config ncurses --libs 2>/dev/null),)
++ NCURSES_CFLAGS := $(shell pkg-config ncurses --cflags 2>/dev/null)
++ NCURSES_LDFLAGS := $(shell pkg-config ncurses --libs 2>/dev/null)
++ else ifneq ($(shell pkg-config ncursesw --libs 2>/dev/null),)
++ NCURSES_CFLAGS := $(shell pkg-config ncursesw --cflags 2>/dev/null)
++ NCURSES_LDFLAGS := $(shell pkg-config ncursesw --libs 2>/dev/null)
++ else ifneq ($(shell pkg-config ncurses --libs 2>/dev/null),)
++ NCURSES_CFLAGS := $(shell pkg-config ncurses --cflags 2>/dev/null)
++ NCURSES_LDFLAGS := $(shell pkg-config ncurses --libs 2>/dev/null)
+ endif
+
+ ifneq ($(NCURSES_LDFLAGS),)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf-ng_1.1.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf-ng_1.1.4.bb
new file mode 100644
index 000000000..c53e66300
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf-ng_1.1.4.bb
@@ -0,0 +1,42 @@
+# Copyright (C) 2017 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "A console-based network monitoring utility"
+DESCRIPTION = "IPTraf-ng is a console-based network monitoring utility. IPTraf gathers \
+data like TCP connection packet and byte counts, interface statistics \
+and activity indicators, TCP/UDP traffic breakdowns, and LAN station \
+packet and byte counts. IPTraf-ng features include an IP traffic monitor \
+which shows TCP flag information, packet and byte counts, ICMP \
+details, OSPF packet types, and oversized IP packet warnings; \
+interface statistics showing IP, TCP, UDP, ICMP, non-IP and other IP \
+packet counts, IP checksum errors, interface activity and packet size \
+counts; a TCP and UDP service monitor showing counts of incoming and \
+outgoing packets for common TCP and UDP application ports, a LAN \
+statistics module that discovers active hosts and displays statistics \
+about their activity; TCP, UDP and other protocol display filters so \
+you can view just the traffic you want; logging; support for Ethernet, \
+FDDI, ISDN, SLIP, PPP, and loopback interfaces; and utilization of the \
+built-in raw socket interface of the Linux kernel, so it can be used \
+on a wide variety of supported network cards."
+
+HOMEPAGE = "https://fedorahosted.org/iptraf-ng/"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e2b3850593b899b1a17594ed4cc4c731"
+DEPENDS = "ncurses"
+
+SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/iptraf-ng/iptraf-ng-1.1.4.tar.gz/e0f8df3b7baf2b5106709abc4f8c029a/${BP}.tar.gz \
+ file://ncurses-config.patch \
+ file://0001-Fix-printd-formatting-strings.patch \
+ "
+SRC_URI[md5sum] = "e0f8df3b7baf2b5106709abc4f8c029a"
+SRC_URI[sha256sum] = "16b9b05bf5d3725d86409b901696639ad46944d02de6def87b1ceae5310dd35c"
+
+inherit autotools-brokensep pkgconfig
+
+CFLAGS += "-D_GNU_SOURCE"
+
+PROVIDES = "iptraf"
+RPROVIDES_${PN} += "iptraf"
+RREPLACES_${PN} += "iptraf"
+RCONFLICTS_${PN} += "iptraf"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf/0001-src-Fix-error-in-cross-compile.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf/0001-src-Fix-error-in-cross-compile.patch
deleted file mode 100644
index 291ed3196..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf/0001-src-Fix-error-in-cross-compile.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-From 27910ea19260b7f7a3f9c0465addd1dea80cf3bd Mon Sep 17 00:00:00 2001
-From: Li Xin <lixin.fnst@cn.fujitsu.com>
-Date: Thu, 8 Oct 2015 15:11:17 +0900
-Subject: [PATCH] src: Fix error in cross-compile
-
-The errors are like this:
-tcptable.h:26:25: fatal error: linux/if_tr.h: No such file or directory
-ld: cannot find -ltextbox
-
-Upstream-Status: pending
-
-Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
----
- src/Makefile | 2 +-
- src/hostmon.c | 2 +-
- src/install.sh | 4 ++--
- src/othptab.c | 2 +-
- src/packet.c | 2 +-
- src/tcptable.h | 2 +-
- src/tr.c | 2 +-
- support/Makefile | 3 +--
- 8 files changed, 9 insertions(+), 10 deletions(-)
-
-diff --git a/src/Makefile b/src/Makefile
-index 2043c2d..0f77bea 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -39,7 +39,7 @@ LDOPTS = #-static
- # you may want to change this to point to your ncurses include directory
- # if the ncurses include files are not in the default location.
-
--INCLUDEDIR = -I/usr/include/ncurses -I../support
-+INCLUDEDIR = -I../support
-
- # You can uncomment this one to disable the backspace key in input fields.
- # This means you must use the Del key or Ctrl+H combination to erase the
-diff --git a/src/hostmon.c b/src/hostmon.c
-index 14df2c8..6571562 100644
---- a/src/hostmon.c
-+++ b/src/hostmon.c
-@@ -31,7 +31,7 @@ details.
- #include <linux/if_packet.h>
- #include <linux/if_ether.h>
- #include <linux/if_fddi.h>
--#include <linux/if_tr.h>
-+#include <netinet/if_tr.h>
- #include <net/if_arp.h>
- #include <stdlib.h>
- #include <time.h>
-diff --git a/src/install.sh b/src/install.sh
-index d2fd360..36d3516 100755
---- a/src/install.sh
-+++ b/src/install.sh
-@@ -23,9 +23,9 @@ echo
- echo "*** Installing executable programs and preparing work directories"
- echo
- echo ">>> Installing iptraf in $TARGET"
--$INSTALL -m 0700 -o root -g root -s iptraf $TARGET
-+$INSTALL -m 0700 -o root -g root iptraf $TARGET
- echo ">>> Installing rvnamed in $TARGET"
--$INSTALL -m 0700 -o root -g root -s rvnamed $TARGET
-+$INSTALL -m 0700 -o root -g root rvnamed $TARGET
-
- if [ ! -d $WORKDIR ]; then
- echo ">>> Creating IPTraf work directory $WORKDIR"
-diff --git a/src/othptab.c b/src/othptab.c
-index 97771d1..a8bb536 100644
---- a/src/othptab.c
-+++ b/src/othptab.c
-@@ -18,7 +18,7 @@ details.
-
- #include <asm/types.h>
- #include <linux/if_ether.h>
--#include <linux/if_tr.h>
-+#include <netinet/if_tr.h>
- #include <linux/if_fddi.h>
- #include <winops.h>
- #include "arphdr.h"
-diff --git a/src/packet.c b/src/packet.c
-index 33fdf2a..1e2b81b 100644
---- a/src/packet.c
-+++ b/src/packet.c
-@@ -36,7 +36,7 @@ details.
- #include <linux/if_packet.h>
- #include <linux/if_ether.h>
- #include <linux/if_fddi.h>
--#include <linux/if_tr.h>
-+#include <netinet/if_tr.h>
- #include <linux/isdn.h>
- #include <linux/sockios.h>
- #include <msgboxes.h>
-diff --git a/src/tcptable.h b/src/tcptable.h
-index 3e17793..d1380b5 100644
---- a/src/tcptable.h
-+++ b/src/tcptable.h
-@@ -23,7 +23,7 @@
- #include <linux/if_packet.h>
- #include <linux/if_ether.h>
- #include <linux/if_fddi.h>
--#include <linux/if_tr.h>
-+#include <netinet/if_tr.h>
- #include <net/if.h>
- #include <netinet/ip.h>
- #include <netinet/udp.h>
-diff --git a/src/tr.c b/src/tr.c
-index 40c9e63..11f8045 100644
---- a/src/tr.c
-+++ b/src/tr.c
-@@ -7,7 +7,7 @@
- */
-
- #include <asm/types.h>
--#include <linux/if_tr.h>
-+#include <netinet/if_tr.h>
- #include <netinet/in.h>
-
- unsigned int get_tr_ip_offset(unsigned char *pkt)
-diff --git a/support/Makefile b/support/Makefile
-index 114bfc3..c962c09 100644
---- a/support/Makefile
-+++ b/support/Makefile
-@@ -1,4 +1,3 @@
--INCLUDEDIR = -I/usr/include/ncurses
-
- OBJS = input.o menurt.o listbox.o winops.o labels.o \
- msgboxes.o txbox.o
-@@ -12,7 +11,7 @@ libtextbox.a: $(OBJS)
- # gcc -shared -o libtextbox.so $(OBJS)
-
- %.o: %.c *.h
-- gcc -O2 -g -Wall -fPIC $(INCLUDEDIR) -c -o $*.o $<
-+ ${CC} -O2 -g -Wall -fPIC -c -o $*.o $<
-
- clean:
- rm -rf *.o *~ libtextbox.a libtextbox.so
---
-1.8.4.2
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf/format_string.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf/format_string.patch
deleted file mode 100644
index 5f96f0f4c..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf/format_string.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Index: iptraf-3.0.0/src/othptab.c
-===================================================================
---- iptraf-3.0.0.orig/src/othptab.c
-+++ iptraf-3.0.0/src/othptab.c
-@@ -335,7 +335,7 @@ void printothpentry(struct othptable *ta
- break;
- }
-
-- sprintf(scratchpad, inet_ntoa(saddr));
-+ sprintf(scratchpad, "%s", inet_ntoa(saddr));
- strcat(msgstring, scratchpad);
- wattrset(table->othpwin, ARPATTR);
- break;
-@@ -354,7 +354,7 @@ void printothpentry(struct othptable *ta
- break;
- }
-
-- sprintf(scratchpad, rarp_mac_addr);
-+ sprintf(scratchpad, "%s", rarp_mac_addr);
- strcat(msgstring, scratchpad);
- wattrset(table->othpwin, ARPATTR);
- break;
-@@ -421,7 +421,7 @@ void printothpentry(struct othptable *ta
- wattrset(table->othpwin, UNKNIPATTR);
- protptr = getprotobynumber(entry->protocol);
- if (protptr != NULL) {
-- sprintf(protname, protptr->p_aliases[0]);
-+ sprintf(protname, "%s", protptr->p_aliases[0]);
- } else {
- sprintf(protname, "IP protocol");
- unknown = 1;
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf/ldopts.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf/ldopts.patch
deleted file mode 100644
index c84a0a0ad..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf/ldopts.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-Index: iptraf-3.0.0/src/Makefile
-===================================================================
---- iptraf-3.0.0.orig/src/Makefile
-+++ iptraf-3.0.0/src/Makefile
-@@ -5,7 +5,7 @@
- #
- # Architecture determination string borrowed from the kernel makefile.
- #
--ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
-+ARCH ?= $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
- -e s/arm.*/arm/ -e s/sa110/arm/)
- PLATFORM = -DPLATFORM=\"$(shell uname -s)/$(ARCH)\"
- VERNUMBER := $(shell cat version)
-@@ -17,7 +17,7 @@ VERSION = -DVERSION=\"$(VERNUMBER)\"
- #
- BINDIR = ../../iptraf-$(VERNUMBER).bin.$(ARCH)
-
--CC = gcc
-+CC = $(CC)
- LIBS = -L../support -ltextbox -lpanel -lncurses # in this order!
-
- # comment this one out to omit debug code when done.
-@@ -31,10 +31,10 @@ PROF = #-pg
- # options to be passed to the compiler. I don't believe they need to be
- # modified (except for -m486 on non-Intel x86 platforms).
-
--CFLAGS = -Wall #-O2 #-m486
-+CFLAGS ?= -Wall #-O2 #-m486
- DIRS = -DWORKDIR=\"$(WORKDIR)\" \
- -DLOGDIR=\"$(LOGDIR)\" -DEXECDIR=\"$(TARGET)\"
--LDOPTS = #-static
-+LDOPTS ?= #-static
-
- # you may want to change this to point to your ncurses include directory
- # if the ncurses include files are not in the default location.
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
deleted file mode 100644
index abfab02e0..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf_3.0.0.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-DESCRIPTION = "IPTraf is a console-based network statistics utility for Linux. \
-It gathers a variety of figures such as TCP connection packet and byte counts, \
-interface statistics and activity indicators, TCP/UDP traffic breakdowns, \
-and LAN station packet and byte counts."
-
-HOMEPAGE = "http://iptraf.seul.org"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=dc0bdc29df738baf327368b1bbb15a45"
-
-DEPENDS = "ncurses"
-
-SRC_URI = " \
- ftp://iptraf.seul.org/pub/iptraf/iptraf-3.0.0.tar.gz \
- file://0001-src-Fix-error-in-cross-compile.patch \
- file://format_string.patch \
- file://ldopts.patch \
-"
-SRC_URI[md5sum] = "377371c28ee3c21a76f7024920649ea8"
-SRC_URI[sha256sum] = "9ee433d95573d612539da4b452e6cdcbca6ab6674a88bfbf6eaf12d4902b5163"
-RDEPENDS_${PN} = "ncurses"
-
-EXTRA_OEMAKE = "-e MAKEFLAGS= LDOPTS='${LDFLAGS}' ARCH='${TARGET_ARCH}'"
-
-do_compile() {
- oe_runmake -C src all
-}
-
-do_install_append() {
- rm -r ${D}/${localstatedir}/run
-}
-
-do_install() {
- install -d ${D}${bindir}
- oe_runmake -C src install \
- TARGET=${D}${bindir} \
- WORKDIR=${D}${localstatedir}/local/iptraf \
- LOGDIR=${D}${localstatedir}/log/iptraf \
- LOCKDIR=${D}${localstatedir}/run/iptraf
-}
-
-FILES_${PN} += "${bindir} ${localstatedir} /run"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/json-spirit/json-spirit/0001-Link-to-libatomic.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/json-spirit/json-spirit/0001-Link-to-libatomic.patch
new file mode 100644
index 000000000..4c8c7b98d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/json-spirit/json-spirit/0001-Link-to-libatomic.patch
@@ -0,0 +1,64 @@
+From bbac9ac3e391253bc1f90cf0f70a2ce1aac9511f Mon Sep 17 00:00:00 2001
+From: Ming Liu <liu.ming50@gmail.com>
+Date: Wed, 30 Aug 2017 16:50:56 +0200
+Subject: [PATCH] Link to libatomic
+
+This is needed for clang compiler.
+
+Upstream-Status: Pending
+
+Signed-off-by: Ming Liu <liu.ming50@gmail.com>
+---
+ json_demo/CMakeLists.txt | 2 +-
+ json_headers_only_demo/CMakeLists.txt | 2 +-
+ json_map_demo/CMakeLists.txt | 2 +-
+ json_test/CMakeLists.txt | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/json_demo/CMakeLists.txt b/json_demo/CMakeLists.txt
+index b1d3c6a..0dfd308 100644
+--- a/json_demo/CMakeLists.txt
++++ b/json_demo/CMakeLists.txt
+@@ -5,5 +5,5 @@ FIND_PACKAGE(Boost 1.34 REQUIRED)
+ INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})
+
+ ADD_EXECUTABLE(json_demo ${JSON_DEMO_SRCS})
+-TARGET_LINK_LIBRARIES(json_demo json_spirit)
++TARGET_LINK_LIBRARIES(json_demo json_spirit -latomic)
+
+diff --git a/json_headers_only_demo/CMakeLists.txt b/json_headers_only_demo/CMakeLists.txt
+index a3c787a..6eae11e 100644
+--- a/json_headers_only_demo/CMakeLists.txt
++++ b/json_headers_only_demo/CMakeLists.txt
+@@ -5,5 +5,5 @@ FIND_PACKAGE(Boost 1.34 REQUIRED)
+ INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})
+
+ ADD_EXECUTABLE(json_headers_only_demo ${JSON_HEADERS_ONLY_DEMO_SRCS})
+-TARGET_LINK_LIBRARIES(json_headers_only_demo json_spirit)
++TARGET_LINK_LIBRARIES(json_headers_only_demo json_spirit -latomic)
+
+diff --git a/json_map_demo/CMakeLists.txt b/json_map_demo/CMakeLists.txt
+index 599006a..e3e45e8 100644
+--- a/json_map_demo/CMakeLists.txt
++++ b/json_map_demo/CMakeLists.txt
+@@ -5,5 +5,5 @@ FIND_PACKAGE(Boost 1.34 REQUIRED)
+ INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})
+
+ ADD_EXECUTABLE(json_map_demo ${JSON_MAP_DEMO_SRCS})
+-TARGET_LINK_LIBRARIES(json_map_demo json_spirit)
++TARGET_LINK_LIBRARIES(json_map_demo json_spirit -latomic)
+
+diff --git a/json_test/CMakeLists.txt b/json_test/CMakeLists.txt
+index 38ffa7f..1ec1365 100644
+--- a/json_test/CMakeLists.txt
++++ b/json_test/CMakeLists.txt
+@@ -11,5 +11,5 @@ FIND_PACKAGE(Boost 1.34 REQUIRED)
+ INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})
+
+ ADD_EXECUTABLE(json_test ${JSON_TEST_SRCS})
+-TARGET_LINK_LIBRARIES(json_test json_spirit)
++TARGET_LINK_LIBRARIES(json_test json_spirit -latomic)
+
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/json-spirit/json-spirit_4.08.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/json-spirit/json-spirit_4.08.bb
index 2f456bf64..c7c1ad1ec 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/json-spirit/json-spirit_4.08.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/json-spirit/json-spirit_4.08.bb
@@ -11,14 +11,13 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=278ef6183dec4aae1524fccc4b0113c9"
SRC_URI = "file://json_spirit_v${PV}.zip \
file://0001-Adjust-the-cmake-files.patch \
+ file://0001-Link-to-libatomic.patch \
"
S = "${WORKDIR}/json_spirit_v${PV}"
DEPENDS = "boost"
-LDFLAGS += "-Wl,--as-needed -latomic -Wl,--no-as-needed"
-
inherit cmake
FILES_${PN}-dev += "${datadir}/cmake/Modules/FindLibJsonSpirit.cmake"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.8.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.8.0.bb
deleted file mode 100644
index fe6ae240a..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.8.0.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "JSON C++ lib used to read and write json file."
-DESCRIPTION = "Jsoncpp is an implementation of a JSON (http://json.org) reader \
- and writer in C++. JSON (JavaScript Object Notation) is a \
- lightweight data-interchange format. It is easy for humans to \
- read and write. It is easy for machines to parse and generate."
-
-HOMEPAGE = "https://github.com/open-source-parsers/jsoncpp"
-
-SECTION = "libs"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c56ee55c03a55f8105b969d8270632ce"
-
-SRCREV = "f700fe455940d4d325c088b9174a173e130e0fa8"
-SRC_URI = "git://github.com/open-source-parsers/jsoncpp"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DJSONCPP_WITH_TESTS=OFF"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.8.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.8.3.bb
new file mode 100644
index 000000000..b7a02ef15
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.8.3.bb
@@ -0,0 +1,21 @@
+SUMMARY = "JSON C++ lib used to read and write json file."
+DESCRIPTION = "Jsoncpp is an implementation of a JSON (http://json.org) reader \
+ and writer in C++. JSON (JavaScript Object Notation) is a \
+ lightweight data-interchange format. It is easy for humans to \
+ read and write. It is easy for machines to parse and generate."
+
+HOMEPAGE = "https://github.com/open-source-parsers/jsoncpp"
+
+SECTION = "libs"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fa2a23dd1dc6c139f35105379d76df2b"
+
+SRCREV = "2de18021fcb11370e9b5a1fbe7dcfd673533a134"
+SRC_URI = "git://github.com/open-source-parsers/jsoncpp"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DJSONCPP_WITH_TESTS=OFF"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/files/0001-Makefile-ensure-frontends-exits-before-writing-into-.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/files/0001-Makefile-ensure-frontends-exits-before-writing-into-.patch
new file mode 100644
index 000000000..a5263c6f8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/files/0001-Makefile-ensure-frontends-exits-before-writing-into-.patch
@@ -0,0 +1,32 @@
+From 780b0b8e48551ba49b011caeeb09101a09c14a61 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Fri, 26 May 2017 17:11:32 +0100
+Subject: [PATCH] Makefile: ensure frontends/ exits before writing into it
+
+As previously, if GCC dependencies are not being written and the build is out of
+tree then frontends/ won't exist so we need to create it.
+
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
+(cherry picked from commit f7986375129d1ada7dc6abeeec5b9d00ef6f7149)
+Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
+---
+ Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile.am b/Makefile.am
+index 1baa110..434db5d 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -171,6 +171,7 @@ if COND_kconfig
+ bin_SCRIPTS += frontends/kconfig
+
+ frontends/kconfig: frontends/kconfig.in
++ $(MKDIR_P) $(@D)
+ $(AM_V_GEN)$(SED) -e 's/@KCFG_LIST@/$(kcfg_list)/g' \
+ $< >$@
+ @chmod +x $@
+--
+2.12.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/files/0001-Switch-utils-kconfig-diff-to-use-Python-3.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/files/0001-Switch-utils-kconfig-diff-to-use-Python-3.patch
new file mode 100644
index 000000000..b8f890481
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/files/0001-Switch-utils-kconfig-diff-to-use-Python-3.patch
@@ -0,0 +1,26 @@
+From 3b9b0f82c33f793a14d44bf06b6c8136bc3fc4bf Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 27 Apr 2017 16:48:42 +0300
+Subject: [PATCH] Switch utils/kconfig-diff to use Python 3
+
+The script supports it, but continues to refer to 2.x in shebang.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ utils/kconfig-diff | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/utils/kconfig-diff b/utils/kconfig-diff
+index 0db267d..19189f3 100755
+--- a/utils/kconfig-diff
++++ b/utils/kconfig-diff
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python
++#!/usr/bin/env python3
+ #
+ # diffconfig - a tool to compare .config files.
+ #
+--
+2.11.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/kconfig-frontends_4.11.0.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/kconfig-frontends_4.11.0.1.bb
new file mode 100644
index 000000000..df08b8b11
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/kconfig-frontends_4.11.0.1.bb
@@ -0,0 +1,41 @@
+# Copyright (C) 2012 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "Linux kernel style configuration framework for other projects"
+DESCRIPTION = "The kconfig-frontends project aims at centralising \
+the effort of keeping an up-to-date, out-of-tree, packaging of the \
+kconfig infrastructure, ready for use by third-party projects. \
+The kconfig-frontends package provides the kconfig parser, as well as all \
+the frontends"
+HOMEPAGE = "http://ymorin.is-a-geek.org/projects/kconfig-frontends"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9b8cf60ff39767ff04b671fca8302408"
+SECTION = "devel"
+DEPENDS += "ncurses flex bison gperf-native"
+RDEPENDS_${PN} += "python3 bash"
+SRC_URI = "git://ymorin.is-a-geek.org/kconfig-frontends;branch=4.11.x \
+ file://0001-Makefile-ensure-frontends-exits-before-writing-into-.patch \
+ file://0001-Switch-utils-kconfig-diff-to-use-Python-3.patch"
+
+SRCREV = "f22fce3a308be1c7790ebefc6bbedb33c5f7c86a"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+do_configure_prepend () {
+ mkdir -p ${S}/scripts/.autostuff/m4
+}
+
+do_install_append() {
+ ln -s kconfig-conf ${D}${bindir}/conf
+ ln -s kconfig-mconf ${D}${bindir}/mconf
+}
+
+EXTRA_OECONF += "--disable-gconf --disable-qconf"
+
+# Some packages have the version preceeding the .so instead properly
+# versioned .so.<version>, so we need to reorder and repackage.
+SOLIBS = "-${@d.getVar('PV')[:-2]}.so"
+FILES_SOLIBSDEV = "${libdir}/libkconfig-parser.so"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Add-CMake-build-files.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Add-CMake-build-files.patch
index cd0d1433f..560c3a6d7 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Add-CMake-build-files.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Add-CMake-build-files.patch
@@ -53,7 +53,7 @@ index 0000000..f6e24be
+####################################################################
+INCLUDE (${CMAKE_SOURCE_DIR}/VERSION.cmake)
+
-+SET (LIBRCF_LIBRARIES "-lpthread -ldl")
++SET (LIBRCF_LIBRARIES "-lpthread -ldl -latomic")
+INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/include)
+
+IF (LIBRCF_USE_OPENSSL)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Check-for-__powerpc__-define.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Check-for-__powerpc__-define.patch
new file mode 100644
index 000000000..d91accf1d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Check-for-__powerpc__-define.patch
@@ -0,0 +1,28 @@
+From ac7316679e30f7013604b19aa0949a0744e91d2f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 1 Jul 2017 13:06:30 -0700
+Subject: [PATCH] Check for __powerpc__ define
+
+Also check for gcc's internal define for ppc platform
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/RCF/ByteOrdering.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/RCF/ByteOrdering.cpp b/src/RCF/ByteOrdering.cpp
+index 278ca80..9f9c446 100755
+--- a/src/RCF/ByteOrdering.cpp
++++ b/src/RCF/ByteOrdering.cpp
+@@ -36,7 +36,7 @@ namespace RCF {
+
+ const ByteOrder MachineByteOrder = BigEndian;
+
+-#elif defined( __ppc__ )
++#elif defined( __ppc__ ) || defined( __powerpc__ )
+
+ const ByteOrder MachineByteOrder = BigEndian;
+
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-ClientStub.hpp-fix-a-clang-compiling-issue.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-ClientStub.hpp-fix-a-clang-compiling-issue.patch
new file mode 100644
index 000000000..e949dee40
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-ClientStub.hpp-fix-a-clang-compiling-issue.patch
@@ -0,0 +1,35 @@
+From d78851b6f87f2472f041102d7b3726ffc009bfad Mon Sep 17 00:00:00 2001
+From: Ming Liu <peter.x.liu@external.atlascopco.com>
+Date: Tue, 6 Jun 2017 05:54:20 +0200
+Subject: [PATCH] ClientStub.hpp: fix a clang compiling issue
+
+A error was observed with clang compiler, as follows:
+| src/RCF/RCF.cpp:49:
+| src/RCF/ClientStub.cpp:28:
+| include/RCF/Future.hpp:49:26: error: 'enrol' is a private member of 'RCF::ClientStub'
+
+it can be fixed by declaring Future as a friend class of ClientStub.
+
+Upstream-Status: Pending
+
+Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
+---
+ include/RCF/ClientStub.hpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/include/RCF/ClientStub.hpp b/include/RCF/ClientStub.hpp
+index 9882cf4..8465625 100755
+--- a/include/RCF/ClientStub.hpp
++++ b/include/RCF/ClientStub.hpp
+@@ -372,6 +372,8 @@ namespace RCF {
+
+ private:
+
++ template<typename U>
++ friend class Future;
+ friend class FutureImplBase;
+
+ template<
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/aarch64-support.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/aarch64-support.patch
index 28cd0fe60..e08efb92f 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/aarch64-support.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/aarch64-support.patch
@@ -3,11 +3,11 @@ Index: RCF-2.2.0.0/src/RCF/ByteOrdering.cpp
--- RCF-2.2.0.0.orig/src/RCF/ByteOrdering.cpp
+++ RCF-2.2.0.0/src/RCF/ByteOrdering.cpp
@@ -60,7 +60,7 @@ namespace RCF {
-
- const ByteOrder MachineByteOrder = LittleEndian;
-
--#elif defined(__arm__)
-+#elif defined(__arm__) || defined(__aarch64__)
-
- const ByteOrder MachineByteOrder = LittleEndian;
-
+
+ const ByteOrder MachineByteOrder = LittleEndian;
+
+-#elif defined(__arm__)
++#elif defined(__arm__) || defined(__aarch64__)
+
+ const ByteOrder MachineByteOrder = LittleEndian;
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/mips-support.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/mips-support.patch
new file mode 100644
index 000000000..4a327f78e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/mips-support.patch
@@ -0,0 +1,19 @@
+Index: RCF-2.2.0.0/src/RCF/ByteOrdering.cpp
+===================================================================
+--- RCF-2.2.0.0.orig/src/RCF/ByteOrdering.cpp
++++ RCF-2.2.0.0/src/RCF/ByteOrdering.cpp
+@@ -64,6 +64,14 @@ namespace RCF {
+
+ const ByteOrder MachineByteOrder = LittleEndian;
+
++#elif defined(__mipsel__) || defined(__mips64el__)
++
++ const ByteOrder MachineByteOrder = LittleEndian;
++
++#elif defined( __mips__ ) || defined(__mips64__)
++
++ const ByteOrder MachineByteOrder = BigEndian;
++
+ #elif defined(__bfin__)
+
+ const ByteOrder MachineByteOrder = LittleEndian;
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb
index 51ad7ec9c..43eff72a3 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb
@@ -8,19 +8,22 @@ HOMEPAGE = "http://www.deltavsoft.com/"
SECTION = "libs"
PRIORITY = "optional"
LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://license.txt;md5=137c2935b51c95068a8b1bbd434ffe2d"
+LIC_FILES_CHKSUM = "file://license.txt;md5=7586a312b9e978f9d6fac9a5780d1f84"
SRC_URI = "http://www.deltavsoft.com/downloads/RCF-${PV}.tar.gz \
file://0001-Add-CMake-build-files.patch \
file://aarch64-support.patch \
- "
+ file://0001-ClientStub.hpp-fix-a-clang-compiling-issue.patch \
+ file://mips-support.patch \
+ file://0001-Check-for-__powerpc__-define.patch \
+ "
SRC_URI[md5sum] = "7ecb3c73f7eb66dba8790b659374f690"
SRC_URI[sha256sum] = "bbfcc88de502c39604878c395f516b03fff4eac63eb4f7f44c07d433839712dd"
S = "${WORKDIR}/RCF-${PV}"
-inherit cmake
+inherit cmake dos2unix
PACKAGECONFIG ?= "zlib openssl sf-serialization boost-filesystem boost-asio protobuf json dll static shared demos"
PACKAGECONFIG[zlib] = "-DLIBRCF_USE_ZLIB=ON,-DLIBRCF_USE_ZLIB=OFF,zlib,zlib"
@@ -31,8 +34,8 @@ PACKAGECONFIG[sf-serialization] = "-DLIBRCF_USE_SF_SERIALIZATION=ON,-DLIBRCF_USE
PACKAGECONFIG[boost-serialization] = "-DLIBRCF_USE_BOOST_SERIALIZATION=ON,-DLIBRCF_USE_BOOST_SERIALIZATION=OFF,boost,"
PACKAGECONFIG[boost-filesystem] = "-DLIBRCF_USE_BOOST_FILESYSTEM=ON,-DLIBRCF_USE_BOOST_FILESYSTEM=OFF,boost,"
PACKAGECONFIG[boost-asio] = "-DLIBRCF_USE_BOOST_ASIO=ON,-DLIBRCF_USE_BOOST_ASIO=OFF,boost,"
-PACKAGECONFIG[protobuf] = "-DLIBRCF_USE_PROTOBUF=ON,-DLIBRCF_USE_PROTOBUF=OFF,protobuf,"
-PACKAGECONFIG[json] = "-DLIBRCF_USE_JSON=ON,-DLIBRCF_USE_JSON=OFF,json-spirit,"
+PACKAGECONFIG[protobuf] = "-DLIBRCF_USE_PROTOBUF=ON,-DLIBRCF_USE_PROTOBUF=OFF,protobuf,protobuf"
+PACKAGECONFIG[json] = "-DLIBRCF_USE_JSON=ON,-DLIBRCF_USE_JSON=OFF,json-spirit,json-spirit"
PACKAGECONFIG[ipv6] = "-DLIBRCF_USE_IPV6=ON,-DLIBRCF_USE_IPV6=OFF,"
PACKAGECONFIG[custom-allocator] = "-DLIBRCF_USE_CUSTOM_ALLOCATOR=ON,-DLIBRCF_USE_CUSTOM_ALLOCATOR=OFF,"
PACKAGECONFIG[dll] = "-DLIBRCF_BUILD_DLL=ON,-DLIBRCF_BUILD_DLL=OFF,"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/libsombok3/libsombok3/0001-configure.ac-fix-cross-compiling-issue.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libsombok3/libsombok3/0001-configure.ac-fix-cross-compiling-issue.patch
new file mode 100644
index 000000000..1a6928707
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libsombok3/libsombok3/0001-configure.ac-fix-cross-compiling-issue.patch
@@ -0,0 +1,31 @@
+From 9c2ffe825e28d63e2a771135f297e8ffac0dbe81 Mon Sep 17 00:00:00 2001
+From: Ming Liu <liu.ming50@gmail.com>
+Date: Tue, 11 Jul 2017 14:35:30 +0200
+Subject: [PATCH] configure.ac: fix cross-compiling issue
+
+Avoid checking for file existence when cross compiling.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Ming Liu <liu.ming50@gmail.com>
+---
+ configure.ac | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 9978852..06b16e3 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -120,9 +120,6 @@ AC_ARG_WITH(unicode-version,
+ AC_HELP_STRING(--with-unicode-version=VERSION,
+ [version of Unicode Standard @<:@default=current version@:>@]),
+ UNICODE_VERSION=$withval,UNICODE_VERSION=$DEFAULT_UNICODE_VERSION)
+-AC_CHECK_FILE([lib/$UNICODE_VERSION.c],
+- AC_MSG_RESULT($UNICODE_VERSION),
+- AC_MSG_ERROR(Unknown Unicode version $UNICODE_VERSION.))
+ AC_SUBST(UNICODE_VERSION)
+
+ # check if code to debug memory allocation is enabled.
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/libsombok3/libsombok3_2.4.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libsombok3/libsombok3_2.4.0.bb
new file mode 100644
index 000000000..b83e86a48
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libsombok3/libsombok3_2.4.0.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Sombok - Unicode Text Segmentation Package."
+DESCRIPTION = "Sombok library package performs Line Breaking Algorithm described in \
+Unicode Standard Annex #14 (UAX #14). East_Asian_Width informative \
+properties defined by Annex #11 (UAX #11) may be concerned to determin \
+breaking positions. This package also implements "default" Grapheme \
+Cluster segmentation described in Annex #29 (UAX #29)."
+LICENSE = "Artistic-1.0 | GPLv1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5b122a36d0f6dc55279a0ebc69f3c60b"
+
+SRC_URI = "git://github.com/hatukanezumi/sombok.git;protocol=https \
+ file://0001-configure.ac-fix-cross-compiling-issue.patch \
+ "
+
+inherit autotools pkgconfig
+
+# sombok-2.4.0
+SRCREV = "0098d85a037ef5c99a648a3669a077781a45e8cc"
+
+S = "${WORKDIR}/git"
+B = "${S}"
+
+# Disable libthai support
+EXTRA_OECONF = "--disable-libthai"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt/ltp-Do-not-link-against-libfl.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt/ltp-Do-not-link-against-libfl.patch
deleted file mode 100644
index 3e4aa7308..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt/ltp-Do-not-link-against-libfl.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 5bda9c0af56869c6ff2c25d38ea087179c946bc6 Mon Sep 17 00:00:00 2001
-From: Chong Lu <Chong.Lu@windriver.com>
-Date: Tue, 11 Mar 2014 14:47:22 +0800
-Subject: [PATCH] ltp: Don't link against libfl
-
-We have already defined yywrap function in scan.l file. After this, we no longer need to
-link against libfl and so no longer get errors about undefined references to yylex.
-
-Upstream-status: Pending
-
-Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
----
- pan/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/pan/Makefile b/pan/Makefile
-index 4cc6466..a4b575b 100644
---- a/pan/Makefile
-+++ b/pan/Makefile
-@@ -31,7 +31,7 @@ CPPFLAGS += -Wno-error
-
- CPPFLAGS += -I$(abs_srcdir)
-
--LDLIBS += -lm $(LEXLIB)
-+LDLIBS += -lm
-
- LFLAGS += -l
-
---
-1.7.9.5
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_1.0.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_1.0.0.bb
deleted file mode 100644
index b13bd7bcc..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_1.0.0.bb
+++ /dev/null
@@ -1,97 +0,0 @@
-SUMMARY = "Embedded Linux Device Driver Tests based on Linux Test Project"
-HOMEPAGE = "http://arago-project.org/git/projects/test-automation/ltp-ddt.git"
-SECTION = "console/utils"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
-
-PROVIDES += "ltp"
-DEPENDS += "zip-native virtual/kernel alsa-lib"
-
-RDEPENDS_${PN} += "pm-qa serialcheck"
-
-inherit autotools module-base kernel-module-split
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-SRCREV = "f086bed6cc88bf102eaad0e96cb7ebe79944a8ad"
-BRANCH ?= "master"
-
-SRC_URI = "git://arago-project.org/git/projects/test-automation/ltp-ddt.git;branch=${BRANCH} \
- file://ltp-Do-not-link-against-libfl.patch \
-"
-
-S = "${WORKDIR}/git"
-
-LTPROOT = "/opt/ltp"
-
-EXTRA_OEMAKE_append = " \
- prefix=${LTPROOT} \
- CROSS_COMPILE=${HOST_PREFIX} \
- SKIP_IDCHECK=1 \
- KERNEL_PATH=${STAGING_KERNEL_DIR} \
- KERNEL_INC=${STAGING_KERNEL_DIR} \
- KERNEL_USR_INC=${STAGING_INCDIR} \
- ALSA_INCPATH=${STAGING_INCDIR} \
- ALSA_LIBPATH=${STAGING_LIBDIR} \
- PLATFORM=${MACHINE} \
- RANLIB=${RANLIB} \
- DESTDIR=${D} \
- CC='${CC}' \
- KERNEL_CC='${KERNEL_CC}' \
-"
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-FILES_${PN}-dbg += " \
- ${LTPROOT}/.debug \
- ${LTPROOT}/bin/.debug \
- ${LTPROOT}/runtest/.debug \
- ${LTPROOT}/testcases/bin/.debug \
- ${LTPROOT}/testcases/bin/*/bin/.debug \
- ${LTPROOT}/testcases/bin/*/test/.debug \
- ${LTPROOT}/testcases/bin/ddt/.debug \
- ${LTPROOT}/testcases/bin/ddt/*/bin/.debug \
- ${LTPROOT}/testcases/bin/ddt/*/test/.debug \
- ${LTPROOT}/testcases/realtime/*/*/.debug \
-"
-
-FILES_${PN}-staticdev += "${LTPROOT}/lib"
-FILES_${PN} += "${LTPROOT}/*"
-
-KERNEL_MODULES_META_PACKAGE = "${PN}"
-
-kmoddir = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/ddt"
-
-# ltp doesn't regenerate ffsb-6.0-rc2 configure and hardcode configure call.
-# we explicitly force regeneration of that directory and pass configure options.
-do_configure_append() {
- (cd utils/ffsb-6.0-rc2; autoreconf -fvi; ./configure ${CONFIGUREOPTS})
-}
-
-# The makefiles make excessive use of make -C and several include testcases.mk
-# which triggers a build of the syscall header. To reproduce, build ltp,
-# then delete the header, then "make -j XX" and watch regen.sh run multiple
-# times. Its easier to generate this once here instead.
-do_compile_prepend () {
- ( make -C ${B}/testcases/kernel include/linux_syscall_numbers.h )
-}
-
-do_compile_append () {
- unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
- oe_runmake modules
-}
-
-do_install() {
- oe_runmake install
- install -d ${D}${datadir}
- install -d ${D}${kmoddir}
- mv ${D}${LTPROOT}/testcases/bin/ddt/*.ko ${D}${kmoddir}
-}
-
-# do_make_scripts should be a separate task for the lock to work
-addtask make_scripts before do_compile
-do_make_scripts[lockfiles] = "${TMPDIR}/kernel-scripts.lock"
-do_make_scripts[deptask] = "do_populate_sysroot"
-
-# http://errors.yoctoproject.org/Errors/Details/56327/
-PNBLACKLIST[ltp-ddt] ?= "BROKEN: fails since last autotools.bbclass changes - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-mips-plt.c-Delete-include-error.h.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-mips-plt.c-Delete-include-error.h.patch
new file mode 100644
index 000000000..76ba7de78
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-mips-plt.c-Delete-include-error.h.patch
@@ -0,0 +1,27 @@
+From 19a3e590c97420bd3952301bf376067c75d0ee32 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 18 Sep 2017 23:45:54 -0700
+Subject: [PATCH] mips/plt.c: Delete include error.h
+
+Its not needed
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ sysdeps/linux-gnu/mips/plt.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/sysdeps/linux-gnu/mips/plt.c b/sysdeps/linux-gnu/mips/plt.c
+index 2d85ad9..9c3ae2f 100644
+--- a/sysdeps/linux-gnu/mips/plt.c
++++ b/sysdeps/linux-gnu/mips/plt.c
+@@ -24,7 +24,6 @@
+
+ #include <sys/ptrace.h>
+ #include <errno.h>
+-#include <error.h>
+ #include <gelf.h>
+ #include <inttypes.h>
+ #include <string.h>
+--
+2.14.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 01b3bbe1b..abe015de2 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
@@ -24,6 +24,7 @@ SRC_URI = "git://anonscm.debian.org/collab-maint/ltrace.git;branch=master \
file://0001-Fix-tautological-compare-warning.patch \
file://0001-Add-support-for-mips64-n32-n64.patch \
file://0001-configure-Recognise-linux-musl-as-a-host-OS.patch \
+ file://0001-mips-plt.c-Delete-include-error.h.patch \
"
S = "${WORKDIR}/git"
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
deleted file mode 100644
index b7995c298..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.3.bb
+++ /dev/null
@@ -1,59 +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=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/lua/lua_5.3.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.4.bb
new file mode 100644
index 000000000..8f4e8fe68
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.4.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=60aa5cfdbd40086501778d9b6ebf29ee"
+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] = "53a9c68bcc0eda58bdc2095ad5cdfc63"
+SRC_URI[tarballsrc.sha256sum] = "f681aa518233bc407e23acf0f5887c884f17436f000d453b2491a9f11a52400c"
+SRC_URI[tarballtest.md5sum] = "b14fe3748c1cb2d74e3acd1943629ba3"
+SRC_URI[tarballtest.sha256sum] = "b80771238271c72565e5a1183292ef31bd7166414cd0d43a8eb79845fa7f599f"
+
+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 nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit/clang.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit/clang.patch
new file mode 100644
index 000000000..c39ef6fd4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit/clang.patch
@@ -0,0 +1,19 @@
+clang pretends to be gcc 4.2.0 which is a big lie when it comes
+to features, its same as latest gcc
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+Index: LuaJIT-2.0.5/src/lj_arch.h
+===================================================================
+--- LuaJIT-2.0.5.orig/src/lj_arch.h
++++ LuaJIT-2.0.5/src/lj_arch.h
+@@ -313,7 +313,7 @@
+ #error "Need at least GCC 4.2 or newer"
+ #endif
+ #elif !LJ_TARGET_PS3
+-#if (__GNUC__ < 4) || ((__GNUC__ == 4) && __GNUC_MINOR__ < 3)
++#if (__GNUC__ < 4) || ((__GNUC__ == 4) && __GNUC_MINOR__ < 3) && !defined(__clang__)
+ #error "Need at least GCC 4.3 or newer"
+ #endif
+ #endif
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
deleted file mode 100644
index cee9cc428..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb
+++ /dev/null
@@ -1,91 +0,0 @@
-SUMMARY = "Just-In-Time Compiler for Lua"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=3992f1fbae3b8b061f9056b7fcda8cc6"
-HOMEPAGE = "http://luajit.org"
-
-SRC_URI = "http://luajit.org/download/LuaJIT-${PV}.tar.gz \
- file://0001-Do-not-strip-automatically-this-leaves-the-stripping.patch \
-"
-SRC_URI[md5sum] = "dd9c38307f2223a504cbfb96e477eca0"
-SRC_URI[sha256sum] = "620fa4eb12375021bef6e4f237cbd2dd5d49e56beb414bee052c746beef1807d"
-
-S = "${WORKDIR}/LuaJIT-${PV}"
-
-inherit pkgconfig binconfig siteinfo
-
-BBCLASSEXTEND = "native"
-
-# 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,
-# you need to install the multilib development package (e.g.
-# libc6-dev-i386 on Debian/Ubuntu) and build a 32 bit host part
-# (HOST_CC="gcc -m32").
-BUILD_CC_ARCH_append = " ${@['-m32',''][d.getVar('SITEINFO_BITS', True) != '32']}"
-
-# 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 ${EXTRA_OEMAKEINST} install
- rmdir ${D}${datadir}/lua/5.* \
- ${D}${datadir}/lua \
- ${D}${libdir}/lua/5.* \
- ${D}${libdir}/lua
-}
-
-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} \
-"
-FILES_${PN}-dev += "${libdir}/libluajit-5.1.a \
- ${libdir}/libluajit-5.1.so \
- ${libdir}/pkgconfig/luajit.pc \
-"
-FILES_luajit-common = "${datadir}/${BPN}-${PV}"
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb
new file mode 100644
index 000000000..73c38111e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb
@@ -0,0 +1,92 @@
+SUMMARY = "Just-In-Time Compiler for Lua"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=10a96c93403affcc34765f4c2612bc22"
+HOMEPAGE = "http://luajit.org"
+
+SRC_URI = "http://luajit.org/download/LuaJIT-${PV}.tar.gz \
+ file://0001-Do-not-strip-automatically-this-leaves-the-stripping.patch \
+ file://clang.patch \
+"
+SRC_URI[md5sum] = "48353202cbcacab84ee41a5a70ea0a2c"
+SRC_URI[sha256sum] = "874b1f8297c697821f561f9b73b57ffd419ed8f4278c82e05b48806d30c1e979"
+
+S = "${WORKDIR}/LuaJIT-${PV}"
+
+inherit pkgconfig binconfig siteinfo
+
+BBCLASSEXTEND = "native"
+
+# 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,
+# you need to install the multilib development package (e.g.
+# libc6-dev-i386 on Debian/Ubuntu) and build a 32 bit host part
+# (HOST_CC="gcc -m32").
+BUILD_CC_ARCH_append = " ${@['-m32',''][d.getVar('SITEINFO_BITS', True) != '32']}"
+
+# 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 ${EXTRA_OEMAKEINST} install
+ rmdir ${D}${datadir}/lua/5.* \
+ ${D}${datadir}/lua \
+ ${D}${libdir}/lua/5.* \
+ ${D}${libdir}/lua
+}
+
+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} \
+"
+FILES_${PN}-dev += "${libdir}/libluajit-5.1.a \
+ ${libdir}/libluajit-5.1.so \
+ ${libdir}/pkgconfig/luajit.pc \
+"
+FILES_luajit-common = "${datadir}/${BPN}-${PV}"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson/native_bindir.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson/native_bindir.patch
index 53eeff7b6..993e9750e 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson/native_bindir.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson/native_bindir.patch
@@ -1,8 +1,13 @@
+There are some discussions upstream to merge this patch, but I presonaly believe
+that is is OE only. https://github.com/mesonbuild/meson/issues/1849#issuecomment-303730323
+
+Upstream-Status: Inappropriate [OE specific]
+Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
diff --git a/mesonbuild/dependencies.py b/mesonbuild/dependencies.py
-index da73a57b7ecd..22100f69c580 100644
+index 04a22f985941..3e33bc4a79e7 100644
--- a/mesonbuild/dependencies.py
+++ b/mesonbuild/dependencies.py
-@@ -65,7 +65,7 @@ class Dependency():
+@@ -95,7 +95,7 @@ class Dependency:
def need_threads(self):
return False
@@ -11,7 +16,7 @@ index da73a57b7ecd..22100f69c580 100644
raise MesonException('Tried to get a pkg-config variable from a non-pkgconfig dependency.')
class InternalDependency(Dependency):
-@@ -177,8 +177,12 @@ class PkgConfigDependency(Dependency):
+@@ -224,8 +224,12 @@ class PkgConfigDependency(Dependency):
return s.format(self.__class__.__name__, self.name, self.is_found,
self.version_reqs)
@@ -23,10 +28,10 @@ index da73a57b7ecd..22100f69c580 100644
+ else:
+ pkgbin = [self.pkgbin]
+ p, out = Popen_safe(pkgbin + args, env=os.environ)[0:2]
- return (p.returncode, out.strip())
+ return p.returncode, out.strip()
def _set_cargs(self):
-@@ -212,8 +216,8 @@ class PkgConfigDependency(Dependency):
+@@ -259,8 +263,8 @@ class PkgConfigDependency(Dependency):
self.is_libtool = True
self.libs.append(lib)
@@ -37,12 +42,8 @@ index da73a57b7ecd..22100f69c580 100644
variable = ''
if ret != 0:
if self.required:
-@@ -933,10 +937,10 @@ class QtBaseDependency(Dependency):
- corekwargs = {'required': 'false', 'silent': 'true'}
- core = PkgConfigDependency(self.qtpkgname + 'Core', env, corekwargs)
- # Used by self.compilers_detect()
-- self.bindir = core.get_pkgconfig_variable('host_bins')
-+ self.bindir = core.get_pkgconfig_variable('host_bins', use_native=True)
+@@ -1091,7 +1095,7 @@ class QtBaseDependency(Dependency):
+ self.bindir = self.get_pkgconfig_host_bins(core)
if not self.bindir:
# If exec_prefix is not defined, the pkg-config file is broken
- prefix = core.get_pkgconfig_variable('exec_prefix')
@@ -50,3 +51,21 @@ index da73a57b7ecd..22100f69c580 100644
if prefix:
self.bindir = os.path.join(prefix, 'bin')
+@@ -1202,7 +1206,7 @@ class Qt5Dependency(QtBaseDependency):
+ QtBaseDependency.__init__(self, 'qt5', env, kwargs)
+
+ def get_pkgconfig_host_bins(self, core):
+- return core.get_pkgconfig_variable('host_bins')
++ return core.get_pkgconfig_variable('host_bins', use_native=True)
+
+ class Qt4Dependency(QtBaseDependency):
+ def __init__(self, env, kwargs):
+@@ -1216,7 +1220,7 @@ class Qt4Dependency(QtBaseDependency):
+ applications = ['moc', 'uic', 'rcc', 'lupdate', 'lrelease']
+ for application in applications:
+ try:
+- return os.path.dirname(core.get_pkgconfig_variable('%s_location' % application))
++ return os.path.dirname(core.get_pkgconfig_variable('%s_location' % application, use_native=True))
+ except MesonException:
+ pass
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson_0.37.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson_0.37.1.bb
deleted file mode 100644
index dbbea6447..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson_0.37.1.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-HOMEPAGE = "http://mesonbuild.com"
-SUMMARY = "A high performance build system"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-SRC_URI = " \
- git://github.com/mesonbuild/meson.git \
- file://native_bindir.patch \
-"
-
-SRCREV = "3d4bfdcb22314ea7db45a5b075f8b2a9c1498aab"
-
-S = "${WORKDIR}/git"
-
-inherit setuptools3
-
-RDEPENDS_${PN}_class-target = "ninja python3-core python3-modules"
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson_0.40.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson_0.40.1.bb
new file mode 100644
index 000000000..14644ba9b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson_0.40.1.bb
@@ -0,0 +1,20 @@
+HOMEPAGE = "http://mesonbuild.com"
+SUMMARY = "A high performance build system"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI = " \
+ git://github.com/mesonbuild/meson.git \
+ file://native_bindir.patch \
+"
+
+SRCREV = "b25d3e4d3f2b4d37029a507cc089bdde643c6240"
+
+S = "${WORKDIR}/git"
+
+inherit setuptools3
+
+RDEPENDS_${PN} = "ninja python3-core python3-modules"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.2.bb
index 4537a66e0..4a2c37723 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.2.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.2.bb
@@ -12,8 +12,6 @@ SRC_URI = " \
SRC_URI[md5sum] = "f414cfa77099cd1fa1a5ae4e22db508a"
SRC_URI[sha256sum] = "0778679a6b693d7b7caff37ff9d2856dc2bfc51318bf8373859bfa74253da3dc"
-CACHED_CONFIGUREVARS += "BASH_SHELL=${base_bindir}/bash"
-
RDEPENDS_${PN} += "bash perl libxml2"
S = "${WORKDIR}/${BP}"
@@ -26,6 +24,8 @@ EXTRA_OECONF = "--enable-debuginfo \
--disable-fc \
--disable-fortran \
--disable-cxx \
+ BASH_SHELL='${USRBINPATH}/env bash' \
+ PERL='${USRBINPATH}/env perl' \
"
inherit autotools-brokensep gettext
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c/0001-Comment-intentional-fallthrough-in-case-statements.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c/0001-Comment-intentional-fallthrough-in-case-statements.patch
deleted file mode 100644
index a388297a8..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c/0001-Comment-intentional-fallthrough-in-case-statements.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 15d8bb6792c9639d85a9ffe2ac81431f1b986c21 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 22 Apr 2017 08:53:50 -0700
-Subject: [PATCH] Comment intentional fallthrough in case statements
-
-Fixes build with gcc7
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp b/include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp
-index b35c21a7..4c463a90 100644
---- a/include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp
-+++ b/include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp
-@@ -105,6 +105,7 @@ struct define_array<A0, A1> {
- switch(size) {
- default:
- case 2: ptr[1].convert(a1);
-+ //fallthrough
- case 1: ptr[0].convert(a0);
- }
- }
-@@ -193,8 +194,11 @@ struct define_array<A0, A1, A2, A3> {
- switch(size) {
- default:
- case 4: ptr[3].convert(a3);
-+ //fallthrough
- case 3: ptr[2].convert(a2);
-+ //fallthrough
- case 2: ptr[1].convert(a1);
-+ //fallthrough
- case 1: ptr[0].convert(a0);
- }
- }
---
-2.12.2
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_2.1.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_2.1.1.bb
deleted file mode 100644
index 7655d9469..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_2.1.1.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "MessagePack implementation for C and C++"
-DESCRIPTION = "MessagePack is an efficient binary serialization format. It's like JSON. but fast and small"
-HOMEPAGE = "http://msgpack.org/index.html"
-LICENSE = "BSL-1.0"
-LIC_FILES_CHKSUM = "file://NOTICE;md5=7a858c074723608e08614061dc044352 \
- file://COPYING;md5=0639c4209b6f2abf1437c813b208f2d3 \
- file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c \
- "
-
-PV .= "+git${SRCPV}"
-
-SRCREV = "20ef1f925b007f170ab1c257e4aa61fdd0927773"
-
-SRC_URI = "git://github.com/msgpack/msgpack-c \
- file://0001-Comment-intentional-fallthrough-in-case-statements.patch \
- "
-
-inherit cmake pkgconfig
-
-S = "${WORKDIR}/git"
-
-FILES_${PN}-dev += "${libdir}/cmake/msgpack/*.cmake"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_2.1.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_2.1.5.bb
new file mode 100644
index 000000000..d9f695669
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_2.1.5.bb
@@ -0,0 +1,21 @@
+SUMMARY = "MessagePack implementation for C and C++"
+DESCRIPTION = "MessagePack is an efficient binary serialization format. It's like JSON. but fast and small"
+HOMEPAGE = "http://msgpack.org/index.html"
+LICENSE = "BSL-1.0"
+LIC_FILES_CHKSUM = "file://NOTICE;md5=7a858c074723608e08614061dc044352 \
+ file://COPYING;md5=0639c4209b6f2abf1437c813b208f2d3 \
+ file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c \
+ "
+
+PV .= "+git${SRCPV}"
+
+SRCREV = "7a98138f27f27290e680bf8fbf1f8d1b089bf138"
+
+SRC_URI = "git://github.com/msgpack/msgpack-c \
+ "
+
+inherit cmake pkgconfig
+
+S = "${WORKDIR}/git"
+
+FILES_${PN}-dev += "${libdir}/cmake/msgpack/*.cmake"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ninja/ninja_1.7.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ninja/ninja_1.7.2.bb
deleted file mode 100644
index 932e3a6ed..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ninja/ninja_1.7.2.bb
+++ /dev/null
@@ -1,30 +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 ninja-native"
-
-SRCREV = "717b7b4a31db6027207588c0fb89c3ead384747b"
-
-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 nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch
new file mode 100644
index 000000000..324a4683d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch
@@ -0,0 +1,29 @@
+From c2aff16cc196a61f4ab1cdae4a91c7926123c239 Mon Sep 17 00:00:00 2001
+From: Zuzana Svetlikova <zsvetlik@redhat.com>
+Date: Thu, 27 Apr 2017 14:25:42 +0200
+Subject: [PATCH] Disable running gyp on shared deps
+
+---
+ Makefile | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 0a217bd893..e1229ad07f 100644
+--- a/Makefile
++++ b/Makefile
+@@ -79,10 +79,9 @@ $(NODE_G_EXE): config.gypi out/Makefile
+ $(MAKE) -C out BUILDTYPE=Debug V=$(V)
+ if [ ! -r $@ -o ! -L $@ ]; then ln -fs out/Debug/$(NODE_EXE) $@; fi
+
+-out/Makefile: common.gypi deps/uv/uv.gyp deps/http_parser/http_parser.gyp \
+- deps/zlib/zlib.gyp deps/v8/gypfiles/toolchain.gypi \
+- deps/v8/gypfiles/features.gypi deps/v8/src/v8.gyp node.gyp \
+- config.gypi
++out/Makefile: common.gypi deps/http_parser/http_parser.gyp \
++ deps/v8/gypfiles/toolchain.gypi deps/v8/gypfiles/features.gypi \
++ deps/v8/src/v8.gyp node.gyp config.gypi
+ $(PYTHON) tools/gyp_node.py -f make
+
+ config.gypi: configure
+--
+2.12.2
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch
new file mode 100644
index 000000000..324a4683d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch
@@ -0,0 +1,29 @@
+From c2aff16cc196a61f4ab1cdae4a91c7926123c239 Mon Sep 17 00:00:00 2001
+From: Zuzana Svetlikova <zsvetlik@redhat.com>
+Date: Thu, 27 Apr 2017 14:25:42 +0200
+Subject: [PATCH] Disable running gyp on shared deps
+
+---
+ Makefile | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 0a217bd893..e1229ad07f 100644
+--- a/Makefile
++++ b/Makefile
+@@ -79,10 +79,9 @@ $(NODE_G_EXE): config.gypi out/Makefile
+ $(MAKE) -C out BUILDTYPE=Debug V=$(V)
+ if [ ! -r $@ -o ! -L $@ ]; then ln -fs out/Debug/$(NODE_EXE) $@; fi
+
+-out/Makefile: common.gypi deps/uv/uv.gyp deps/http_parser/http_parser.gyp \
+- deps/zlib/zlib.gyp deps/v8/gypfiles/toolchain.gypi \
+- deps/v8/gypfiles/features.gypi deps/v8/src/v8.gyp node.gyp \
+- config.gypi
++out/Makefile: common.gypi deps/http_parser/http_parser.gyp \
++ deps/v8/gypfiles/toolchain.gypi deps/v8/gypfiles/features.gypi \
++ deps/v8/src/v8.gyp node.gyp config.gypi
+ $(PYTHON) tools/gyp_node.py -f make
+
+ config.gypi: configure
+--
+2.12.2
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_4.8.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_4.8.2.bb
deleted file mode 100644
index ae84ad308..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_4.8.2.bb
+++ /dev/null
@@ -1,88 +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=f45e9ffb97e64da46d14f462d34a039f"
-
-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] = "aea6139f952bb7e1d66f76afedee813c"
-SRC_URI[sha256sum] = "b961350b8490c791bdd3663925662ba0fbe01e004b43f1c2779baffcc816b930"
-
-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'), 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_8.4.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_8.4.0.bb
new file mode 100644
index 000000000..5bcbc0007
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_8.4.0.bb
@@ -0,0 +1,89 @@
+DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
+HOMEPAGE = "http://nodejs.org"
+LICENSE = "MIT & BSD & Artistic-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e4d35c6120f175e1fbe5ff908b1cf2d6"
+
+DEPENDS = "openssl10 zlib"
+
+COMPATIBLE_MACHINE_armv4 = "(!.*armv4).*"
+COMPATIBLE_MACHINE_armv5 = "(!.*armv5).*"
+COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*"
+
+SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \
+ file://0001-Disable-running-gyp-files-for-bundled-deps.patch \
+"
+SRC_URI[md5sum] = "e6c85c83001340b30671e9432e1bd337"
+SRC_URI[sha256sum] = "5d5aa2a101dcc617231a475812eb8ed87cac21491f1dcc7997b9dd463563f361"
+
+S = "${WORKDIR}/node-v${PV}"
+
+# v8 errors out if you have set CCACHE
+CCACHE = ""
+
+def map_nodejs_arch(a, d):
+ import re
+
+ if re.match('i.86$', a): return 'ia32'
+ elif re.match('x86_64$', a): return 'x64'
+ elif re.match('aarch64$', a): return 'arm64'
+ elif re.match('powerpc64$', a): return 'ppc64'
+ elif re.match('powerpc$', a): return 'ppc'
+ return a
+
+ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)} \
+ ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-arm-fpu=neon', \
+ bb.utils.contains('TUNE_FEATURES', 'vfpv3d16', '--with-arm-fpu=vfpv3-d16', \
+ bb.utils.contains('TUNE_FEATURES', 'vfpv3', '--with-arm-fpu=vfpv3', \
+ '--with-arm-fpu=vfp', d), d), d)}"
+GYP_DEFINES_append_mipsel = " mips_arch_variant='r1' "
+ARCHFLAGS ?= ""
+
+# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround gypi
+do_configure () {
+ rm -rf ${S}/deps/openssl
+ export LD="${CXX}"
+ GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES
+ # $TARGET_ARCH settings don't match --dest-cpu settings
+ ./configure --prefix=${prefix} --without-intl --without-snapshot --shared-openssl --shared-zlib \
+ --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \
+ --dest-os=linux \
+ ${ARCHFLAGS}
+}
+
+do_compile () {
+ export LD="${CXX}"
+ oe_runmake BUILDTYPE=Release
+}
+
+do_install () {
+ oe_runmake install DESTDIR=${D}
+}
+
+do_install_append_class-native() {
+ # use node from PATH instead of absolute path to sysroot
+ # node-v0.10.25/tools/install.py is using:
+ # shebang = os.path.join(node_prefix, 'bin/node')
+ # update_shebang(link_path, shebang)
+ # and node_prefix can be very long path to bindir in native sysroot and
+ # when it exceeds 128 character shebang limit it's stripped to incorrect path
+ # and npm fails to execute like in this case with 133 characters show in log.do_install:
+ # updating shebang of /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/work/x86_64-linux/nodejs-native/0.10.15-r0/image/home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/npm to /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/node
+ # /usr/bin/npm is symlink to /usr/lib/node_modules/npm/bin/npm-cli.js
+ # use sed on npm-cli.js because otherwise symlink is replaced with normal file and
+ # npm-cli.js continues to use old shebang
+ sed "1s^.*^#\!/usr/bin/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js
+}
+
+do_install_append_class-target() {
+ sed "1s^.*^#\!${bindir}/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js
+}
+
+PACKAGES =+ "${PN}-npm"
+FILES_${PN}-npm = "${exec_prefix}/lib/node_modules ${bindir}/npm ${bindir}/npx"
+RDEPENDS_${PN}-npm = "bash python-shell python-datetime python-subprocess python-textutils"
+
+PACKAGES =+ "${PN}-systemtap"
+FILES_${PN}-systemtap = "${datadir}/systemtap"
+
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Add-fallthrough-comments.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Add-fallthrough-comments.patch
new file mode 100644
index 000000000..644146c4d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Add-fallthrough-comments.patch
@@ -0,0 +1,155 @@
+From 8f85163b030e7b957648f90cd8fa599fb04d5d65 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 16 Jun 2017 23:32:49 -0700
+Subject: [PATCH 1/5] Add fallthrough comments
+
+Fixes
+
+src/svf/svf.c:663:7: error: this statement may fall through [-Werror=implicit-fallthrough=]
+ i = -1;
+ ~~^~~~
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/flash/mflash.c | 3 ++-
+ src/flash/nand/mx3.c | 1 +
+ src/jtag/drivers/ftdi.c | 1 +
+ src/svf/svf.c | 2 ++
+ src/target/arm_adi_v5.c | 9 +++++++++
+ src/target/arm_disassembler.c | 1 +
+ src/target/target.c | 1 +
+ 7 files changed, 17 insertions(+), 1 deletion(-)
+
+diff --git a/src/flash/mflash.c b/src/flash/mflash.c
+index b69995542..3254a3d56 100644
+--- a/src/flash/mflash.c
++++ b/src/flash/mflash.c
+@@ -259,10 +259,11 @@ static int mg_dsk_wait(mg_io_type_wait wait_local, uint32_t time_var)
+ case mg_io_wait_rdy:
+ if (status & mg_io_rbit_status_ready)
+ return ERROR_OK;
+-
++ /* fallthru */
+ case mg_io_wait_drq:
+ if (status & mg_io_rbit_status_data_req)
+ return ERROR_OK;
++ /* fallthru */
+
+ default:
+ break;
+diff --git a/src/flash/nand/mx3.c b/src/flash/nand/mx3.c
+index b61e47535..0a55929ed 100644
+--- a/src/flash/nand/mx3.c
++++ b/src/flash/nand/mx3.c
+@@ -281,6 +281,7 @@ static int imx31_command(struct nand_device *nand, uint8_t command)
+ * offset == one half of page size
+ */
+ in_sram_address = MX3_NF_MAIN_BUFFER0 + (nand->page_size >> 1);
++ /* fallthru */
+ default:
+ in_sram_address = MX3_NF_MAIN_BUFFER0;
+ }
+diff --git a/src/jtag/drivers/ftdi.c b/src/jtag/drivers/ftdi.c
+index 00fe37faf..20f17d810 100644
+--- a/src/jtag/drivers/ftdi.c
++++ b/src/jtag/drivers/ftdi.c
+@@ -855,6 +855,7 @@ COMMAND_HANDLER(ftdi_handle_set_signal_command)
+ ftdi_set_signal(sig, *CMD_ARGV[1]);
+ break;
+ }
++ /* fallthru */
+ default:
+ LOG_ERROR("unknown signal level '%s', use 0, 1 or z", CMD_ARGV[1]);
+ return ERROR_COMMAND_SYNTAX_ERROR;
+diff --git a/src/svf/svf.c b/src/svf/svf.c
+index e7e815c10..7b261cc72 100644
+--- a/src/svf/svf.c
++++ b/src/svf/svf.c
+@@ -661,11 +661,13 @@ static int svf_read_command_from_file(FILE *fd)
+ if (svf_getline(&svf_read_line, &svf_read_line_size, svf_fd) <= 0)
+ return ERROR_FAIL;
+ i = -1;
++ /* fallthru */
+ case '\r':
+ slash = 0;
+ /* Don't save '\r' and '\n' if no data is parsed */
+ if (!cmd_pos)
+ break;
++ /* fallthru */
+ default:
+ /* The parsing code currently expects a space
+ * before parentheses -- "TDI (123)". Also a
+diff --git a/src/target/arm_adi_v5.c b/src/target/arm_adi_v5.c
+index eafc2ddc0..d444db2b1 100644
+--- a/src/target/arm_adi_v5.c
++++ b/src/target/arm_adi_v5.c
+@@ -346,10 +346,13 @@ static int mem_ap_write(struct adiv5_ap *ap, const uint8_t *buffer, uint32_t siz
+ case 4:
+ outvalue |= (uint32_t)*buffer++ << 8 * (address++ & 3);
+ outvalue |= (uint32_t)*buffer++ << 8 * (address++ & 3);
++ /* fallthru */
+ case 2:
+ outvalue |= (uint32_t)*buffer++ << 8 * (address++ & 3);
++ /* fallthru */
+ case 1:
+ outvalue |= (uint32_t)*buffer++ << 8 * (address++ & 3);
++ /* fallthru */
+ }
+ }
+
+@@ -509,20 +512,26 @@ static int mem_ap_read(struct adiv5_ap *ap, uint8_t *buffer, uint32_t size, uint
+ case 4:
+ *buffer++ = *read_ptr >> 8 * (3 - (address++ & 3));
+ *buffer++ = *read_ptr >> 8 * (3 - (address++ & 3));
++ /* fallthru */
+ case 2:
+ *buffer++ = *read_ptr >> 8 * (3 - (address++ & 3));
++ /* fallthru */
+ case 1:
+ *buffer++ = *read_ptr >> 8 * (3 - (address++ & 3));
++ /* fallthru */
+ }
+ } else {
+ switch (this_size) {
+ case 4:
+ *buffer++ = *read_ptr >> 8 * (address++ & 3);
+ *buffer++ = *read_ptr >> 8 * (address++ & 3);
++ /* fallthru */
+ case 2:
+ *buffer++ = *read_ptr >> 8 * (address++ & 3);
++ /* fallthru */
+ case 1:
+ *buffer++ = *read_ptr >> 8 * (address++ & 3);
++ /* fallthru */
+ }
+ }
+
+diff --git a/src/target/arm_disassembler.c b/src/target/arm_disassembler.c
+index 5277b94d8..2eb21ea33 100644
+--- a/src/target/arm_disassembler.c
++++ b/src/target/arm_disassembler.c
+@@ -3299,6 +3299,7 @@ static int t2ev_data_immed(uint32_t opcode, uint32_t address,
+ case 0x10:
+ case 0x12:
+ is_signed = true;
++ /* fallthru */
+ case 0x18:
+ case 0x1a:
+ /* signed/unsigned saturated add */
+diff --git a/src/target/target.c b/src/target/target.c
+index e04ecc470..597b4b13d 100644
+--- a/src/target/target.c
++++ b/src/target/target.c
+@@ -3684,6 +3684,7 @@ COMMAND_HANDLER(handle_bp_command)
+ addr = 0;
+ return handle_bp_command_set(CMD_CTX, addr, asid, length, hw);
+ }
++ /* fallthru */
+
+ case 4:
+ hw = BKPT_HARD;
+--
+2.13.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0002-Workaround-new-warnings-generated-by-GCC-7.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0002-Workaround-new-warnings-generated-by-GCC-7.patch
new file mode 100644
index 000000000..aa99735f6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0002-Workaround-new-warnings-generated-by-GCC-7.patch
@@ -0,0 +1,53 @@
+From 8daaa8c27794653d02854c5982669a7638473224 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 16 Jun 2017 23:52:46 -0700
+Subject: [PATCH 2/5] Workaround new warnings generated by GCC 7
+
+src/flash/nor/xmc4xxx.c: In function 'xmc4xxx_get_info_command':
+src/flash/nor/xmc4xxx.c:939:43: error: '%d' directive output may be truncated writing between 1 and 10 bytes into a region of size 6 [-Werror=format-truncation=]
+ snprintf(otp_str, sizeof(otp_str), "- %d\n", i);
+ ^~
+src/flash/nor/xmc4xxx.c:939:40: note: directive argument in the range [0, 2147483647]
+ snprintf(otp_str, sizeof(otp_str), "- %d\n", i);
+ ^~~~~~~~
+src/flash/nor/xmc4xxx.c:939:5: note: 'snprintf' output between 5 and 14 bytes into a destination of size 8
+ snprintf(otp_str, sizeof(otp_str), "- %d\n", i);
+ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/flash/nor/xmc4xxx.c | 2 +-
+ src/target/arm_adi_v5.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/flash/nor/xmc4xxx.c b/src/flash/nor/xmc4xxx.c
+index 02df46a3f..e6c398ff9 100644
+--- a/src/flash/nor/xmc4xxx.c
++++ b/src/flash/nor/xmc4xxx.c
+@@ -931,7 +931,7 @@ static int xmc4xxx_get_info_command(struct flash_bank *bank, char *buf, int buf_
+
+ /* If OTP Write protection is enabled (User 2), list each
+ * sector that has it enabled */
+- char otp_str[8];
++ char otp_str[14];
+ if (otp_enabled) {
+ strcat(prot_str, "\nOTP Protection is enabled for sectors:\n");
+ for (int i = 0; i < bank->num_sectors; i++) {
+diff --git a/src/target/arm_adi_v5.c b/src/target/arm_adi_v5.c
+index d444db2b1..d0d95121f 100644
+--- a/src/target/arm_adi_v5.c
++++ b/src/target/arm_adi_v5.c
+@@ -1062,7 +1062,7 @@ static int dap_rom_display(struct command_context *cmd_ctx,
+ int retval;
+ uint64_t pid;
+ uint32_t cid;
+- char tabs[7] = "";
++ char tabs[16] = "";
+
+ if (depth > 16) {
+ command_print(cmd_ctx, "\tTables too deep");
+--
+2.13.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0003-armv7a-Add-missing-break-to-fix-fallthrough-warning.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0003-armv7a-Add-missing-break-to-fix-fallthrough-warning.patch
new file mode 100644
index 000000000..bcfbfc92b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0003-armv7a-Add-missing-break-to-fix-fallthrough-warning.patch
@@ -0,0 +1,27 @@
+From 8e5051e83fedb078170565a24d1f5de6c2ce4428 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 17 Jun 2017 00:01:51 -0700
+Subject: [PATCH 3/5] armv7a: Add missing break to fix fallthrough warning
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/target/armv7a.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/target/armv7a.c b/src/target/armv7a.c
+index 6021def4e..bad806b3d 100644
+--- a/src/target/armv7a.c
++++ b/src/target/armv7a.c
+@@ -355,6 +355,7 @@ int armv7a_mmu_translate_va_pa(struct target *target, uint32_t va,
+ break;
+ case 7:
+ LOG_INFO("inner: Write-Back, no Write-Allocate");
++ break;
+
+ default:
+ LOG_INFO("inner: %" PRIx32 " ???", INNER);
+--
+2.13.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0004-Fix-overflow-warning.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0004-Fix-overflow-warning.patch
new file mode 100644
index 000000000..bfc5627c1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0004-Fix-overflow-warning.patch
@@ -0,0 +1,30 @@
+From d3ca56370a2be7e737d48bd14d474d790a0ab8ac Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 17 Jun 2017 00:04:00 -0700
+Subject: [PATCH 4/5] Fix overflow warning
+
+Remove an empty space which makes it fit into 11 byte string
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/target/nds32_cmd.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/target/nds32_cmd.c b/src/target/nds32_cmd.c
+index edb4872e4..73355073c 100644
+--- a/src/target/nds32_cmd.c
++++ b/src/target/nds32_cmd.c
+@@ -821,7 +821,7 @@ static int jim_nds32_bulk_read(Jim_Interp *interp, int argc, Jim_Obj * const *ar
+ jim_wide i;
+ Jim_SetResult(interp, Jim_NewEmptyStringObj(interp));
+ for (i = 0; i < count; i++) {
+- sprintf(data_str, "0x%08" PRIx32 " ", data[i]);
++ sprintf(data_str, "0x%08" PRIx32 "", data[i]);
+ Jim_AppendStrings(interp, Jim_GetResult(interp), data_str, NULL);
+ }
+
+--
+2.13.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0005-command-Move-the-fall-through-comment-to-right-scope.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0005-command-Move-the-fall-through-comment-to-right-scope.patch
new file mode 100644
index 000000000..60f75da2c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0005-command-Move-the-fall-through-comment-to-right-scope.patch
@@ -0,0 +1,27 @@
+From 29dbf92ffdbdda29662b4190a2f8eb09caad8b51 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 17 Jun 2017 00:06:32 -0700
+Subject: [PATCH 5/5] command: Move the fall through comment to right scope
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/helper/command.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/helper/command.c b/src/helper/command.c
+index 5deaee859..287c14857 100644
+--- a/src/helper/command.c
++++ b/src/helper/command.c
+@@ -1456,8 +1456,8 @@ COMMAND_HELPER(handle_command_parse_bool, bool *out, const char *label)
+ LOG_ERROR("%s: argument '%s' is not valid", CMD_NAME, in);
+ return ERROR_COMMAND_SYNTAX_ERROR;
+ }
+- /* fall through */
+ }
++ /* fall through */
+ case 0:
+ LOG_INFO("%s is %s", label, *out ? "enabled" : "disabled");
+ break;
+--
+2.13.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb
new file mode 100644
index 000000000..20bc663f9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb
@@ -0,0 +1,49 @@
+SUMMARY = "Free and Open On-Chip Debugging, In-System Programming and Boundary-Scan Testing"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "libusb-compat libftdi"
+RDEPENDS_${PN} = "libusb1"
+
+SRC_URI = "git://repo.or.cz/openocd.git \
+ file://0001-Add-fallthrough-comments.patch \
+ file://0002-Workaround-new-warnings-generated-by-GCC-7.patch \
+ file://0003-armv7a-Add-missing-break-to-fix-fallthrough-warning.patch \
+ file://0004-Fix-overflow-warning.patch \
+ file://0005-command-Move-the-fall-through-comment-to-right-scope.patch \
+"
+SRCREV = "1025be363e2bf42f1613083223a2322cc3a9bd4c"
+
+PV = "0.10+gitr${SRCPV}"
+S = "${WORKDIR}/git"
+
+inherit pkgconfig autotools-brokensep gettext
+
+BBCLASSEXTEND += "nativesdk"
+
+EXTRA_OECONF = "--enable-ftdi --disable-doxygen-html "
+
+do_configure() {
+ ./bootstrap
+ oe_runconf ${EXTRA_OECONF}
+}
+
+do_install() {
+ oe_runmake DESTDIR=${D} install
+ if [ -e "${D}${infodir}" ]; then
+ rm -Rf ${D}${infodir}
+ fi
+ if [ -e "${D}${mandir}" ]; then
+ rm -Rf ${D}${mandir}
+ fi
+ if [ -e "${D}${bindir}/.debug" ]; then
+ rm -Rf ${D}${bindir}/.debug
+ fi
+}
+
+FILES_${PN} = " \
+ ${datadir}/openocd/* \
+ ${bindir}/openocd \
+ "
+
+PACKAGECONFIG[sysfsgpio] = "--enable-sysfsgpio,--disable-sysfsgpio"
+PACKAGECONFIG ??= "sysfsgpio"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb
index 14e75dc7a..1be7f6aff 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb
@@ -1,6 +1,6 @@
SUMMARY = "Packages required for a target (on-device) SDK"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
PR = "r1"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/0001-Don-t-call-deprecated-glib-functions-and-use-the-new.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/0001-Don-t-call-deprecated-glib-functions-and-use-the-new.patch
deleted file mode 100644
index ecf8e7493..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/0001-Don-t-call-deprecated-glib-functions-and-use-the-new.patch
+++ /dev/null
@@ -1,166 +0,0 @@
-From 869e52a9055c72970fed036a1510f676e6ce0824 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 13 Jun 2013 01:24:19 -0700
-Subject: [PATCH] Don't call deprecated glib functions and use the new gthread
- API.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Inappropriate[version Unmaintained Upstream]
----
- client/pk-console.c | 3 ++-
- client/pk-generate-pack.c | 3 ++-
- client/pk-monitor.c | 3 ++-
- contrib/command-not-found/PackageKit.sh | 2 +-
- contrib/command-not-found/pk-command-not-found.c | 4 ++--
- contrib/debuginfo-install/pk-debuginfo-install.c | 4 ++--
- src/pk-backend.c | 7 +++++++
- src/pk-main.c | 4 ++--
- 10 files changed, 20 insertions(+), 10 deletions(-)
-
-diff --git a/client/pk-console.c b/client/pk-console.c
-index de927e1..2435f27 100644
---- a/client/pk-console.c
-+++ b/client/pk-console.c
-@@ -1264,11 +1264,12 @@ main (int argc, char *argv[])
- bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
- bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
- textdomain (GETTEXT_PACKAGE);
--
-+#if !GLIB_CHECK_VERSION(2,32,0)
- if (! g_thread_supported ())
- g_thread_init (NULL);
- g_type_init ();
- dbus_g_thread_init ();
-+#endif
-
- /* do stuff on ctrl-c */
- signal (SIGINT, pk_console_sigint_cb);
-diff --git a/client/pk-generate-pack.c b/client/pk-generate-pack.c
-index 0b2b40f..20d7e8d 100644
---- a/client/pk-generate-pack.c
-+++ b/client/pk-generate-pack.c
-@@ -251,12 +251,13 @@ main (int argc, char *argv[])
- bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
- bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
- textdomain (GETTEXT_PACKAGE);
--
-+#if !GLIB_CHECK_VERSION(2,32,0)
- if (! g_thread_supported ())
- g_thread_init (NULL);
-
- g_type_init ();
- dbus_g_thread_init ();
-+#endif
-
- /* do stuff on ctrl-c */
- signal (SIGINT, pk_generate_pack_sigint_cb);
-diff --git a/client/pk-monitor.c b/client/pk-monitor.c
-index f230f7a..d43007f 100644
---- a/client/pk-monitor.c
-+++ b/client/pk-monitor.c
-@@ -285,11 +285,12 @@ main (int argc, char *argv[])
- bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
- bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
- textdomain (GETTEXT_PACKAGE);
--
-+#if !GLIB_CHECK_VERSION(2,32,0)
- if (! g_thread_supported ())
- g_thread_init (NULL);
- g_type_init ();
- dbus_g_thread_init ();
-+#endif
-
- context = g_option_context_new (NULL);
- /* TRANSLATORS: this is a program that monitors PackageKit */
-diff --git a/contrib/command-not-found/PackageKit.sh b/contrib/command-not-found/PackageKit.sh
-index d08989c..d708fff 100644
---- a/contrib/command-not-found/PackageKit.sh
-+++ b/contrib/command-not-found/PackageKit.sh
-@@ -18,7 +18,7 @@ command_not_found_handle () {
-
- # run the command, or just print a warning
- if [ $runcnf -eq 1 ]; then
-- /home/hughsie/.root/libexec/pk-command-not-found $1
-+ /usr/lib/packagekit/pk-command-not-found $1
- retval=$?
- else
- echo "bash: $1: command not found"
-diff --git a/contrib/command-not-found/pk-command-not-found.c b/contrib/command-not-found/pk-command-not-found.c
-index 70679c0..9f81ce4 100644
---- a/contrib/command-not-found/pk-command-not-found.c
-+++ b/contrib/command-not-found/pk-command-not-found.c
-@@ -659,12 +659,12 @@ main (int argc, char *argv[])
- bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
- bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
- textdomain (GETTEXT_PACKAGE);
--
-+#if !GLIB_CHECK_VERSION(2,32,0)
- if (! g_thread_supported ())
- g_thread_init (NULL);
- dbus_g_thread_init ();
- g_type_init ();
--
-+#endif
- context = g_option_context_new (NULL);
- /* TRANSLATORS: tool that gets called when the command is not found */
- g_option_context_set_summary (context, _("PackageKit Command Not Found"));
-diff --git a/contrib/debuginfo-install/pk-debuginfo-install.c b/contrib/debuginfo-install/pk-debuginfo-install.c
-index c12aca5..b0e1e7c 100644
---- a/contrib/debuginfo-install/pk-debuginfo-install.c
-+++ b/contrib/debuginfo-install/pk-debuginfo-install.c
-@@ -532,11 +532,11 @@ main (int argc, char *argv[])
- bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
- bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
- textdomain (GETTEXT_PACKAGE);
--
-+#if !GLIB_CHECK_VERSION(2,32,0)
- if (! g_thread_supported ())
- g_thread_init (NULL);
- g_type_init ();
--
-+#endif
- context = g_option_context_new (NULL);
- /* TRANSLATORS: tool that gets called when the command is not found */
- g_option_context_set_summary (context, _("PackageKit Debuginfo Installer"));
-diff --git a/src/pk-backend.c b/src/pk-backend.c
-index 5216b63..5b83ae4 100644
---- a/src/pk-backend.c
-+++ b/src/pk-backend.c
-@@ -2103,7 +2103,14 @@ pk_backend_thread_create (PkBackend *backend, PkBackendThreadFunc func)
- egg_warning ("already has thread");
- return FALSE;
- }
-+#if !GLIB_CHECK_VERSION(2,32,0)
- backend->priv->thread = g_thread_create ((GThreadFunc) func, backend, FALSE, NULL);
-+#else
-+ backend->priv->thread = g_thread_try_new ("daemon thread", (GThreadFunc) func, backend, NULL);
-+ if (backend->priv->thread != NULL) {
-+ g_thread_unref(backend->priv->thread);
-+ }
-+#endif
- if (backend->priv->thread == NULL) {
- egg_warning ("failed to create thread");
- return FALSE;
-diff --git a/src/pk-main.c b/src/pk-main.c
-index 4c758cd..8fa2482 100644
---- a/src/pk-main.c
-+++ b/src/pk-main.c
-@@ -219,12 +219,12 @@ main (int argc, char *argv[])
- bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
- bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
- textdomain (GETTEXT_PACKAGE);
--
-+#if !GLIB_CHECK_VERSION(2,32,0)
- if (! g_thread_supported ())
- g_thread_init (NULL);
- dbus_g_thread_init ();
- g_type_init ();
--
-+#endif
- /* TRANSLATORS: describing the service that is running */
- context = g_option_context_new (_("PackageKit service"));
- g_option_context_add_main_entries (context, options, NULL);
---
-1.7.9.5
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/configurefix.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/configurefix.patch
deleted file mode 100644
index 48f959186..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/configurefix.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: PackageKit-0.6.0/configure.ac
-===================================================================
---- PackageKit-0.6.0.orig/configure.ac 2010-01-04 16:32:18.000000000 +0000
-+++ PackageKit-0.6.0/configure.ac 2010-01-29 11:33:48.000000000 +0000
-@@ -90,7 +90,7 @@
- enable_strict=$default_strict)
- if test x$enable_strict != xno; then
- if test "$GCC" = "yes"; then
-- WARNINGFLAGS_CPP="$WARNINGFLAGS_CPP -Werror"
-+ :
- fi
- fi
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/opkgfixes.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/opkgfixes.patch
deleted file mode 100644
index 5a73a19d5..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/opkgfixes.patch
+++ /dev/null
@@ -1,422 +0,0 @@
-Index: PackageKit-0.6.0/backends/opkg/pk-backend-opkg.c
-===================================================================
---- PackageKit-0.6.0.orig/backends/opkg/pk-backend-opkg.c 2010-01-29 09:39:33.000000000 +0000
-+++ PackageKit-0.6.0/backends/opkg/pk-backend-opkg.c 2010-01-29 11:30:51.000000000 +0000
-@@ -29,8 +29,7 @@
-
-+#include <stdio.h>
- #include <libopkg/opkg.h>
-
--static opkg_t *opkg;
--
- enum {
- SEARCH_NAME,
- SEARCH_DESCRIPTION,
-@@ -62,7 +60,7 @@
- * check an opkg package for known GUI dependancies
- */
- static gboolean
--opkg_is_gui_pkg (opkg_package_t *pkg)
-+opkg_is_gui_pkg (pkg_t *pkg)
- {
-
- /* TODO: check appropriate tag */
-@@ -84,7 +82,7 @@
- * check an opkg package to determine if it is a development package
- */
- static gboolean
--opkg_is_devel_pkg (opkg_package_t *pkg)
-+opkg_is_devel_pkg (pkg_t *pkg)
- {
- if (g_strrstr (pkg->name, "-dev"))
- return TRUE;
-@@ -105,7 +103,7 @@
- * returns true if the tag is present
- */
- static gboolean
--opkg_check_tag (opkg_package_t *pkg, const gchar *tag)
-+opkg_check_tag (pkg_t *pkg, const gchar *tag)
- {
- if (pkg->tags && tag)
- return (g_strrstr (pkg->tags, tag) != NULL);
-@@ -118,7 +116,7 @@
- {
- switch (err)
- {
-- case OPKG_NO_ERROR:
-+/* case OPKG_NO_ERROR:
- break;
- case OPKG_PACKAGE_NOT_INSTALLED:
- pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_INSTALLED, NULL);
-@@ -140,7 +138,7 @@
- break;
- case OPKG_PACKAGE_NOT_AVAILABLE:
- pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND, NULL);
-- break;
-+ break;*/
- default:
- opkg_unknown_error (backend, err, "Update package");
- }
-@@ -152,7 +150,7 @@
- static void
- backend_initialize (PkBackend *backend)
- {
-- opkg = opkg_new ();
-+ int opkg = opkg_new ();
-
- if (!opkg) {
- pk_backend_error_code (backend,
-@@ -162,8 +160,8 @@
- }
-
- #ifdef OPKG_OFFLINE_ROOT
-- opkg_set_option (opkg, (char *) "offline_root", OPKG_OFFLINE_ROOT);
-- opkg_re_read_config_files (opkg);
-+ opkg_set_option ((char *) "offline_root", OPKG_OFFLINE_ROOT);
-+ opkg_re_read_config_files ();
- #endif
-
- }
-@@ -174,22 +172,22 @@
- static void
- backend_destroy (PkBackend *backend)
- {
-- opkg_free (opkg);
-+ opkg_free ();
- }
-
-
- static void
--pk_opkg_progress_cb (opkg_t *_opkg, const opkg_progress_data_t *pdata, void *data)
-+pk_opkg_progress_cb (const opkg_progress_data_t *pdata, void *data)
- {
-- PkBackend *backend = PK_BACKEND (data);
-+ PkBackend *backend = (PkBackend*) data;
- if (!backend)
- return;
-
- pk_backend_set_percentage (backend, pdata->percentage);
-- if (pdata->package)
-+ if (pdata->pkg)
- {
- gchar *uid;
-- opkg_package_t *pkg = pdata->package;
-+ pkg_t *pkg = pdata->pkg;
- gint status = PK_INFO_ENUM_UNKNOWN;
-
- uid = g_strdup_printf ("%s;%s;%s;",
-@@ -225,12 +223,12 @@
- {
- int ret;
-
-- ret = opkg_update_package_lists (opkg, pk_opkg_progress_cb, backend);
-+ ret = opkg_update_package_lists (pk_opkg_progress_cb, backend);
-
- if (ret) {
-- if (ret == OPKG_DOWNLOAD_FAILED)
-- pk_backend_error_code (backend, PK_ERROR_ENUM_REPO_NOT_AVAILABLE, NULL);
-- else
-+// if (ret == OPKG_DOWNLOAD_FAILED)
-+// pk_backend_error_code (backend, PK_ERROR_ENUM_REPO_NOT_AVAILABLE, NULL);
-+// else
- opkg_unknown_error (backend, ret, "Refreshing cache");
- }
- pk_backend_finished (backend);
-@@ -256,7 +254,7 @@
- */
-
- static void
--pk_opkg_package_list_cb (opkg_t *_opkg, opkg_package_t *pkg, void *data)
-+pk_opkg_package_list_cb (pkg_t *pkg, void *data)
- {
- SearchParams *params = (SearchParams*) data;
- gchar *uid;
-@@ -298,7 +296,7 @@
- uid = g_strdup_printf ("%s;%s;%s;",
- pkg->name, pkg->version, pkg->architecture);
-
-- if (pkg->installed)
-+ if (pkg->state_status == SS_INSTALLED)
- status = PK_INFO_ENUM_INSTALLED;
- else
- status = PK_INFO_ENUM_AVAILABLE;
-@@ -318,10 +316,10 @@
- opkg_is_gui_pkg (pkg))
- goto end_handle;
- if (pk_bitfield_contain(filters, PK_FILTER_ENUM_INSTALLED) &&
-- (!pkg->installed))
-+ (pkg->state_status != SS_INSTALLED))
- goto end_handle;
- if (pk_bitfield_contain(filters, PK_FILTER_ENUM_NOT_INSTALLED) &&
-- (pkg->installed))
-+ (pkg->state_status == SS_INSTALLED))
- goto end_handle;
-
- pk_backend_package (params->backend, status, uid, pkg->description);
-@@ -338,7 +336,7 @@
-
- params = pk_backend_get_pointer (backend, "search-params");
-
-- opkg_list_packages (opkg, pk_opkg_package_list_cb, params);
-+ opkg_list_packages (pk_opkg_package_list_cb, params);
-
- pk_backend_finished (params->backend);
-
-@@ -349,7 +347,7 @@
- }
-
- static void
--backend_search_name (PkBackend *backend, PkBitfield filters, const gchar *search)
-+backend_search_name (PkBackend *backend, PkBitfield filters, gchar **search)
- {
- SearchParams *params;
-
-@@ -360,7 +358,7 @@
- params = g_new0 (SearchParams, 1);
- params->filters = filters;
- params->search_type = SEARCH_NAME;
-- params->needle = g_utf8_strdown (search, -1);
-+ params->needle = g_utf8_strdown (search[0], -1);
- params->backend = backend;
-
- pk_backend_set_pointer (backend, "search-params", params);
-@@ -371,7 +369,7 @@
- * backend_search_description:
- */
- static void
--backend_search_description (PkBackend *backend, PkBitfield filters, const gchar *search)
-+backend_search_description (PkBackend *backend, PkBitfield filters, gchar **search)
- {
- SearchParams *params;
-
-@@ -382,7 +380,7 @@
- params = g_new0 (SearchParams, 1);
- params->filters = filters;
- params->search_type = SEARCH_DESCRIPTION;
-- params->needle = g_utf8_strdown (search, -1);
-+ params->needle = g_utf8_strdown (search[0], -1);
- params->backend = backend;
-
- pk_backend_set_pointer (backend, "search-params", params);
-@@ -390,7 +388,7 @@
- }
-
- static void
--backend_search_group (PkBackend *backend, PkBitfield filters, const gchar *search)
-+backend_search_group (PkBackend *backend, PkBitfield filters, gchar **search)
- {
- SearchParams *params;
-
-@@ -401,7 +399,7 @@
- params = g_new0 (SearchParams, 1);
- params->filters = filters;
- params->search_type = SEARCH_TAG;
-- params->needle = g_strdup_printf ("group::%s", search);
-+ params->needle = g_strdup_printf ("group::%s", search[0]);
- params->backend = backend;
-
- pk_backend_set_pointer (backend, "search-params", params);
-@@ -412,9 +410,9 @@
- static gboolean
- backend_install_packages_thread (PkBackend *backend)
- {
-- PkPackageId *pi;
- gint err, i;
- gchar **package_ids;
-+ gchar **parts;
-
- package_ids = pk_backend_get_strv (backend, "pkids");
-
-@@ -424,13 +422,13 @@
- {
- pk_backend_package (backend, PK_INFO_ENUM_INSTALLING, package_ids[i], NULL);
-
-- pi = pk_package_id_new_from_string (package_ids[i]);
-+ parts = pk_package_id_split (package_ids[i]);
-
-- err = opkg_install_package (opkg, pi->name, pk_opkg_progress_cb, backend);
-+ err = opkg_install_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend);
- if (err)
- handle_install_error (backend, err);
-
-- pk_package_id_free (pi);
-+ g_strfreev (parts);
- if (err != 0)
- break;
- }
-@@ -453,9 +451,9 @@
- static gboolean
- backend_remove_packages_thread (PkBackend *backend)
- {
-- PkPackageId *pi;
- gint err, i;
- gchar **package_ids;
-+ gchar **parts;
- gboolean allow_deps;
- gboolean autoremove;
- gpointer *data;
-@@ -467,29 +465,30 @@
- autoremove = GPOINTER_TO_INT (data[2]);
- g_free (data);
-
-- opkg_set_option (opkg, (char *)"autoremove", &autoremove);
-- opkg_set_option (opkg, (char *)"force_removal_of_dependent_packages", &allow_deps);
-+ opkg_set_option ((char *)"autoremove", &autoremove);
-+ opkg_set_option ((char *)"force_removal_of_dependent_packages", &allow_deps);
-
- err = 0;
-
- for (i = 0; package_ids[i]; i++)
- {
-- pi = pk_package_id_new_from_string (package_ids[i]);
- pk_backend_package (backend, PK_INFO_ENUM_REMOVING, package_ids[i], NULL);
-
-- err = opkg_remove_package (opkg, pi->name, pk_opkg_progress_cb, backend);
-+ parts = pk_package_id_split (package_ids[i]);
-+
-+ err = opkg_remove_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend);
-
- switch (err)
- {
-- case OPKG_NO_ERROR:
-- break;
-- case OPKG_PACKAGE_NOT_INSTALLED:
-- pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_INSTALLED, NULL);
-- break;
-+ //case OPKG_NO_ERROR:
-+ // break;
-+ //case OPKG_PACKAGE_NOT_INSTALLED:
-+ // pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_INSTALLED, NULL);
-+ // break;
- default:
- opkg_unknown_error (backend, err, "Remove");
- }
-- pk_package_id_free (pi);
-+ g_strfreev (parts);
-
- if (err != 0)
- break;
-@@ -540,7 +539,7 @@
- gint err;
-
- /* FIXME: support only_trusted */
-- err = opkg_upgrade_all (opkg, pk_opkg_progress_cb, backend);
-+ err = opkg_upgrade_all (pk_opkg_progress_cb, backend);
-
- if (err)
- opkg_unknown_error (backend, err, "Upgrading system");
-@@ -564,29 +563,28 @@
- static gboolean
- backend_update_package_thread (PkBackend *backend)
- {
-- PkPackageId *pi;
-+ gchar **parts;
- gint err = 0;
- const gchar *package_id;
-
- /* FIXME: support only_trusted */
- package_id = pk_backend_get_string (backend, "pkgid");
-- pi = pk_package_id_new_from_string (package_id);
-+ parts = pk_package_id_split (package_id);
-
-- if (!pi->name || !pi->version)
-+ if (!parts)
- {
- pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
- "Package not found");
-- pk_package_id_free (pi);
- pk_backend_finished (backend);
- return FALSE;
- }
-
-- err = opkg_upgrade_package (opkg, pi->name, pk_opkg_progress_cb, backend);
-+ err = opkg_upgrade_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend);
- if (err)
- handle_install_error (backend, err);
-
-
-- pk_package_id_free (pi);
-+ g_strfreev (parts);
- pk_backend_finished (backend);
- return (err != 0);
- }
-@@ -610,13 +608,13 @@
- */
-
- static void
--pk_opkg_list_upgradable_cb (opkg_t *_opkg, opkg_package_t *pkg, void *data)
-+pk_opkg_list_upgradable_cb (pkg_t *pkg, void *data)
- {
-- PkBackend *backend = PK_BACKEND (data);
-+ PkBackend *backend = (PkBackend*) data;
- gchar *uid;
- gint status;
-
-- if (pkg->installed)
-+ if (pkg->state_status == SS_INSTALLED)
- status = PK_INFO_ENUM_INSTALLED;
- else
- status = PK_INFO_ENUM_AVAILABLE;
-@@ -631,7 +629,7 @@
- static gboolean
- backend_get_updates_thread (PkBackend *backend)
- {
-- opkg_list_upgradable_packages (opkg, pk_opkg_list_upgradable_cb, backend);
-+ opkg_list_upgradable_packages (pk_opkg_list_upgradable_cb, backend);
- pk_backend_finished (backend);
- return TRUE;
- }
-@@ -668,16 +666,18 @@
- static gboolean
- backend_get_details_thread (PkBackend *backend)
- {
-- PkPackageId *pi;
- gchar **package_ids;
-+ gchar **parts;
- int group_index;
- PkGroupEnum group = 0;
-- opkg_package_t *pkg;
-+ pkg_t *pkg;
- gchar *newid;
-
- package_ids = pk_backend_get_strv(backend, "package_ids");
-- pi = pk_package_id_new_from_string (package_ids[0]);
-- if (pi == NULL)
-+ parts = pk_package_id_split (package_ids[0]);
-+
-+
-+ if (!parts)
- {
- pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_ID_INVALID, "invalid package id");
- pk_backend_finished (backend);
-@@ -685,8 +685,8 @@
- }
-
-
-- pkg = opkg_find_package (opkg, pi->name, pi->version, pi->arch, pi->data);
-- pk_package_id_free (pi);
-+ pkg = opkg_find_package (parts[PK_PACKAGE_ID_NAME], parts[PK_PACKAGE_ID_VERSION], parts[PK_PACKAGE_ID_ARCH], parts[PK_PACKAGE_ID_DATA]);
-+ g_strfreev (parts);
-
- if (!pkg)
- {
-@@ -695,7 +695,7 @@
- return FALSE;
- }
-
-- newid = g_strdup_printf ("%s;%s;%s;%s", pkg->name, pkg->version, pkg->architecture, pkg->repository);
-+ newid = g_strdup_printf ("%s;%s;%s;%s", pkg->name, pkg->version, pkg->architecture, pkg->src->name);
-
- if (pkg->tags) {
- for (group_index = 0; group < PK_GROUP_ENUM_LAST; group_index++) {
-@@ -706,9 +706,8 @@
- }
- }
-
-- pk_backend_details (backend, newid, NULL, group, pkg->description, pkg->url, pkg->size);
-+ pk_backend_details (backend, newid, NULL, group, pkg->description, NULL, pkg->size);
- g_free (newid);
-- opkg_package_free(pkg);
- pk_backend_finished (backend);
- return TRUE;
- }
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb
deleted file mode 100644
index 1b60c470d..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb
+++ /dev/null
@@ -1,65 +0,0 @@
-SUMMARY = "PackageKit package management abstraction"
-SECTION = "libs"
-LICENSE = "GPL-2.0+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS = "gtk+ python polkit dbus dbus-glib glib-2.0 sqlite3 opkg intltool intltool-native"
-RDEPENDS_${PN} = "opkg bash"
-
-inherit gnome pythonnative
-
-SRC_URI = "http://www.freedesktop.org/software/PackageKit/releases/PackageKit-${PV}.tar.bz2;name=archive \
- file://configurefix.patch \
- file://opkgfixes.patch \
- file://0001-Don-t-call-deprecated-glib-functions-and-use-the-new.patch \
- "
-
-SRC_URI[archive.md5sum] = "33a3127e9ed41e26671786aee9fe56ff"
-SRC_URI[archive.sha256sum] = "8dae41493dfb011442746d252b3435bf3204e17bf7c47e396f90fbd215260e14"
-
-S = "${WORKDIR}/PackageKit-${PV}"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[service-packs] = "--enable-service-packs,--disable-service-packs,libarchive"
-
-EXTRA_OECONF = "--with-security-framework=dummy \
- --with-default-backend=opkg \
- --enable-opkg \
- --disable-tests \
- --disable-ruck \
- --disable-qt \
- --disable-gstreamer-plugin \
- --disable-local \
- --disable-networkmanager \
- --disable-device-rebind \
- ac_cv_path_XMLTO=no \
-"
-
-#do_configure_prepend() {
-# mkdir -p m4
-# echo "EXTRA_DIST=" > gtk-doc.make
-#}
-
-do_configure_append() {
- for i in $(find . -name Makefile) ; do
- sed -i -e s:${STAGING_DIR_NATIVE}::g \
- -e s:/usr/bin/intltool-merge:${STAGING_BINDIR_NATIVE}/intltool-merge:g \
- $i
- done
-}
-
-PACKAGES =+ "${PN}-website"
-FILES_${PN}-website = "${datadir}/PackageKit/website"
-
-PACKAGES =+ "${PN}-python"
-FILES_${PN}-python = "${libdir}/python*"
-
-PACKAGES =+ "${PN}-gtkmodule"
-FILES_${PN}-gtkmodule = "${libdir}/gtk-2.0/*/*.so"
-
-FILES_${PN} += "${libdir}/packagekit-backend/*.so ${libdir}/pm-utils ${datadir}/dbus-1/system-services/ ${datadir}/PolicyKit ${datadir}/PackageKit"
-FILES_${PN}-dbg += "${libdir}/packagekit-backend/.debug/*.so ${libdir}/gtk-2.0/*/.debug"
-FILES_${PN}-dev += "${libdir}/packagekit-backend/*.la ${libdir}/gtk-2.0/*/*.la"
-FILES_${PN}-staticdev += "${libdir}/packagekit-backend/*.a ${libdir}/gtk-2.0/*/*.a"
-
-# PackageKit-0.5.6/backends/opkg/pk-backend-opkg.c:31:26: fatal error: libopkg/opkg.h: No such file or directory
-PNBLACKLIST[packagekit] ?= "BROKEN: depends on old deprecated libopkg which is currently disabled and will be removed soon - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_0.94.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_0.94.bb
index 66054a257..3b58939b1 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_0.94.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_0.94.bb
@@ -3,6 +3,7 @@ IPC::Run allows you run and interact with child processes \
using files, pipes, and pseudo-ttys. Both system()-style and scripted \
usages are supported and may be mixed. Likewise, functional and OO API \
styles are both supported and may be mixed."
+HOMEPAGE = "https://metacpan.org/release/IPC-Run"
SECTION = "libs"
LICENSE = "Artistic-1.0 | GPL-1.0+"
LIC_FILES_CHKSUM = "file://LICENSE;md5=0ebd37caf53781e8b7223e6b99b63f4e"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.26/0001-Add-lpthread-to-link.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.31/0001-Add-lpthread-to-link.patch
index f70e550ff..f70e550ff 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.26/0001-Add-lpthread-to-link.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.31/0001-Add-lpthread-to-link.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.26/change-AC_TRY_RUN-to-AC_TRY_LINK.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.31/change-AC_TRY_RUN-to-AC_TRY_LINK.patch
index 39c334f39..39c334f39 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.26/change-AC_TRY_RUN-to-AC_TRY_LINK.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.31/change-AC_TRY_RUN-to-AC_TRY_LINK.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.7/0001-Specify-tag-with-libtool.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.9/0001-Specify-tag-with-libtool.patch
index 18b4937db..18b4937db 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.7/0001-Specify-tag-with-libtool.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.9/0001-Specify-tag-with-libtool.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.9/CVE-2017-16642.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.9/CVE-2017-16642.patch
new file mode 100644
index 000000000..41d2a0f61
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.9/CVE-2017-16642.patch
@@ -0,0 +1,5241 @@
+From f2f90767311355cafabff604a7a857ca60ee3f01 Mon Sep 17 00:00:00 2001
+From: Li Zhou <li.zhou@windriver.com>
+Date: Wed, 22 Nov 2017 21:14:59 -0800
+Subject: [PATCH] Fixed bug #75055 Out-Of-Bounds Read in timelib_meridian()
+
+Upstream-Status: Backport
+CVE: CVE-2017-16642
+Signed-off-by: Li Zhou <li.zhou@windriver.com>
+---
+ ext/date/lib/parse_date.c | 1544 +++++++++++++++++++++----------------
+ ext/date/lib/parse_date.re | 4 +-
+ ext/date/tests/bug53437_var3.phpt | 2 +-
+ ext/wddx/tests/bug75055.phpt | 20 +
+ ext/wddx/tests/bug75055.wddx | 13 +
+ 5 files changed, 911 insertions(+), 672 deletions(-)
+ create mode 100644 ext/wddx/tests/bug75055.phpt
+ create mode 100644 ext/wddx/tests/bug75055.wddx
+
+diff --git a/ext/date/lib/parse_date.c b/ext/date/lib/parse_date.c
+index f929619..6b11418 100644
+--- a/ext/date/lib/parse_date.c
++++ b/ext/date/lib/parse_date.c
+@@ -1,4 +1,5 @@
+-/* Generated by re2c 0.15.3 on Tue Jul 4 21:15:17 2017 */
++/* Generated by re2c 0.15.3 on Wed Nov 22 21:14:47 2017 */
++#line 1 "ext/date/lib/parse_date.re"
+ /*
+ * The MIT License (MIT)
+ *
+@@ -837,9 +838,11 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper)
+ std:
+ s->tok = cursor;
+ s->len = 0;
++#line 965 "ext/date/lib/parse_date.re"
+
+
+
++#line 846 "ext/date/lib/parse_date.c"
+ {
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+@@ -962,18 +965,19 @@ yy2:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'D') goto yy165;
+- goto yy1521;
++ goto yy1523;
+ }
+ } else {
+ if (yych <= 'd') {
+ if (yych <= 'Z') goto yy165;
+ if (yych >= 'a') goto yy170;
+ } else {
+- if (yych <= 'e') goto yy1530;
++ if (yych <= 'e') goto yy1532;
+ if (yych <= 'z') goto yy170;
+ }
+ }
+ yy3:
++#line 1673 "ext/date/lib/parse_date.re"
+ {
+ int tz_not_found;
+ DEBUG_OUTPUT("tzcorrection | tz");
+@@ -986,6 +990,7 @@ yy3:
+ TIMELIB_DEINIT;
+ return TIMELIB_TIMEZONE;
+ }
++#line 994 "ext/date/lib/parse_date.c"
+ yy4:
+ yych = *++YYCURSOR;
+ if (yych <= 'E') {
+@@ -995,7 +1000,7 @@ yy4:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'D') goto yy165;
+- goto yy1521;
++ goto yy1523;
+ }
+ } else {
+ if (yych <= 'd') {
+@@ -1003,7 +1008,7 @@ yy4:
+ if (yych <= '`') goto yy3;
+ goto yy165;
+ } else {
+- if (yych <= 'e') goto yy1521;
++ if (yych <= 'e') goto yy1523;
+ if (yych <= 'z') goto yy165;
+ goto yy3;
+ }
+@@ -1017,12 +1022,12 @@ yy5:
+ goto yy165;
+ } else {
+ if (yych <= 'H') {
+- if (yych <= 'E') goto yy1492;
++ if (yych <= 'E') goto yy1494;
+ goto yy165;
+ } else {
+- if (yych <= 'I') goto yy1493;
++ if (yych <= 'I') goto yy1495;
+ if (yych <= 'N') goto yy165;
+- goto yy1491;
++ goto yy1493;
+ }
+ }
+ } else {
+@@ -1031,15 +1036,15 @@ yy5:
+ if (yych <= 'Z') goto yy165;
+ goto yy3;
+ } else {
+- if (yych == 'e') goto yy1508;
++ if (yych == 'e') goto yy1510;
+ goto yy170;
+ }
+ } else {
+ if (yych <= 'n') {
+- if (yych <= 'i') goto yy1509;
++ if (yych <= 'i') goto yy1511;
+ goto yy170;
+ } else {
+- if (yych <= 'o') goto yy1507;
++ if (yych <= 'o') goto yy1509;
+ if (yych <= 'z') goto yy170;
+ goto yy3;
+ }
+@@ -1054,12 +1059,12 @@ yy6:
+ goto yy165;
+ } else {
+ if (yych <= 'H') {
+- if (yych <= 'E') goto yy1492;
++ if (yych <= 'E') goto yy1494;
+ goto yy165;
+ } else {
+- if (yych <= 'I') goto yy1493;
++ if (yych <= 'I') goto yy1495;
+ if (yych <= 'N') goto yy165;
+- goto yy1491;
++ goto yy1493;
+ }
+ }
+ } else {
+@@ -1068,15 +1073,15 @@ yy6:
+ if (yych <= 'Z') goto yy165;
+ goto yy3;
+ } else {
+- if (yych == 'e') goto yy1492;
++ if (yych == 'e') goto yy1494;
+ goto yy165;
+ }
+ } else {
+ if (yych <= 'n') {
+- if (yych <= 'i') goto yy1493;
++ if (yych <= 'i') goto yy1495;
+ goto yy165;
+ } else {
+- if (yych <= 'o') goto yy1491;
++ if (yych <= 'o') goto yy1493;
+ if (yych <= 'z') goto yy165;
+ goto yy3;
+ }
+@@ -1088,24 +1093,24 @@ yy7:
+ if (yych <= 'A') {
+ if (yych == ')') goto yy164;
+ if (yych <= '@') goto yy3;
+- goto yy1461;
++ goto yy1463;
+ } else {
+- if (yych == 'I') goto yy1462;
++ if (yych == 'I') goto yy1464;
+ if (yych <= 'N') goto yy165;
+- goto yy1463;
++ goto yy1465;
+ }
+ } else {
+ if (yych <= 'h') {
+ if (yych <= 'Z') goto yy165;
+ if (yych <= '`') goto yy3;
+- if (yych <= 'a') goto yy1476;
++ if (yych <= 'a') goto yy1478;
+ goto yy170;
+ } else {
+ if (yych <= 'n') {
+- if (yych <= 'i') goto yy1477;
++ if (yych <= 'i') goto yy1479;
+ goto yy170;
+ } else {
+- if (yych <= 'o') goto yy1478;
++ if (yych <= 'o') goto yy1480;
+ if (yych <= 'z') goto yy170;
+ goto yy3;
+ }
+@@ -1117,24 +1122,24 @@ yy8:
+ if (yych <= 'A') {
+ if (yych == ')') goto yy164;
+ if (yych <= '@') goto yy3;
+- goto yy1461;
++ goto yy1463;
+ } else {
+- if (yych == 'I') goto yy1462;
++ if (yych == 'I') goto yy1464;
+ if (yych <= 'N') goto yy165;
+- goto yy1463;
++ goto yy1465;
+ }
+ } else {
+ if (yych <= 'h') {
+ if (yych <= 'Z') goto yy165;
+ if (yych <= '`') goto yy3;
+- if (yych <= 'a') goto yy1461;
++ if (yych <= 'a') goto yy1463;
+ goto yy165;
+ } else {
+ if (yych <= 'n') {
+- if (yych <= 'i') goto yy1462;
++ if (yych <= 'i') goto yy1464;
+ goto yy165;
+ } else {
+- if (yych <= 'o') goto yy1463;
++ if (yych <= 'o') goto yy1465;
+ if (yych <= 'z') goto yy165;
+ goto yy3;
+ }
+@@ -1146,15 +1151,15 @@ yy9:
+ switch (yych) {
+ case ')': goto yy164;
+ case '0':
+- case '1': goto yy1391;
+- case '2': goto yy1392;
++ case '1': goto yy1393;
++ case '2': goto yy1394;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+- case '9': goto yy1393;
++ case '9': goto yy1395;
+ case 'A':
+ case 'B':
+ case 'C':
+@@ -1176,11 +1181,11 @@ yy9:
+ case 'X':
+ case 'Y':
+ case 'Z': goto yy165;
+- case 'E': goto yy1386;
+- case 'H': goto yy1387;
+- case 'O': goto yy1388;
+- case 'U': goto yy1389;
+- case 'W': goto yy1390;
++ case 'E': goto yy1388;
++ case 'H': goto yy1389;
++ case 'O': goto yy1390;
++ case 'U': goto yy1391;
++ case 'W': goto yy1392;
+ case 'a':
+ case 'b':
+ case 'c':
+@@ -1202,11 +1207,11 @@ yy9:
+ case 'x':
+ case 'y':
+ case 'z': goto yy170;
+- case 'e': goto yy1429;
+- case 'h': goto yy1430;
+- case 'o': goto yy1431;
+- case 'u': goto yy1432;
+- case 'w': goto yy1433;
++ case 'e': goto yy1431;
++ case 'h': goto yy1432;
++ case 'o': goto yy1433;
++ case 'u': goto yy1434;
++ case 'w': goto yy1435;
+ default: goto yy3;
+ }
+ yy10:
+@@ -1215,15 +1220,15 @@ yy10:
+ switch (yych) {
+ case ')': goto yy164;
+ case '0':
+- case '1': goto yy1391;
+- case '2': goto yy1392;
++ case '1': goto yy1393;
++ case '2': goto yy1394;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+- case '9': goto yy1393;
++ case '9': goto yy1395;
+ case 'A':
+ case 'B':
+ case 'C':
+@@ -1267,28 +1272,30 @@ yy10:
+ case 'y':
+ case 'z': goto yy165;
+ case 'E':
+- case 'e': goto yy1386;
++ case 'e': goto yy1388;
+ case 'H':
+- case 'h': goto yy1387;
++ case 'h': goto yy1389;
+ case 'O':
+- case 'o': goto yy1388;
++ case 'o': goto yy1390;
+ case 'U':
+- case 'u': goto yy1389;
++ case 'u': goto yy1391;
+ case 'W':
+- case 'w': goto yy1390;
++ case 'w': goto yy1392;
+ default: goto yy3;
+ }
+ yy11:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+- if (yych == '-') goto yy1374;
++ if (yych == '-') goto yy1376;
+ if (yych <= '/') goto yy12;
+- if (yych <= '9') goto yy1375;
++ if (yych <= '9') goto yy1377;
+ yy12:
++#line 1768 "ext/date/lib/parse_date.re"
+ {
+ add_error(s, "Unexpected character");
+ goto std;
+ }
++#line 1299 "ext/date/lib/parse_date.c"
+ yy13:
+ yych = *++YYCURSOR;
+ if (yych <= 'R') {
+@@ -1299,16 +1306,16 @@ yy13:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'D') goto yy165;
+- goto yy1310;
++ goto yy1311;
+ }
+ } else {
+ if (yych <= 'N') {
+- if (yych == 'I') goto yy1311;
++ if (yych == 'I') goto yy1312;
+ goto yy165;
+ } else {
+- if (yych <= 'O') goto yy1312;
++ if (yych <= 'O') goto yy1313;
+ if (yych <= 'Q') goto yy165;
+- goto yy1313;
++ goto yy1314;
+ }
+ }
+ } else {
+@@ -1318,16 +1325,16 @@ yy13:
+ if (yych <= '`') goto yy3;
+ goto yy170;
+ } else {
+- if (yych <= 'e') goto yy1351;
++ if (yych <= 'e') goto yy1353;
+ if (yych <= 'h') goto yy170;
+- goto yy1352;
++ goto yy1354;
+ }
+ } else {
+ if (yych <= 'q') {
+- if (yych == 'o') goto yy1353;
++ if (yych == 'o') goto yy1355;
+ goto yy170;
+ } else {
+- if (yych <= 'r') goto yy1354;
++ if (yych <= 'r') goto yy1356;
+ if (yych <= 'z') goto yy170;
+ goto yy3;
+ }
+@@ -1343,16 +1350,16 @@ yy14:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'D') goto yy165;
+- goto yy1310;
++ goto yy1311;
+ }
+ } else {
+ if (yych <= 'N') {
+- if (yych == 'I') goto yy1311;
++ if (yych == 'I') goto yy1312;
+ goto yy165;
+ } else {
+- if (yych <= 'O') goto yy1312;
++ if (yych <= 'O') goto yy1313;
+ if (yych <= 'Q') goto yy165;
+- goto yy1313;
++ goto yy1314;
+ }
+ }
+ } else {
+@@ -1362,16 +1369,16 @@ yy14:
+ if (yych <= '`') goto yy3;
+ goto yy165;
+ } else {
+- if (yych <= 'e') goto yy1310;
++ if (yych <= 'e') goto yy1311;
+ if (yych <= 'h') goto yy165;
+- goto yy1311;
++ goto yy1312;
+ }
+ } else {
+ if (yych <= 'q') {
+- if (yych == 'o') goto yy1312;
++ if (yych == 'o') goto yy1313;
+ goto yy165;
+ } else {
+- if (yych <= 'r') goto yy1313;
++ if (yych <= 'r') goto yy1314;
+ if (yych <= 'z') goto yy165;
+ goto yy3;
+ }
+@@ -1382,13 +1389,13 @@ yy15:
+ if (yych <= 'A') {
+ if (yych == ')') goto yy164;
+ if (yych <= '@') goto yy3;
+- goto yy1296;
++ goto yy1297;
+ } else {
+ if (yych <= '`') {
+ if (yych <= 'Z') goto yy165;
+ goto yy3;
+ } else {
+- if (yych <= 'a') goto yy1307;
++ if (yych <= 'a') goto yy1308;
+ if (yych <= 'z') goto yy170;
+ goto yy3;
+ }
+@@ -1398,13 +1405,13 @@ yy16:
+ if (yych <= 'A') {
+ if (yych == ')') goto yy164;
+ if (yych <= '@') goto yy3;
+- goto yy1296;
++ goto yy1297;
+ } else {
+ if (yych <= '`') {
+ if (yych <= 'Z') goto yy165;
+ goto yy3;
+ } else {
+- if (yych <= 'a') goto yy1296;
++ if (yych <= 'a') goto yy1297;
+ if (yych <= 'z') goto yy165;
+ goto yy3;
+ }
+@@ -1420,7 +1427,7 @@ yy17:
+ if (yych <= 'Z') goto yy165;
+ goto yy3;
+ } else {
+- if (yych <= 'a') goto yy1293;
++ if (yych <= 'a') goto yy1294;
+ if (yych <= 'z') goto yy170;
+ goto yy3;
+ }
+@@ -2495,18 +2502,22 @@ yy48:
+ if (yych <= '/') goto yy49;
+ if (yych <= '9') goto yy54;
+ yy49:
++#line 1757 "ext/date/lib/parse_date.re"
+ {
+ goto std;
+ }
++#line 2510 "ext/date/lib/parse_date.c"
+ yy50:
+ yych = *++YYCURSOR;
+ goto yy49;
+ yy51:
+ ++YYCURSOR;
++#line 1762 "ext/date/lib/parse_date.re"
+ {
+ s->pos = cursor; s->line++;
+ goto std;
+ }
++#line 2521 "ext/date/lib/parse_date.c"
+ yy53:
+ yych = *++YYCURSOR;
+ goto yy12;
+@@ -2693,23 +2704,23 @@ yy56:
+ }
+ } else {
+ if (yyaccept == 28) {
+- goto yy1377;
++ goto yy1379;
+ } else {
+- goto yy1415;
++ goto yy1417;
+ }
+ }
+ } else {
+ if (yyaccept <= 31) {
+ if (yyaccept == 30) {
+- goto yy1418;
++ goto yy1420;
+ } else {
+- goto yy1498;
++ goto yy1500;
+ }
+ } else {
+ if (yyaccept == 32) {
+- goto yy1506;
++ goto yy1508;
+ } else {
+- goto yy1529;
++ goto yy1531;
+ }
+ }
+ }
+@@ -2920,6 +2931,7 @@ yy73:
+ if (yych == 'S') goto yy75;
+ if (yych == 's') goto yy75;
+ yy74:
++#line 1741 "ext/date/lib/parse_date.re"
+ {
+ timelib_ull i;
+ DEBUG_OUTPUT("relative");
+@@ -2934,6 +2946,7 @@ yy74:
+ TIMELIB_DEINIT;
+ return TIMELIB_RELATIVE;
+ }
++#line 2950 "ext/date/lib/parse_date.c"
+ yy75:
+ yych = *++YYCURSOR;
+ if (yych == 'D') goto yy76;
+@@ -3719,6 +3732,7 @@ yy190:
+ }
+ }
+ yy191:
++#line 1604 "ext/date/lib/parse_date.re"
+ {
+ const timelib_relunit* relunit;
+ DEBUG_OUTPUT("daytext");
+@@ -3735,6 +3749,7 @@ yy191:
+ TIMELIB_DEINIT;
+ return TIMELIB_WEEKDAY;
+ }
++#line 3753 "ext/date/lib/parse_date.c"
+ yy192:
+ yych = *++YYCURSOR;
+ if (yych <= 'K') {
+@@ -4227,6 +4242,7 @@ yy217:
+ }
+ }
+ yy218:
++#line 1663 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("monthtext");
+ TIMELIB_INIT;
+@@ -4235,6 +4251,7 @@ yy218:
+ TIMELIB_DEINIT;
+ return TIMELIB_DATE_TEXT;
+ }
++#line 4255 "ext/date/lib/parse_date.c"
+ yy219:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 23) YYFILL(23);
+@@ -4469,6 +4486,7 @@ yy231:
+ if (yych == 't') goto yy319;
+ goto yy237;
+ yy232:
++#line 1409 "ext/date/lib/parse_date.re"
+ {
+ int length = 0;
+ DEBUG_OUTPUT("datetextual | datenoyear");
+@@ -4481,6 +4499,7 @@ yy232:
+ TIMELIB_DEINIT;
+ return TIMELIB_DATE_TEXT;
+ }
++#line 4503 "ext/date/lib/parse_date.c"
+ yy233:
+ yyaccept = 6;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -4593,6 +4612,7 @@ yy245:
+ if (yych <= ':') goto yy248;
+ }
+ yy246:
++#line 1711 "ext/date/lib/parse_date.re"
+ {
+ int tz_not_found;
+ DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz");
+@@ -4621,6 +4641,7 @@ yy246:
+ TIMELIB_DEINIT;
+ return TIMELIB_SHORTDATE_WITH_TIME;
+ }
++#line 4645 "ext/date/lib/parse_date.c"
+ yy247:
+ yyaccept = 7;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -4893,6 +4914,7 @@ yy269:
+ }
+ yy270:
+ ++YYCURSOR;
++#line 1687 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12");
+ TIMELIB_INIT;
+@@ -4915,6 +4937,7 @@ yy270:
+ TIMELIB_DEINIT;
+ return TIMELIB_SHORTDATE_WITH_TIME;
+ }
++#line 4941 "ext/date/lib/parse_date.c"
+ yy272:
+ yych = *++YYCURSOR;
+ if (yych <= 0x1F) {
+@@ -5470,6 +5493,7 @@ yy320:
+ if (yych <= '/') goto yy56;
+ if (yych >= ':') goto yy56;
+ ++YYCURSOR;
++#line 1381 "ext/date/lib/parse_date.re"
+ {
+ int length = 0;
+ DEBUG_OUTPUT("datenoday");
+@@ -5482,6 +5506,7 @@ yy320:
+ TIMELIB_DEINIT;
+ return TIMELIB_DATE_NO_DAY;
+ }
++#line 5510 "ext/date/lib/parse_date.c"
+ yy323:
+ yych = *++YYCURSOR;
+ if (yych <= '9') {
+@@ -5704,6 +5729,7 @@ yy327:
+ if ((yych = *YYCURSOR) <= '/') goto yy330;
+ if (yych <= '9') goto yy331;
+ yy330:
++#line 1525 "ext/date/lib/parse_date.re"
+ {
+ int length = 0;
+ DEBUG_OUTPUT("pgtextshort");
+@@ -5716,6 +5742,7 @@ yy330:
+ TIMELIB_DEINIT;
+ return TIMELIB_PG_TEXT;
+ }
++#line 5746 "ext/date/lib/parse_date.c"
+ yy331:
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy330;
+@@ -6270,6 +6297,7 @@ yy356:
+ if (yych <= 'z') goto yy167;
+ }
+ yy357:
++#line 1583 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("ago");
+ TIMELIB_INIT;
+@@ -6289,6 +6317,7 @@ yy357:
+ TIMELIB_DEINIT;
+ return TIMELIB_AGO;
+ }
++#line 6321 "ext/date/lib/parse_date.c"
+ yy358:
+ yyaccept = 5;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -8009,6 +8038,7 @@ yy417:
+ yy418:
+ ++YYCURSOR;
+ yy419:
++#line 1286 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash");
+ TIMELIB_INIT;
+@@ -8019,6 +8049,7 @@ yy419:
+ TIMELIB_DEINIT;
+ return TIMELIB_ISO_DATE;
+ }
++#line 8053 "ext/date/lib/parse_date.c"
+ yy420:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -8641,6 +8672,7 @@ yy439:
+ }
+ }
+ yy440:
++#line 1423 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("datenoyearrev");
+ TIMELIB_INIT;
+@@ -8651,6 +8683,7 @@ yy440:
+ TIMELIB_DEINIT;
+ return TIMELIB_DATE_TEXT;
+ }
++#line 8687 "ext/date/lib/parse_date.c"
+ yy441:
+ yyaccept = 9;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -8778,6 +8811,7 @@ yy450:
+ }
+ yy452:
+ ++YYCURSOR;
++#line 1141 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12");
+ TIMELIB_INIT;
+@@ -8793,6 +8827,7 @@ yy452:
+ TIMELIB_DEINIT;
+ return TIMELIB_TIME12;
+ }
++#line 8831 "ext/date/lib/parse_date.c"
+ yy454:
+ yyaccept = 10;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -8803,6 +8838,7 @@ yy454:
+ if (yych <= ':') goto yy457;
+ }
+ yy455:
++#line 1178 "ext/date/lib/parse_date.re"
+ {
+ int tz_not_found;
+ DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long");
+@@ -8827,6 +8863,7 @@ yy455:
+ TIMELIB_DEINIT;
+ return TIMELIB_TIME24_WITH_ZONE;
+ }
++#line 8867 "ext/date/lib/parse_date.c"
+ yy456:
+ yyaccept = 10;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -9103,6 +9140,7 @@ yy485:
+ }
+ yy487:
+ ++YYCURSOR;
++#line 1158 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("mssqltime");
+ TIMELIB_INIT;
+@@ -9121,6 +9159,7 @@ yy487:
+ TIMELIB_DEINIT;
+ return TIMELIB_TIME24_WITH_ZONE;
+ }
++#line 9163 "ext/date/lib/parse_date.c"
+ yy489:
+ yyaccept = 10;
+ YYMARKER = ++YYCURSOR;
+@@ -9215,6 +9254,7 @@ yy498:
+ if ((yych = *YYCURSOR) <= '/') goto yy499;
+ if (yych <= '9') goto yy505;
+ yy499:
++#line 1340 "ext/date/lib/parse_date.re"
+ {
+ int length = 0;
+ DEBUG_OUTPUT("datefull");
+@@ -9228,6 +9268,7 @@ yy499:
+ TIMELIB_DEINIT;
+ return TIMELIB_DATE_FULL;
+ }
++#line 9272 "ext/date/lib/parse_date.c"
+ yy500:
+ yych = *++YYCURSOR;
+ if (yych == 'M') goto yy501;
+@@ -9891,6 +9932,7 @@ yy569:
+ if (yych <= '/') goto yy56;
+ if (yych >= ':') goto yy56;
+ ++YYCURSOR;
++#line 1355 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("pointed date YYYY");
+ TIMELIB_INIT;
+@@ -9901,6 +9943,7 @@ yy569:
+ TIMELIB_DEINIT;
+ return TIMELIB_DATE_FULL_POINTED;
+ }
++#line 9947 "ext/date/lib/parse_date.c"
+ yy572:
+ yyaccept = 10;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -9931,6 +9974,7 @@ yy575:
+ if (yych <= '/') goto yy576;
+ if (yych <= '9') goto yy569;
+ yy576:
++#line 1367 "ext/date/lib/parse_date.re"
+ {
+ int length = 0;
+ DEBUG_OUTPUT("pointed date YY");
+@@ -9943,6 +9987,7 @@ yy576:
+ TIMELIB_DEINIT;
+ return TIMELIB_DATE_FULL_POINTED;
+ }
++#line 9991 "ext/date/lib/parse_date.c"
+ yy577:
+ yyaccept = 10;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -10538,6 +10583,7 @@ yy620:
+ }
+ }
+ yy621:
++#line 1326 "ext/date/lib/parse_date.re"
+ {
+ int length = 0;
+ DEBUG_OUTPUT("gnudateshort");
+@@ -10550,6 +10596,7 @@ yy621:
+ TIMELIB_DEINIT;
+ return TIMELIB_ISO_DATE;
+ }
++#line 10600 "ext/date/lib/parse_date.c"
+ yy622:
+ yyaccept = 12;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -10645,6 +10692,7 @@ yy630:
+ }
+ }
+ yy631:
++#line 1270 "ext/date/lib/parse_date.re"
+ {
+ int length = 0;
+ DEBUG_OUTPUT("americanshort | american");
+@@ -10659,6 +10707,7 @@ yy631:
+ TIMELIB_DEINIT;
+ return TIMELIB_AMERICAN;
+ }
++#line 10711 "ext/date/lib/parse_date.c"
+ yy632:
+ yyaccept = 13;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -10857,6 +10906,7 @@ yy664:
+ if (yych <= '9') goto yy667;
+ if (yych <= ':') goto yy668;
+ yy665:
++#line 1553 "ext/date/lib/parse_date.re"
+ {
+ int tz_not_found;
+ DEBUG_OUTPUT("clf");
+@@ -10876,6 +10926,7 @@ yy665:
+ TIMELIB_DEINIT;
+ return TIMELIB_CLF;
+ }
++#line 10930 "ext/date/lib/parse_date.c"
+ yy666:
+ yych = *++YYCURSOR;
+ if (yych <= '5') {
+@@ -11362,6 +11413,7 @@ yy727:
+ if (yych <= 't') goto yy627;
+ }
+ yy728:
++#line 1298 "ext/date/lib/parse_date.re"
+ {
+ int length = 0;
+ DEBUG_OUTPUT("iso8601date2");
+@@ -11374,6 +11426,7 @@ yy728:
+ TIMELIB_DEINIT;
+ return TIMELIB_ISO_DATE;
+ }
++#line 11430 "ext/date/lib/parse_date.c"
+ yy729:
+ yych = *++YYCURSOR;
+ if (yych == 'C') goto yy730;
+@@ -11404,6 +11457,7 @@ yy734:
+ if (yych >= '2') goto yy56;
+ yy735:
+ ++YYCURSOR;
++#line 1539 "ext/date/lib/parse_date.re"
+ {
+ int length = 0;
+ DEBUG_OUTPUT("pgtextreverse");
+@@ -11416,6 +11470,7 @@ yy735:
+ TIMELIB_DEINIT;
+ return TIMELIB_PG_TEXT;
+ }
++#line 11474 "ext/date/lib/parse_date.c"
+ yy737:
+ yych = *++YYCURSOR;
+ if (yych == 'V') goto yy730;
+@@ -11568,6 +11623,7 @@ yy747:
+ }
+ }
+ yy748:
++#line 1574 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("year4");
+ TIMELIB_INIT;
+@@ -11575,6 +11631,7 @@ yy748:
+ TIMELIB_DEINIT;
+ return TIMELIB_CLF;
+ }
++#line 11635 "ext/date/lib/parse_date.c"
+ yy749:
+ yych = *++YYCURSOR;
+ switch (yych) {
+@@ -11769,6 +11826,7 @@ yy757:
+ if (yych <= 'X') goto yy848;
+ }
+ yy758:
++#line 1395 "ext/date/lib/parse_date.re"
+ {
+ int length = 0;
+ DEBUG_OUTPUT("datenodayrev");
+@@ -11781,6 +11839,7 @@ yy758:
+ TIMELIB_DEINIT;
+ return TIMELIB_DATE_NO_DAY;
+ }
++#line 11843 "ext/date/lib/parse_date.c"
+ yy759:
+ yych = *++YYCURSOR;
+ if (yych == 'I') goto yy892;
+@@ -11980,6 +12039,7 @@ yy778:
+ if (yych <= '/') goto yy779;
+ if (yych <= '7') goto yy781;
+ yy779:
++#line 1506 "ext/date/lib/parse_date.re"
+ {
+ timelib_sll w, d;
+ DEBUG_OUTPUT("isoweek");
+@@ -11997,12 +12057,14 @@ yy779:
+ TIMELIB_DEINIT;
+ return TIMELIB_ISO_WEEK;
+ }
++#line 12061 "ext/date/lib/parse_date.c"
+ yy780:
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy56;
+ if (yych >= '8') goto yy56;
+ yy781:
+ ++YYCURSOR;
++#line 1487 "ext/date/lib/parse_date.re"
+ {
+ timelib_sll w, d;
+ DEBUG_OUTPUT("isoweekday");
+@@ -12020,6 +12082,7 @@ yy781:
+ TIMELIB_DEINIT;
+ return TIMELIB_ISO_WEEK;
+ }
++#line 12086 "ext/date/lib/parse_date.c"
+ yy783:
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy60;
+@@ -12085,6 +12148,7 @@ yy785:
+ }
+ }
+ yy786:
++#line 1473 "ext/date/lib/parse_date.re"
+ {
+ int length = 0;
+ DEBUG_OUTPUT("pgydotd");
+@@ -12097,6 +12161,7 @@ yy786:
+ TIMELIB_DEINIT;
+ return TIMELIB_PG_YEARDAY;
+ }
++#line 12165 "ext/date/lib/parse_date.c"
+ yy787:
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy60;
+@@ -12178,6 +12243,7 @@ yy805:
+ yy806:
+ ++YYCURSOR;
+ yy807:
++#line 1447 "ext/date/lib/parse_date.re"
+ {
+ int tz_not_found;
+ DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif");
+@@ -12202,6 +12268,7 @@ yy807:
+ TIMELIB_DEINIT;
+ return TIMELIB_XMLRPC_SOAP;
+ }
++#line 12272 "ext/date/lib/parse_date.c"
+ yy808:
+ yych = *++YYCURSOR;
+ if (yych <= '2') {
+@@ -12490,6 +12557,7 @@ yy812:
+ }
+ }
+ yy813:
++#line 1435 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("datenocolon");
+ TIMELIB_INIT;
+@@ -12500,6 +12568,7 @@ yy813:
+ TIMELIB_DEINIT;
+ return TIMELIB_DATE_NOCOLON;
+ }
++#line 12572 "ext/date/lib/parse_date.c"
+ yy814:
+ yych = *++YYCURSOR;
+ if (yych <= 'H') {
+@@ -13293,6 +13362,7 @@ yy937:
+ if (yych <= '/') goto yy938;
+ if (yych <= '9') goto yy960;
+ yy938:
++#line 1312 "ext/date/lib/parse_date.re"
+ {
+ int length = 0;
+ DEBUG_OUTPUT("gnudateshorter");
+@@ -13305,6 +13375,7 @@ yy938:
+ TIMELIB_DEINIT;
+ return TIMELIB_ISO_DATE;
+ }
++#line 13379 "ext/date/lib/parse_date.c"
+ yy939:
+ yyaccept = 21;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -14303,6 +14374,7 @@ yy1030:
+ }
+ }
+ yy1032:
++#line 1204 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("gnunocolon");
+ TIMELIB_INIT;
+@@ -14324,6 +14396,7 @@ yy1032:
+ TIMELIB_DEINIT;
+ return TIMELIB_GNU_NOCOLON;
+ }
++#line 14400 "ext/date/lib/parse_date.c"
+ yy1033:
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy60;
+@@ -14413,6 +14486,7 @@ yy1039:
+ }
+ }
+ yy1040:
++#line 1250 "ext/date/lib/parse_date.re"
+ {
+ int tz_not_found;
+ DEBUG_OUTPUT("iso8601nocolon");
+@@ -14431,6 +14505,7 @@ yy1040:
+ TIMELIB_DEINIT;
+ return TIMELIB_ISO_NOCOLON;
+ }
++#line 14509 "ext/date/lib/parse_date.c"
+ yy1041:
+ yyaccept = 24;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -15362,6 +15437,7 @@ yy1083:
+ }
+ }
+ yy1084:
++#line 1646 "ext/date/lib/parse_date.re"
+ {
+ timelib_sll i;
+ int behavior = 0;
+@@ -15377,6 +15453,7 @@ yy1084:
+ TIMELIB_DEINIT;
+ return TIMELIB_RELATIVE;
+ }
++#line 15457 "ext/date/lib/parse_date.c"
+ yy1085:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+@@ -15418,6 +15495,7 @@ yy1091:
+ if (yych != 'f') goto yy56;
+ yy1092:
+ ++YYCURSOR;
++#line 1119 "ext/date/lib/parse_date.re"
+ {
+ timelib_sll i;
+ int behavior = 0;
+@@ -15438,6 +15516,7 @@ yy1092:
+ TIMELIB_DEINIT;
+ return TIMELIB_WEEK_DAY_OF_MONTH;
+ }
++#line 15520 "ext/date/lib/parse_date.c"
+ yy1094:
+ yyaccept = 25;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -15530,6 +15609,7 @@ yy1107:
+ }
+ }
+ yy1108:
++#line 1622 "ext/date/lib/parse_date.re"
+ {
+ timelib_sll i;
+ int behavior = 0;
+@@ -15552,6 +15632,7 @@ yy1108:
+ TIMELIB_DEINIT;
+ return TIMELIB_RELATIVE;
+ }
++#line 15636 "ext/date/lib/parse_date.c"
+ yy1109:
+ yych = *++YYCURSOR;
+ goto yy1084;
+@@ -18206,10 +18287,25 @@ yy1281:
+ yy1283:
+ yyaccept = 27;
+ yych = *(YYMARKER = ++YYCURSOR);
+- if (yych <= '/') goto yy1287;
+- if (yych <= '9') goto yy1286;
+- goto yy1287;
++ if (yych <= '@') {
++ if (yych <= 0x1F) {
++ if (yych == '\t') goto yy1287;
++ } else {
++ if (yych <= ' ') goto yy1287;
++ if (yych <= '/') goto yy1284;
++ if (yych <= '9') goto yy1286;
++ }
++ } else {
++ if (yych <= '`') {
++ if (yych <= 'A') goto yy1289;
++ if (yych == 'P') goto yy1289;
++ } else {
++ if (yych <= 'a') goto yy1289;
++ if (yych == 'p') goto yy1289;
++ }
++ }
+ yy1284:
++#line 1096 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("backof | frontof");
+ TIMELIB_INIT;
+@@ -18231,66 +18327,104 @@ yy1284:
+ TIMELIB_DEINIT;
+ return TIMELIB_LF_DAY_OF_MONTH;
+ }
++#line 18331 "ext/date/lib/parse_date.c"
+ yy1285:
+ yyaccept = 27;
+ yych = *(YYMARKER = ++YYCURSOR);
+- if (yych <= '/') goto yy1287;
+- if (yych >= '5') goto yy1287;
++ if (yych <= '@') {
++ if (yych <= 0x1F) {
++ if (yych == '\t') goto yy1287;
++ goto yy1284;
++ } else {
++ if (yych <= ' ') goto yy1287;
++ if (yych <= '/') goto yy1284;
++ if (yych >= '5') goto yy1284;
++ }
++ } else {
++ if (yych <= '`') {
++ if (yych <= 'A') goto yy1289;
++ if (yych == 'P') goto yy1289;
++ goto yy1284;
++ } else {
++ if (yych <= 'a') goto yy1289;
++ if (yych == 'p') goto yy1289;
++ goto yy1284;
++ }
++ }
+ yy1286:
+ yyaccept = 27;
+- YYMARKER = ++YYCURSOR;
++ yych = *(YYMARKER = ++YYCURSOR);
++ if (yych <= 'A') {
++ if (yych <= 0x1F) {
++ if (yych != '\t') goto yy1284;
++ } else {
++ if (yych <= ' ') goto yy1287;
++ if (yych <= '@') goto yy1284;
++ goto yy1289;
++ }
++ } else {
++ if (yych <= '`') {
++ if (yych == 'P') goto yy1289;
++ goto yy1284;
++ } else {
++ if (yych <= 'a') goto yy1289;
++ if (yych == 'p') goto yy1289;
++ goto yy1284;
++ }
++ }
++yy1287:
++ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = *YYCURSOR;
+-yy1287:
+ if (yych <= 'A') {
+ if (yych <= 0x1F) {
+- if (yych == '\t') goto yy1286;
+- goto yy1284;
++ if (yych == '\t') goto yy1287;
++ goto yy56;
+ } else {
+- if (yych <= ' ') goto yy1286;
+- if (yych <= '@') goto yy1284;
++ if (yych <= ' ') goto yy1287;
++ if (yych <= '@') goto yy56;
+ }
+ } else {
+ if (yych <= '`') {
+- if (yych != 'P') goto yy1284;
++ if (yych != 'P') goto yy56;
+ } else {
+- if (yych <= 'a') goto yy1288;
+- if (yych != 'p') goto yy1284;
++ if (yych <= 'a') goto yy1289;
++ if (yych != 'p') goto yy56;
+ }
+ }
+-yy1288:
++yy1289:
+ yych = *++YYCURSOR;
+ if (yych <= 'L') {
+ if (yych != '.') goto yy56;
+ } else {
+- if (yych <= 'M') goto yy1290;
+- if (yych == 'm') goto yy1290;
++ if (yych <= 'M') goto yy1291;
++ if (yych == 'm') goto yy1291;
+ goto yy56;
+ }
+ yych = *++YYCURSOR;
+- if (yych == 'M') goto yy1290;
++ if (yych == 'M') goto yy1291;
+ if (yych != 'm') goto yy56;
+-yy1290:
++yy1291:
+ yych = *++YYCURSOR;
+ if (yych <= 0x1F) {
+- if (yych <= 0x00) goto yy1292;
+- if (yych == '\t') goto yy1292;
++ if (yych <= 0x00) goto yy1293;
++ if (yych == '\t') goto yy1293;
+ goto yy56;
+ } else {
+- if (yych <= ' ') goto yy1292;
++ if (yych <= ' ') goto yy1293;
+ if (yych != '.') goto yy56;
+ }
+ yych = *++YYCURSOR;
+ if (yych <= '\t') {
+- if (yych <= 0x00) goto yy1292;
++ if (yych <= 0x00) goto yy1293;
+ if (yych <= 0x08) goto yy56;
+ } else {
+ if (yych != ' ') goto yy56;
+ }
+-yy1292:
++yy1293:
+ yych = *++YYCURSOR;
+ goto yy1284;
+-yy1293:
++yy1294:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'B') {
+@@ -18314,13 +18448,13 @@ yy1293:
+ if (yych <= '`') goto yy3;
+ goto yy171;
+ } else {
+- if (yych <= 'c') goto yy1294;
++ if (yych <= 'c') goto yy1295;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1294:
++yy1295:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'J') {
+@@ -18344,13 +18478,13 @@ yy1294:
+ if (yych <= '`') goto yy3;
+ goto yy175;
+ } else {
+- if (yych <= 'k') goto yy1295;
++ if (yych <= 'k') goto yy1296;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+ }
+-yy1295:
++yy1296:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '.') {
+@@ -18375,7 +18509,7 @@ yy1295:
+ goto yy3;
+ }
+ }
+-yy1296:
++yy1297:
+ yych = *++YYCURSOR;
+ if (yych <= 'S') {
+ if (yych <= ')') {
+@@ -18391,12 +18525,12 @@ yy1296:
+ if (yych <= '`') goto yy3;
+ goto yy166;
+ } else {
+- if (yych <= 's') goto yy1297;
++ if (yych <= 's') goto yy1298;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1297:
++yy1298:
+ yych = *++YYCURSOR;
+ if (yych <= 'T') {
+ if (yych <= ')') {
+@@ -18412,12 +18546,12 @@ yy1297:
+ if (yych <= '`') goto yy3;
+ goto yy167;
+ } else {
+- if (yych <= 't') goto yy1298;
++ if (yych <= 't') goto yy1299;
+ if (yych <= 'z') goto yy167;
+ goto yy3;
+ }
+ }
+-yy1298:
++yy1299:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '(') {
+@@ -18438,19 +18572,19 @@ yy1298:
+ goto yy3;
+ }
+ }
+-yy1299:
++yy1300:
+ yych = *++YYCURSOR;
+- if (yych == 'D') goto yy1300;
++ if (yych == 'D') goto yy1301;
+ if (yych != 'd') goto yy1070;
+-yy1300:
++yy1301:
+ yych = *++YYCURSOR;
+- if (yych == 'A') goto yy1301;
++ if (yych == 'A') goto yy1302;
+ if (yych != 'a') goto yy56;
+-yy1301:
++yy1302:
+ yych = *++YYCURSOR;
+- if (yych == 'Y') goto yy1302;
++ if (yych == 'Y') goto yy1303;
+ if (yych != 'y') goto yy56;
+-yy1302:
++yy1303:
+ yyaccept = 25;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'R') {
+@@ -18461,14 +18595,15 @@ yy1302:
+ goto yy1084;
+ }
+ yych = *++YYCURSOR;
+- if (yych == 'O') goto yy1304;
++ if (yych == 'O') goto yy1305;
+ if (yych != 'o') goto yy56;
+-yy1304:
++yy1305:
+ yych = *++YYCURSOR;
+- if (yych == 'F') goto yy1305;
++ if (yych == 'F') goto yy1306;
+ if (yych != 'f') goto yy56;
+-yy1305:
++yy1306:
+ ++YYCURSOR;
++#line 1079 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("firstdayof | lastdayof");
+ TIMELIB_INIT;
+@@ -18484,7 +18619,8 @@ yy1305:
+ TIMELIB_DEINIT;
+ return TIMELIB_LF_DAY_OF_MONTH;
+ }
+-yy1307:
++#line 18623 "ext/date/lib/parse_date.c"
++yy1308:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'R') {
+@@ -18499,7 +18635,7 @@ yy1307:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'S') goto yy1297;
++ if (yych <= 'S') goto yy1298;
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -18508,13 +18644,13 @@ yy1307:
+ if (yych <= '`') goto yy3;
+ goto yy171;
+ } else {
+- if (yych <= 's') goto yy1308;
++ if (yych <= 's') goto yy1309;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1308:
++yy1309:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'S') {
+@@ -18529,7 +18665,7 @@ yy1308:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'T') goto yy1298;
++ if (yych <= 'T') goto yy1299;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -18538,20 +18674,20 @@ yy1308:
+ if (yych <= '`') goto yy3;
+ goto yy175;
+ } else {
+- if (yych <= 't') goto yy1309;
++ if (yych <= 't') goto yy1310;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+ }
+-yy1309:
++yy1310:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '-') {
+ if (yych <= ' ') {
+ if (yych == '\t') goto yy1069;
+ if (yych <= 0x1F) goto yy3;
+- goto yy1299;
++ goto yy1300;
+ } else {
+ if (yych == ')') goto yy164;
+ if (yych <= ',') goto yy3;
+@@ -18573,7 +18709,7 @@ yy1309:
+ }
+ }
+ }
+-yy1310:
++yy1311:
+ yych = *++YYCURSOR;
+ if (yych <= 'B') {
+ if (yych <= ')') {
+@@ -18582,7 +18718,7 @@ yy1310:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'A') goto yy166;
+- goto yy1346;
++ goto yy1348;
+ }
+ } else {
+ if (yych <= 'a') {
+@@ -18590,35 +18726,35 @@ yy1310:
+ if (yych <= '`') goto yy3;
+ goto yy166;
+ } else {
+- if (yych <= 'b') goto yy1346;
++ if (yych <= 'b') goto yy1348;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1311:
++yy1312:
+ yych = *++YYCURSOR;
+ if (yych <= 'R') {
+ if (yych <= '@') {
+ if (yych == ')') goto yy164;
+ goto yy3;
+ } else {
+- if (yych == 'F') goto yy1336;
++ if (yych == 'F') goto yy1338;
+ if (yych <= 'Q') goto yy166;
+- goto yy1335;
++ goto yy1337;
+ }
+ } else {
+ if (yych <= 'f') {
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '`') goto yy3;
+ if (yych <= 'e') goto yy166;
+- goto yy1336;
++ goto yy1338;
+ } else {
+- if (yych == 'r') goto yy1335;
++ if (yych == 'r') goto yy1337;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1312:
++yy1313:
+ yych = *++YYCURSOR;
+ if (yych <= 'U') {
+ if (yych <= ')') {
+@@ -18627,7 +18763,7 @@ yy1312:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'T') goto yy166;
+- goto yy1332;
++ goto yy1334;
+ }
+ } else {
+ if (yych <= 't') {
+@@ -18635,19 +18771,19 @@ yy1312:
+ if (yych <= '`') goto yy3;
+ goto yy166;
+ } else {
+- if (yych <= 'u') goto yy1332;
++ if (yych <= 'u') goto yy1334;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1313:
++yy1314:
+ yych = *++YYCURSOR;
+ if (yych <= 'O') {
+ if (yych <= '@') {
+ if (yych == ')') goto yy164;
+ goto yy3;
+ } else {
+- if (yych == 'I') goto yy1315;
++ if (yych == 'I') goto yy1316;
+ if (yych <= 'N') goto yy166;
+ }
+ } else {
+@@ -18655,14 +18791,14 @@ yy1313:
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '`') goto yy3;
+ if (yych <= 'h') goto yy166;
+- goto yy1315;
++ goto yy1316;
+ } else {
+- if (yych == 'o') goto yy1314;
++ if (yych == 'o') goto yy1315;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1314:
++yy1315:
+ yych = *++YYCURSOR;
+ if (yych <= 'N') {
+ if (yych <= ')') {
+@@ -18671,7 +18807,7 @@ yy1314:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'M') goto yy167;
+- goto yy1318;
++ goto yy1319;
+ }
+ } else {
+ if (yych <= 'm') {
+@@ -18679,12 +18815,12 @@ yy1314:
+ if (yych <= '`') goto yy3;
+ goto yy167;
+ } else {
+- if (yych <= 'n') goto yy1318;
++ if (yych <= 'n') goto yy1319;
+ if (yych <= 'z') goto yy167;
+ goto yy3;
+ }
+ }
+-yy1315:
++yy1316:
+ yych = *++YYCURSOR;
+ if (yych <= 'D') {
+ if (yych <= ')') {
+@@ -18700,12 +18836,12 @@ yy1315:
+ if (yych <= '`') goto yy191;
+ goto yy167;
+ } else {
+- if (yych <= 'd') goto yy1316;
++ if (yych <= 'd') goto yy1317;
+ if (yych <= 'z') goto yy167;
+ goto yy191;
+ }
+ }
+-yy1316:
++yy1317:
+ yych = *++YYCURSOR;
+ if (yych <= 'A') {
+ if (yych == ')') goto yy164;
+@@ -18715,12 +18851,12 @@ yy1316:
+ if (yych <= 'Z') goto yy168;
+ goto yy3;
+ } else {
+- if (yych <= 'a') goto yy1317;
++ if (yych <= 'a') goto yy1318;
+ if (yych <= 'z') goto yy168;
+ goto yy3;
+ }
+ }
+-yy1317:
++yy1318:
+ yych = *++YYCURSOR;
+ if (yych <= 'Y') {
+ if (yych <= ')') {
+@@ -18742,7 +18878,7 @@ yy1317:
+ goto yy3;
+ }
+ }
+-yy1318:
++yy1319:
+ yych = *++YYCURSOR;
+ if (yych <= 'T') {
+ if (yych <= ')') {
+@@ -18758,16 +18894,16 @@ yy1318:
+ if (yych <= '`') goto yy3;
+ goto yy168;
+ } else {
+- if (yych <= 't') goto yy1319;
++ if (yych <= 't') goto yy1320;
+ if (yych <= 'z') goto yy168;
+ goto yy3;
+ }
+ }
+-yy1319:
++yy1320:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= ')') {
+- if (yych == ' ') goto yy1320;
++ if (yych == ' ') goto yy1321;
+ if (yych <= '(') goto yy3;
+ goto yy164;
+ } else {
+@@ -18780,88 +18916,143 @@ yy1319:
+ goto yy3;
+ }
+ }
+-yy1320:
++yy1321:
+ yych = *++YYCURSOR;
+- if (yych == 'O') goto yy1321;
++ if (yych == 'O') goto yy1322;
+ if (yych != 'o') goto yy56;
+-yy1321:
++yy1322:
+ yych = *++YYCURSOR;
+- if (yych == 'F') goto yy1322;
++ if (yych == 'F') goto yy1323;
+ if (yych != 'f') goto yy56;
+-yy1322:
++yy1323:
+ yych = *++YYCURSOR;
+ if (yych != ' ') goto yy56;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy56;
+- if (yych <= '1') goto yy1324;
+- if (yych <= '2') goto yy1325;
+- if (yych <= '9') goto yy1326;
++ if (yych <= '1') goto yy1325;
++ if (yych <= '2') goto yy1326;
++ if (yych <= '9') goto yy1327;
+ goto yy56;
+-yy1324:
+- yyaccept = 27;
+- yych = *(YYMARKER = ++YYCURSOR);
+- if (yych <= '/') goto yy1327;
+- if (yych <= '9') goto yy1326;
+- goto yy1327;
+ yy1325:
+ yyaccept = 27;
+ yych = *(YYMARKER = ++YYCURSOR);
+- if (yych <= '/') goto yy1327;
+- if (yych >= '5') goto yy1327;
++ if (yych <= '@') {
++ if (yych <= 0x1F) {
++ if (yych == '\t') goto yy1328;
++ goto yy1284;
++ } else {
++ if (yych <= ' ') goto yy1328;
++ if (yych <= '/') goto yy1284;
++ if (yych <= '9') goto yy1327;
++ goto yy1284;
++ }
++ } else {
++ if (yych <= '`') {
++ if (yych <= 'A') goto yy1330;
++ if (yych == 'P') goto yy1330;
++ goto yy1284;
++ } else {
++ if (yych <= 'a') goto yy1330;
++ if (yych == 'p') goto yy1330;
++ goto yy1284;
++ }
++ }
+ yy1326:
+ yyaccept = 27;
+- YYMARKER = ++YYCURSOR;
+- if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+- yych = *YYCURSOR;
++ yych = *(YYMARKER = ++YYCURSOR);
++ if (yych <= '@') {
++ if (yych <= 0x1F) {
++ if (yych == '\t') goto yy1328;
++ goto yy1284;
++ } else {
++ if (yych <= ' ') goto yy1328;
++ if (yych <= '/') goto yy1284;
++ if (yych >= '5') goto yy1284;
++ }
++ } else {
++ if (yych <= '`') {
++ if (yych <= 'A') goto yy1330;
++ if (yych == 'P') goto yy1330;
++ goto yy1284;
++ } else {
++ if (yych <= 'a') goto yy1330;
++ if (yych == 'p') goto yy1330;
++ goto yy1284;
++ }
++ }
+ yy1327:
++ yyaccept = 27;
++ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'A') {
+ if (yych <= 0x1F) {
+- if (yych == '\t') goto yy1326;
+- goto yy1284;
++ if (yych != '\t') goto yy1284;
+ } else {
+- if (yych <= ' ') goto yy1326;
++ if (yych <= ' ') goto yy1328;
+ if (yych <= '@') goto yy1284;
++ goto yy1330;
+ }
+ } else {
+ if (yych <= '`') {
+- if (yych != 'P') goto yy1284;
++ if (yych == 'P') goto yy1330;
++ goto yy1284;
+ } else {
+- if (yych <= 'a') goto yy1328;
+- if (yych != 'p') goto yy1284;
++ if (yych <= 'a') goto yy1330;
++ if (yych == 'p') goto yy1330;
++ goto yy1284;
+ }
+ }
+ yy1328:
++ ++YYCURSOR;
++ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
++ yych = *YYCURSOR;
++ if (yych <= 'A') {
++ if (yych <= 0x1F) {
++ if (yych == '\t') goto yy1328;
++ goto yy56;
++ } else {
++ if (yych <= ' ') goto yy1328;
++ if (yych <= '@') goto yy56;
++ }
++ } else {
++ if (yych <= '`') {
++ if (yych != 'P') goto yy56;
++ } else {
++ if (yych <= 'a') goto yy1330;
++ if (yych != 'p') goto yy56;
++ }
++ }
++yy1330:
+ yych = *++YYCURSOR;
+ if (yych <= 'L') {
+ if (yych != '.') goto yy56;
+ } else {
+- if (yych <= 'M') goto yy1330;
+- if (yych == 'm') goto yy1330;
++ if (yych <= 'M') goto yy1332;
++ if (yych == 'm') goto yy1332;
+ goto yy56;
+ }
+ yych = *++YYCURSOR;
+- if (yych == 'M') goto yy1330;
++ if (yych == 'M') goto yy1332;
+ if (yych != 'm') goto yy56;
+-yy1330:
++yy1332:
+ yych = *++YYCURSOR;
+ if (yych <= 0x1F) {
+- if (yych <= 0x00) goto yy1292;
+- if (yych == '\t') goto yy1292;
++ if (yych <= 0x00) goto yy1293;
++ if (yych == '\t') goto yy1293;
+ goto yy56;
+ } else {
+- if (yych <= ' ') goto yy1292;
++ if (yych <= ' ') goto yy1293;
+ if (yych != '.') goto yy56;
+ }
+ yych = *++YYCURSOR;
+ if (yych <= '\t') {
+- if (yych <= 0x00) goto yy1292;
++ if (yych <= 0x00) goto yy1293;
+ if (yych <= 0x08) goto yy56;
+- goto yy1292;
++ goto yy1293;
+ } else {
+- if (yych == ' ') goto yy1292;
++ if (yych == ' ') goto yy1293;
+ goto yy56;
+ }
+-yy1332:
++yy1334:
+ yych = *++YYCURSOR;
+ if (yych <= 'R') {
+ if (yych <= ')') {
+@@ -18877,12 +19068,12 @@ yy1332:
+ if (yych <= '`') goto yy3;
+ goto yy167;
+ } else {
+- if (yych <= 'r') goto yy1333;
++ if (yych <= 'r') goto yy1335;
+ if (yych <= 'z') goto yy167;
+ goto yy3;
+ }
+ }
+-yy1333:
++yy1335:
+ yych = *++YYCURSOR;
+ if (yych <= 'T') {
+ if (yych <= ')') {
+@@ -18898,12 +19089,12 @@ yy1333:
+ if (yych <= '`') goto yy3;
+ goto yy168;
+ } else {
+- if (yych <= 't') goto yy1334;
++ if (yych <= 't') goto yy1336;
+ if (yych <= 'z') goto yy168;
+ goto yy3;
+ }
+ }
+-yy1334:
++yy1336:
+ yych = *++YYCURSOR;
+ if (yych <= 'H') {
+ if (yych <= ')') {
+@@ -18925,7 +19116,7 @@ yy1334:
+ goto yy3;
+ }
+ }
+-yy1335:
++yy1337:
+ yych = *++YYCURSOR;
+ if (yych <= 'S') {
+ if (yych <= ')') {
+@@ -18934,7 +19125,7 @@ yy1335:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'R') goto yy167;
+- goto yy1338;
++ goto yy1340;
+ }
+ } else {
+ if (yych <= 'r') {
+@@ -18942,12 +19133,12 @@ yy1335:
+ if (yych <= '`') goto yy3;
+ goto yy167;
+ } else {
+- if (yych <= 's') goto yy1338;
++ if (yych <= 's') goto yy1340;
+ if (yych <= 'z') goto yy167;
+ goto yy3;
+ }
+ }
+-yy1336:
++yy1338:
+ yych = *++YYCURSOR;
+ if (yych <= 'T') {
+ if (yych <= ')') {
+@@ -18963,12 +19154,12 @@ yy1336:
+ if (yych <= '`') goto yy3;
+ goto yy167;
+ } else {
+- if (yych <= 't') goto yy1337;
++ if (yych <= 't') goto yy1339;
+ if (yych <= 'z') goto yy167;
+ goto yy3;
+ }
+ }
+-yy1337:
++yy1339:
+ yych = *++YYCURSOR;
+ if (yych <= 'H') {
+ if (yych <= ')') {
+@@ -18990,7 +19181,7 @@ yy1337:
+ goto yy3;
+ }
+ }
+-yy1338:
++yy1340:
+ yych = *++YYCURSOR;
+ if (yych <= 'T') {
+ if (yych <= ')') {
+@@ -19006,12 +19197,12 @@ yy1338:
+ if (yych <= '`') goto yy3;
+ goto yy168;
+ } else {
+- if (yych <= 't') goto yy1339;
++ if (yych <= 't') goto yy1341;
+ if (yych <= 'z') goto yy168;
+ goto yy3;
+ }
+ }
+-yy1339:
++yy1341:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '(') {
+@@ -19032,19 +19223,19 @@ yy1339:
+ goto yy3;
+ }
+ }
+-yy1340:
++yy1342:
+ yych = *++YYCURSOR;
+- if (yych == 'D') goto yy1341;
++ if (yych == 'D') goto yy1343;
+ if (yych != 'd') goto yy1197;
+-yy1341:
++yy1343:
+ yych = *++YYCURSOR;
+- if (yych == 'A') goto yy1342;
++ if (yych == 'A') goto yy1344;
+ if (yych != 'a') goto yy56;
+-yy1342:
++yy1344:
+ yych = *++YYCURSOR;
+- if (yych == 'Y') goto yy1343;
++ if (yych == 'Y') goto yy1345;
+ if (yych != 'y') goto yy56;
+-yy1343:
++yy1345:
+ yyaccept = 25;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'R') {
+@@ -19055,14 +19246,14 @@ yy1343:
+ goto yy1084;
+ }
+ yych = *++YYCURSOR;
+- if (yych == 'O') goto yy1345;
++ if (yych == 'O') goto yy1347;
+ if (yych != 'o') goto yy56;
+-yy1345:
++yy1347:
+ yych = *++YYCURSOR;
+- if (yych == 'F') goto yy1305;
+- if (yych == 'f') goto yy1305;
++ if (yych == 'F') goto yy1306;
++ if (yych == 'f') goto yy1306;
+ goto yy56;
+-yy1346:
++yy1348:
+ yyaccept = 5;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '/') {
+@@ -19097,13 +19288,13 @@ yy1346:
+ if (yych <= '`') goto yy218;
+ goto yy167;
+ } else {
+- if (yych <= 'r') goto yy1347;
++ if (yych <= 'r') goto yy1349;
+ if (yych <= 'z') goto yy167;
+ goto yy218;
+ }
+ }
+ }
+-yy1347:
++yy1349:
+ yych = *++YYCURSOR;
+ if (yych <= 'U') {
+ if (yych <= ')') {
+@@ -19119,12 +19310,12 @@ yy1347:
+ if (yych <= '`') goto yy3;
+ goto yy168;
+ } else {
+- if (yych <= 'u') goto yy1348;
++ if (yych <= 'u') goto yy1350;
+ if (yych <= 'z') goto yy168;
+ goto yy3;
+ }
+ }
+-yy1348:
++yy1350:
+ yych = *++YYCURSOR;
+ if (yych <= 'A') {
+ if (yych == ')') goto yy164;
+@@ -19134,27 +19325,27 @@ yy1348:
+ if (yych <= 'Z') goto yy169;
+ goto yy3;
+ } else {
+- if (yych <= 'a') goto yy1349;
++ if (yych <= 'a') goto yy1351;
+ if (yych <= 'z') goto yy169;
+ goto yy3;
+ }
+ }
+-yy1349:
++yy1351:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'Q') {
+ if (yych == ')') goto yy164;
+ goto yy3;
+ } else {
+- if (yych <= 'R') goto yy1350;
++ if (yych <= 'R') goto yy1352;
+ if (yych != 'r') goto yy3;
+ }
+-yy1350:
++yy1352:
+ yych = *++YYCURSOR;
+ if (yych == 'Y') goto yy229;
+ if (yych == 'y') goto yy229;
+ goto yy56;
+-yy1351:
++yy1353:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'A') {
+@@ -19169,7 +19360,7 @@ yy1351:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'B') goto yy1346;
++ if (yych <= 'B') goto yy1348;
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -19178,13 +19369,13 @@ yy1351:
+ if (yych <= '`') goto yy3;
+ goto yy171;
+ } else {
+- if (yych <= 'b') goto yy1369;
++ if (yych <= 'b') goto yy1371;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1352:
++yy1354:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'Q') {
+@@ -19201,14 +19392,14 @@ yy1352:
+ if (yych <= '/') goto yy172;
+ goto yy3;
+ } else {
+- if (yych == 'F') goto yy1336;
++ if (yych == 'F') goto yy1338;
+ goto yy166;
+ }
+ }
+ } else {
+ if (yych <= '`') {
+ if (yych <= 'Z') {
+- if (yych <= 'R') goto yy1335;
++ if (yych <= 'R') goto yy1337;
+ goto yy166;
+ } else {
+ if (yych == '_') goto yy172;
+@@ -19216,16 +19407,16 @@ yy1352:
+ }
+ } else {
+ if (yych <= 'q') {
+- if (yych == 'f') goto yy1365;
++ if (yych == 'f') goto yy1367;
+ goto yy171;
+ } else {
+- if (yych <= 'r') goto yy1364;
++ if (yych <= 'r') goto yy1366;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1353:
++yy1355:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'T') {
+@@ -19240,7 +19431,7 @@ yy1353:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'U') goto yy1332;
++ if (yych <= 'U') goto yy1334;
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -19249,13 +19440,13 @@ yy1353:
+ if (yych <= '`') goto yy3;
+ goto yy171;
+ } else {
+- if (yych <= 'u') goto yy1361;
++ if (yych <= 'u') goto yy1363;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1354:
++yy1356:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'N') {
+@@ -19272,14 +19463,14 @@ yy1354:
+ if (yych <= '/') goto yy172;
+ goto yy3;
+ } else {
+- if (yych == 'I') goto yy1315;
++ if (yych == 'I') goto yy1316;
+ goto yy166;
+ }
+ }
+ } else {
+ if (yych <= '`') {
+ if (yych <= 'Z') {
+- if (yych <= 'O') goto yy1314;
++ if (yych <= 'O') goto yy1315;
+ goto yy166;
+ } else {
+ if (yych == '_') goto yy172;
+@@ -19287,16 +19478,16 @@ yy1354:
+ }
+ } else {
+ if (yych <= 'n') {
+- if (yych == 'i') goto yy1356;
++ if (yych == 'i') goto yy1358;
+ goto yy171;
+ } else {
+- if (yych <= 'o') goto yy1355;
++ if (yych <= 'o') goto yy1357;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1355:
++yy1357:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'M') {
+@@ -19311,7 +19502,7 @@ yy1355:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'N') goto yy1318;
++ if (yych <= 'N') goto yy1319;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -19320,13 +19511,13 @@ yy1355:
+ if (yych <= '`') goto yy3;
+ goto yy175;
+ } else {
+- if (yych <= 'n') goto yy1359;
++ if (yych <= 'n') goto yy1361;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+ }
+-yy1356:
++yy1358:
+ yyaccept = 4;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'C') {
+@@ -19341,7 +19532,7 @@ yy1356:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'D') goto yy1316;
++ if (yych <= 'D') goto yy1317;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy191;
+ goto yy172;
+@@ -19350,13 +19541,13 @@ yy1356:
+ if (yych <= '`') goto yy191;
+ goto yy175;
+ } else {
+- if (yych <= 'd') goto yy1357;
++ if (yych <= 'd') goto yy1359;
+ if (yych <= 'z') goto yy175;
+ goto yy191;
+ }
+ }
+ }
+-yy1357:
++yy1359:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '@') {
+@@ -19370,18 +19561,18 @@ yy1357:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'A') goto yy1317;
++ if (yych <= 'A') goto yy1318;
+ if (yych <= 'Z') goto yy168;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+ } else {
+ if (yych <= '`') goto yy3;
+- if (yych <= 'a') goto yy1358;
++ if (yych <= 'a') goto yy1360;
+ if (yych <= 'z') goto yy176;
+ goto yy3;
+ }
+ }
+-yy1358:
++yy1360:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'X') {
+@@ -19411,7 +19602,7 @@ yy1358:
+ }
+ }
+ }
+-yy1359:
++yy1361:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'S') {
+@@ -19426,7 +19617,7 @@ yy1359:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'T') goto yy1319;
++ if (yych <= 'T') goto yy1320;
+ if (yych <= 'Z') goto yy168;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -19435,18 +19626,18 @@ yy1359:
+ if (yych <= '`') goto yy3;
+ goto yy176;
+ } else {
+- if (yych <= 't') goto yy1360;
++ if (yych <= 't') goto yy1362;
+ if (yych <= 'z') goto yy176;
+ goto yy3;
+ }
+ }
+ }
+-yy1360:
++yy1362:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '.') {
+ if (yych <= '(') {
+- if (yych == ' ') goto yy1320;
++ if (yych == ' ') goto yy1321;
+ goto yy3;
+ } else {
+ if (yych <= ')') goto yy164;
+@@ -19466,7 +19657,7 @@ yy1360:
+ goto yy3;
+ }
+ }
+-yy1361:
++yy1363:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'Q') {
+@@ -19481,7 +19672,7 @@ yy1361:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'R') goto yy1333;
++ if (yych <= 'R') goto yy1335;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -19490,13 +19681,13 @@ yy1361:
+ if (yych <= '`') goto yy3;
+ goto yy175;
+ } else {
+- if (yych <= 'r') goto yy1362;
++ if (yych <= 'r') goto yy1364;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+ }
+-yy1362:
++yy1364:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'S') {
+@@ -19511,7 +19702,7 @@ yy1362:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'T') goto yy1334;
++ if (yych <= 'T') goto yy1336;
+ if (yych <= 'Z') goto yy168;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -19520,13 +19711,13 @@ yy1362:
+ if (yych <= '`') goto yy3;
+ goto yy176;
+ } else {
+- if (yych <= 't') goto yy1363;
++ if (yych <= 't') goto yy1365;
+ if (yych <= 'z') goto yy176;
+ goto yy3;
+ }
+ }
+ }
+-yy1363:
++yy1365:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'G') {
+@@ -19556,7 +19747,7 @@ yy1363:
+ }
+ }
+ }
+-yy1364:
++yy1366:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'R') {
+@@ -19571,7 +19762,7 @@ yy1364:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'S') goto yy1338;
++ if (yych <= 'S') goto yy1340;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -19580,13 +19771,13 @@ yy1364:
+ if (yych <= '`') goto yy3;
+ goto yy175;
+ } else {
+- if (yych <= 's') goto yy1367;
++ if (yych <= 's') goto yy1369;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+ }
+-yy1365:
++yy1367:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'S') {
+@@ -19601,7 +19792,7 @@ yy1365:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'T') goto yy1337;
++ if (yych <= 'T') goto yy1339;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -19610,13 +19801,13 @@ yy1365:
+ if (yych <= '`') goto yy3;
+ goto yy175;
+ } else {
+- if (yych <= 't') goto yy1366;
++ if (yych <= 't') goto yy1368;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+ }
+-yy1366:
++yy1368:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'G') {
+@@ -19646,7 +19837,7 @@ yy1366:
+ }
+ }
+ }
+-yy1367:
++yy1369:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'S') {
+@@ -19661,7 +19852,7 @@ yy1367:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'T') goto yy1339;
++ if (yych <= 'T') goto yy1341;
+ if (yych <= 'Z') goto yy168;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -19670,20 +19861,20 @@ yy1367:
+ if (yych <= '`') goto yy3;
+ goto yy176;
+ } else {
+- if (yych <= 't') goto yy1368;
++ if (yych <= 't') goto yy1370;
+ if (yych <= 'z') goto yy176;
+ goto yy3;
+ }
+ }
+ }
+-yy1368:
++yy1370:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '-') {
+ if (yych <= ' ') {
+ if (yych == '\t') goto yy1196;
+ if (yych <= 0x1F) goto yy3;
+- goto yy1340;
++ goto yy1342;
+ } else {
+ if (yych == ')') goto yy164;
+ if (yych <= ',') goto yy3;
+@@ -19705,7 +19896,7 @@ yy1368:
+ }
+ }
+ }
+-yy1369:
++yy1371:
+ yyaccept = 5;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '9') {
+@@ -19733,7 +19924,7 @@ yy1369:
+ if (yych <= '@') goto yy218;
+ goto yy167;
+ } else {
+- if (yych <= 'R') goto yy1347;
++ if (yych <= 'R') goto yy1349;
+ if (yych <= 'Z') goto yy167;
+ goto yy218;
+ }
+@@ -19743,13 +19934,13 @@ yy1369:
+ if (yych <= '`') goto yy218;
+ goto yy175;
+ } else {
+- if (yych <= 'r') goto yy1370;
++ if (yych <= 'r') goto yy1372;
+ if (yych <= 'z') goto yy175;
+ goto yy218;
+ }
+ }
+ }
+-yy1370:
++yy1372:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'T') {
+@@ -19764,7 +19955,7 @@ yy1370:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'U') goto yy1348;
++ if (yych <= 'U') goto yy1350;
+ if (yych <= 'Z') goto yy168;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -19773,13 +19964,13 @@ yy1370:
+ if (yych <= '`') goto yy3;
+ goto yy176;
+ } else {
+- if (yych <= 'u') goto yy1371;
++ if (yych <= 'u') goto yy1373;
+ if (yych <= 'z') goto yy176;
+ goto yy3;
+ }
+ }
+ }
+-yy1371:
++yy1373:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '@') {
+@@ -19793,18 +19984,18 @@ yy1371:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'A') goto yy1349;
++ if (yych <= 'A') goto yy1351;
+ if (yych <= 'Z') goto yy169;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+ } else {
+ if (yych <= '`') goto yy3;
+- if (yych <= 'a') goto yy1372;
++ if (yych <= 'a') goto yy1374;
+ if (yych <= 'z') goto yy177;
+ goto yy3;
+ }
+ }
+-yy1372:
++yy1374:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'Q') {
+@@ -19818,33 +20009,34 @@ yy1372:
+ }
+ } else {
+ if (yych <= '`') {
+- if (yych <= 'R') goto yy1350;
++ if (yych <= 'R') goto yy1352;
+ if (yych == '_') goto yy172;
+ goto yy3;
+ } else {
+- if (yych == 'r') goto yy1373;
++ if (yych == 'r') goto yy1375;
+ if (yych <= 'z') goto yy178;
+ goto yy3;
+ }
+ }
+-yy1373:
++yy1375:
+ yych = *++YYCURSOR;
+ if (yych == 'Y') goto yy229;
+ if (yych == 'y') goto yy341;
+ goto yy179;
+-yy1374:
++yy1376:
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy56;
+ if (yych >= ':') goto yy56;
+-yy1375:
++yy1377:
+ yyaccept = 28;
+ YYMARKER = ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
+ yych = *YYCURSOR;
+- if (yych == '.') goto yy1378;
+- if (yych <= '/') goto yy1377;
+- if (yych <= '9') goto yy1375;
+-yy1377:
++ if (yych == '.') goto yy1380;
++ if (yych <= '/') goto yy1379;
++ if (yych <= '9') goto yy1377;
++yy1379:
++#line 1025 "ext/date/lib/parse_date.re"
+ {
+ timelib_ull i;
+
+@@ -19869,7 +20061,8 @@ yy1377:
+ TIMELIB_DEINIT;
+ return TIMELIB_RELATIVE;
+ }
+-yy1378:
++#line 20065 "ext/date/lib/parse_date.c"
++yy1380:
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy56;
+ if (yych >= ':') goto yy56;
+@@ -19889,6 +20082,7 @@ yy1378:
+ if (yych <= '/') goto yy56;
+ if (yych >= ':') goto yy56;
+ ++YYCURSOR;
++#line 1051 "ext/date/lib/parse_date.re"
+ {
+ timelib_ull i, ms;
+
+@@ -19915,7 +20109,8 @@ yy1378:
+ TIMELIB_DEINIT;
+ return TIMELIB_RELATIVE;
+ }
+-yy1386:
++#line 20113 "ext/date/lib/parse_date.c"
++yy1388:
+ yych = *++YYCURSOR;
+ if (yych <= 'N') {
+ if (yych <= ')') {
+@@ -19924,7 +20119,7 @@ yy1386:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'M') goto yy166;
+- goto yy1427;
++ goto yy1429;
+ }
+ } else {
+ if (yych <= 'm') {
+@@ -19932,58 +20127,58 @@ yy1386:
+ if (yych <= '`') goto yy3;
+ goto yy166;
+ } else {
+- if (yych <= 'n') goto yy1427;
++ if (yych <= 'n') goto yy1429;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1387:
++yy1389:
+ yych = *++YYCURSOR;
+ if (yych <= 'U') {
+ if (yych <= '@') {
+ if (yych == ')') goto yy164;
+ goto yy3;
+ } else {
+- if (yych == 'I') goto yy1419;
++ if (yych == 'I') goto yy1421;
+ if (yych <= 'T') goto yy166;
+- goto yy1420;
++ goto yy1422;
+ }
+ } else {
+ if (yych <= 'i') {
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '`') goto yy3;
+ if (yych <= 'h') goto yy166;
+- goto yy1419;
++ goto yy1421;
+ } else {
+- if (yych == 'u') goto yy1420;
++ if (yych == 'u') goto yy1422;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1388:
++yy1390:
+ yych = *++YYCURSOR;
+ if (yych <= 'M') {
+ if (yych <= '@') {
+ if (yych == ')') goto yy164;
+ goto yy3;
+ } else {
+- if (yych == 'D') goto yy1408;
++ if (yych == 'D') goto yy1410;
+ if (yych <= 'L') goto yy166;
+- goto yy1409;
++ goto yy1411;
+ }
+ } else {
+ if (yych <= 'd') {
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '`') goto yy3;
+ if (yych <= 'c') goto yy166;
+- goto yy1408;
++ goto yy1410;
+ } else {
+- if (yych == 'm') goto yy1409;
++ if (yych == 'm') goto yy1411;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1389:
++yy1391:
+ yych = *++YYCURSOR;
+ if (yych <= 'E') {
+ if (yych <= ')') {
+@@ -19992,7 +20187,7 @@ yy1389:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'D') goto yy166;
+- goto yy1404;
++ goto yy1406;
+ }
+ } else {
+ if (yych <= 'd') {
+@@ -20000,12 +20195,12 @@ yy1389:
+ if (yych <= '`') goto yy3;
+ goto yy166;
+ } else {
+- if (yych <= 'e') goto yy1404;
++ if (yych <= 'e') goto yy1406;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1390:
++yy1392:
+ yych = *++YYCURSOR;
+ if (yych <= 'E') {
+ if (yych <= ')') {
+@@ -20014,7 +20209,7 @@ yy1390:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'D') goto yy166;
+- goto yy1400;
++ goto yy1402;
+ }
+ } else {
+ if (yych <= 'd') {
+@@ -20022,68 +20217,68 @@ yy1390:
+ if (yych <= '`') goto yy3;
+ goto yy166;
+ } else {
+- if (yych <= 'e') goto yy1400;
++ if (yych <= 'e') goto yy1402;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1391:
++yy1393:
+ yych = *++YYCURSOR;
+ if (yych <= '/') {
+ if (yych == '.') goto yy1029;
+ goto yy56;
+ } else {
+- if (yych <= '9') goto yy1394;
++ if (yych <= '9') goto yy1396;
+ if (yych <= ':') goto yy1029;
+ goto yy56;
+ }
+-yy1392:
++yy1394:
+ yych = *++YYCURSOR;
+ if (yych <= '/') {
+ if (yych == '.') goto yy1029;
+ goto yy56;
+ } else {
+- if (yych <= '4') goto yy1394;
++ if (yych <= '4') goto yy1396;
+ if (yych == ':') goto yy1029;
+ goto yy56;
+ }
+-yy1393:
++yy1395:
+ yych = *++YYCURSOR;
+ if (yych == '.') goto yy1029;
+ if (yych == ':') goto yy1029;
+ goto yy56;
+-yy1394:
++yy1396:
+ yych = *++YYCURSOR;
+ if (yych <= '/') {
+ if (yych == '.') goto yy1029;
+ goto yy56;
+ } else {
+- if (yych <= '5') goto yy1395;
++ if (yych <= '5') goto yy1397;
+ if (yych == ':') goto yy1029;
+ goto yy56;
+ }
+-yy1395:
++yy1397:
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy56;
+ if (yych >= ':') goto yy56;
+ yyaccept = 23;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '/') goto yy1032;
+- if (yych <= '5') goto yy1397;
+- if (yych <= '6') goto yy1398;
++ if (yych <= '5') goto yy1399;
++ if (yych <= '6') goto yy1400;
+ goto yy1032;
+-yy1397:
++yy1399:
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy56;
+- if (yych <= '9') goto yy1399;
++ if (yych <= '9') goto yy1401;
+ goto yy56;
+-yy1398:
++yy1400:
+ yych = *++YYCURSOR;
+ if (yych != '0') goto yy56;
+-yy1399:
++yy1401:
+ yych = *++YYCURSOR;
+ goto yy1040;
+-yy1400:
++yy1402:
+ yych = *++YYCURSOR;
+ if (yych <= 'L') {
+ if (yych <= ')') {
+@@ -20099,12 +20294,12 @@ yy1400:
+ if (yych <= '`') goto yy3;
+ goto yy167;
+ } else {
+- if (yych <= 'l') goto yy1401;
++ if (yych <= 'l') goto yy1403;
+ if (yych <= 'z') goto yy167;
+ goto yy3;
+ }
+ }
+-yy1401:
++yy1403:
+ yych = *++YYCURSOR;
+ if (yych <= 'F') {
+ if (yych <= ')') {
+@@ -20120,12 +20315,12 @@ yy1401:
+ if (yych <= '`') goto yy3;
+ goto yy168;
+ } else {
+- if (yych <= 'f') goto yy1402;
++ if (yych <= 'f') goto yy1404;
+ if (yych <= 'z') goto yy168;
+ goto yy3;
+ }
+ }
+-yy1402:
++yy1404:
+ yych = *++YYCURSOR;
+ if (yych <= 'T') {
+ if (yych <= ')') {
+@@ -20141,12 +20336,12 @@ yy1402:
+ if (yych <= '`') goto yy3;
+ goto yy169;
+ } else {
+- if (yych <= 't') goto yy1403;
++ if (yych <= 't') goto yy1405;
+ if (yych <= 'z') goto yy169;
+ goto yy3;
+ }
+ }
+-yy1403:
++yy1405:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'G') {
+@@ -20157,7 +20352,7 @@ yy1403:
+ if (yych == 'h') goto yy1195;
+ goto yy3;
+ }
+-yy1404:
++yy1406:
+ yych = *++YYCURSOR;
+ if (yych <= 'S') {
+ if (yych <= ')') {
+@@ -20173,12 +20368,12 @@ yy1404:
+ if (yych <= '`') goto yy191;
+ goto yy167;
+ } else {
+- if (yych <= 's') goto yy1405;
++ if (yych <= 's') goto yy1407;
+ if (yych <= 'z') goto yy167;
+ goto yy191;
+ }
+ }
+-yy1405:
++yy1407:
+ yych = *++YYCURSOR;
+ if (yych <= 'D') {
+ if (yych <= ')') {
+@@ -20194,12 +20389,12 @@ yy1405:
+ if (yych <= '`') goto yy3;
+ goto yy168;
+ } else {
+- if (yych <= 'd') goto yy1406;
++ if (yych <= 'd') goto yy1408;
+ if (yych <= 'z') goto yy168;
+ goto yy3;
+ }
+ }
+-yy1406:
++yy1408:
+ yych = *++YYCURSOR;
+ if (yych <= 'A') {
+ if (yych == ')') goto yy164;
+@@ -20209,12 +20404,12 @@ yy1406:
+ if (yych <= 'Z') goto yy169;
+ goto yy3;
+ } else {
+- if (yych <= 'a') goto yy1407;
++ if (yych <= 'a') goto yy1409;
+ if (yych <= 'z') goto yy169;
+ goto yy3;
+ }
+ }
+-yy1407:
++yy1409:
+ yych = *++YYCURSOR;
+ if (yych <= 'X') {
+ if (yych == ')') goto yy164;
+@@ -20224,23 +20419,23 @@ yy1407:
+ if (yych == 'y') goto yy197;
+ goto yy3;
+ }
+-yy1408:
++yy1410:
+ yych = *++YYCURSOR;
+ if (yych <= 'A') {
+ if (yych == ')') goto yy164;
+ if (yych <= '@') goto yy3;
+- goto yy1416;
++ goto yy1418;
+ } else {
+ if (yych <= '`') {
+ if (yych <= 'Z') goto yy167;
+ goto yy3;
+ } else {
+- if (yych <= 'a') goto yy1416;
++ if (yych <= 'a') goto yy1418;
+ if (yych <= 'z') goto yy167;
+ goto yy3;
+ }
+ }
+-yy1409:
++yy1411:
+ yych = *++YYCURSOR;
+ if (yych <= 'O') {
+ if (yych <= ')') {
+@@ -20256,12 +20451,12 @@ yy1409:
+ if (yych <= '`') goto yy3;
+ goto yy167;
+ } else {
+- if (yych <= 'o') goto yy1410;
++ if (yych <= 'o') goto yy1412;
+ if (yych <= 'z') goto yy167;
+ goto yy3;
+ }
+ }
+-yy1410:
++yy1412:
+ yych = *++YYCURSOR;
+ if (yych <= 'R') {
+ if (yych <= ')') {
+@@ -20277,12 +20472,12 @@ yy1410:
+ if (yych <= '`') goto yy3;
+ goto yy168;
+ } else {
+- if (yych <= 'r') goto yy1411;
++ if (yych <= 'r') goto yy1413;
+ if (yych <= 'z') goto yy168;
+ goto yy3;
+ }
+ }
+-yy1411:
++yy1413:
+ yych = *++YYCURSOR;
+ if (yych <= 'R') {
+ if (yych <= ')') {
+@@ -20298,28 +20493,29 @@ yy1411:
+ if (yych <= '`') goto yy3;
+ goto yy169;
+ } else {
+- if (yych <= 'r') goto yy1412;
++ if (yych <= 'r') goto yy1414;
+ if (yych <= 'z') goto yy169;
+ goto yy3;
+ }
+ }
+-yy1412:
++yy1414:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'N') {
+ if (yych == ')') goto yy164;
+ goto yy3;
+ } else {
+- if (yych <= 'O') goto yy1413;
++ if (yych <= 'O') goto yy1415;
+ if (yych != 'o') goto yy3;
+ }
+-yy1413:
++yy1415:
+ yych = *++YYCURSOR;
+- if (yych == 'W') goto yy1414;
++ if (yych == 'W') goto yy1416;
+ if (yych != 'w') goto yy56;
+-yy1414:
++yy1416:
+ ++YYCURSOR;
+-yy1415:
++yy1417:
++#line 1013 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("tomorrow");
+ TIMELIB_INIT;
+@@ -20330,7 +20526,8 @@ yy1415:
+ TIMELIB_DEINIT;
+ return TIMELIB_RELATIVE;
+ }
+-yy1416:
++#line 20530 "ext/date/lib/parse_date.c"
++yy1418:
+ yych = *++YYCURSOR;
+ if (yych <= 'Y') {
+ if (yych <= ')') {
+@@ -20346,21 +20543,22 @@ yy1416:
+ if (yych <= '`') goto yy3;
+ goto yy168;
+ } else {
+- if (yych <= 'y') goto yy1417;
++ if (yych <= 'y') goto yy1419;
+ if (yych <= 'z') goto yy168;
+ goto yy3;
+ }
+ }
+-yy1417:
++yy1419:
+ ++YYCURSOR;
+ if ((yych = *YYCURSOR) <= '@') {
+ if (yych == ')') goto yy164;
+ } else {
+ if (yych <= 'Z') goto yy169;
+- if (yych <= '`') goto yy1418;
++ if (yych <= '`') goto yy1420;
+ if (yych <= 'z') goto yy169;
+ }
+-yy1418:
++yy1420:
++#line 1003 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("midnight | today");
+ TIMELIB_INIT;
+@@ -20369,7 +20567,8 @@ yy1418:
+ TIMELIB_DEINIT;
+ return TIMELIB_RELATIVE;
+ }
+-yy1419:
++#line 20571 "ext/date/lib/parse_date.c"
++yy1421:
+ yych = *++YYCURSOR;
+ if (yych <= 'S') {
+ if (yych <= '@') {
+@@ -20377,8 +20576,8 @@ yy1419:
+ goto yy3;
+ } else {
+ if (yych <= 'Q') goto yy167;
+- if (yych <= 'R') goto yy1425;
+- goto yy1426;
++ if (yych <= 'R') goto yy1427;
++ goto yy1428;
+ }
+ } else {
+ if (yych <= 'q') {
+@@ -20386,13 +20585,13 @@ yy1419:
+ if (yych <= '`') goto yy3;
+ goto yy167;
+ } else {
+- if (yych <= 'r') goto yy1425;
+- if (yych <= 's') goto yy1426;
++ if (yych <= 'r') goto yy1427;
++ if (yych <= 's') goto yy1428;
+ if (yych <= 'z') goto yy167;
+ goto yy3;
+ }
+ }
+-yy1420:
++yy1422:
+ yych = *++YYCURSOR;
+ if (yych <= 'R') {
+ if (yych <= ')') {
+@@ -20408,12 +20607,12 @@ yy1420:
+ if (yych <= '`') goto yy191;
+ goto yy167;
+ } else {
+- if (yych <= 'r') goto yy1421;
++ if (yych <= 'r') goto yy1423;
+ if (yych <= 'z') goto yy167;
+ goto yy191;
+ }
+ }
+-yy1421:
++yy1423:
+ yych = *++YYCURSOR;
+ if (yych <= 'S') {
+ if (yych <= ')') {
+@@ -20429,12 +20628,12 @@ yy1421:
+ if (yych <= '`') goto yy3;
+ goto yy168;
+ } else {
+- if (yych <= 's') goto yy1422;
++ if (yych <= 's') goto yy1424;
+ if (yych <= 'z') goto yy168;
+ goto yy3;
+ }
+ }
+-yy1422:
++yy1424:
+ yych = *++YYCURSOR;
+ if (yych <= 'D') {
+ if (yych <= ')') {
+@@ -20450,27 +20649,27 @@ yy1422:
+ if (yych <= '`') goto yy3;
+ goto yy169;
+ } else {
+- if (yych <= 'd') goto yy1423;
++ if (yych <= 'd') goto yy1425;
+ if (yych <= 'z') goto yy169;
+ goto yy3;
+ }
+ }
+-yy1423:
++yy1425:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '@') {
+ if (yych == ')') goto yy164;
+ goto yy3;
+ } else {
+- if (yych <= 'A') goto yy1424;
++ if (yych <= 'A') goto yy1426;
+ if (yych != 'a') goto yy3;
+ }
+-yy1424:
++yy1426:
+ yych = *++YYCURSOR;
+ if (yych == 'Y') goto yy197;
+ if (yych == 'y') goto yy197;
+ goto yy56;
+-yy1425:
++yy1427:
+ yych = *++YYCURSOR;
+ if (yych <= 'D') {
+ if (yych <= ')') {
+@@ -20492,7 +20691,7 @@ yy1425:
+ goto yy3;
+ }
+ }
+-yy1426:
++yy1428:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '(') {
+@@ -20514,7 +20713,7 @@ yy1426:
+ goto yy3;
+ }
+ }
+-yy1427:
++yy1429:
+ yych = *++YYCURSOR;
+ if (yych <= 'T') {
+ if (yych <= ')') {
+@@ -20530,12 +20729,12 @@ yy1427:
+ if (yych <= '`') goto yy3;
+ goto yy167;
+ } else {
+- if (yych <= 't') goto yy1428;
++ if (yych <= 't') goto yy1430;
+ if (yych <= 'z') goto yy167;
+ goto yy3;
+ }
+ }
+-yy1428:
++yy1430:
+ yych = *++YYCURSOR;
+ if (yych <= 'H') {
+ if (yych <= ')') {
+@@ -20557,7 +20756,7 @@ yy1428:
+ goto yy3;
+ }
+ }
+-yy1429:
++yy1431:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'M') {
+@@ -20572,7 +20771,7 @@ yy1429:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'N') goto yy1427;
++ if (yych <= 'N') goto yy1429;
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -20581,13 +20780,13 @@ yy1429:
+ if (yych <= '`') goto yy3;
+ goto yy171;
+ } else {
+- if (yych <= 'n') goto yy1459;
++ if (yych <= 'n') goto yy1461;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1430:
++yy1432:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'T') {
+@@ -20604,14 +20803,14 @@ yy1430:
+ if (yych <= '/') goto yy172;
+ goto yy3;
+ } else {
+- if (yych == 'I') goto yy1419;
++ if (yych == 'I') goto yy1421;
+ goto yy166;
+ }
+ }
+ } else {
+ if (yych <= '`') {
+ if (yych <= 'Z') {
+- if (yych <= 'U') goto yy1420;
++ if (yych <= 'U') goto yy1422;
+ goto yy166;
+ } else {
+ if (yych == '_') goto yy172;
+@@ -20619,16 +20818,16 @@ yy1430:
+ }
+ } else {
+ if (yych <= 't') {
+- if (yych == 'i') goto yy1451;
++ if (yych == 'i') goto yy1453;
+ goto yy171;
+ } else {
+- if (yych <= 'u') goto yy1452;
++ if (yych <= 'u') goto yy1454;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1431:
++yy1433:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'L') {
+@@ -20645,14 +20844,14 @@ yy1431:
+ if (yych <= '/') goto yy172;
+ goto yy3;
+ } else {
+- if (yych == 'D') goto yy1408;
++ if (yych == 'D') goto yy1410;
+ goto yy166;
+ }
+ }
+ } else {
+ if (yych <= '`') {
+ if (yych <= 'Z') {
+- if (yych <= 'M') goto yy1409;
++ if (yych <= 'M') goto yy1411;
+ goto yy166;
+ } else {
+ if (yych == '_') goto yy172;
+@@ -20660,16 +20859,16 @@ yy1431:
+ }
+ } else {
+ if (yych <= 'l') {
+- if (yych == 'd') goto yy1442;
++ if (yych == 'd') goto yy1444;
+ goto yy171;
+ } else {
+- if (yych <= 'm') goto yy1443;
++ if (yych <= 'm') goto yy1445;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1432:
++yy1434:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'D') {
+@@ -20684,7 +20883,7 @@ yy1432:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'E') goto yy1404;
++ if (yych <= 'E') goto yy1406;
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -20693,13 +20892,13 @@ yy1432:
+ if (yych <= '`') goto yy3;
+ goto yy171;
+ } else {
+- if (yych <= 'e') goto yy1438;
++ if (yych <= 'e') goto yy1440;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1433:
++yy1435:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'D') {
+@@ -20714,7 +20913,7 @@ yy1433:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'E') goto yy1400;
++ if (yych <= 'E') goto yy1402;
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -20723,13 +20922,13 @@ yy1433:
+ if (yych <= '`') goto yy3;
+ goto yy171;
+ } else {
+- if (yych <= 'e') goto yy1434;
++ if (yych <= 'e') goto yy1436;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1434:
++yy1436:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'K') {
+@@ -20744,7 +20943,7 @@ yy1434:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'L') goto yy1401;
++ if (yych <= 'L') goto yy1403;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -20753,13 +20952,13 @@ yy1434:
+ if (yych <= '`') goto yy3;
+ goto yy175;
+ } else {
+- if (yych <= 'l') goto yy1435;
++ if (yych <= 'l') goto yy1437;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+ }
+-yy1435:
++yy1437:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'E') {
+@@ -20774,7 +20973,7 @@ yy1435:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'F') goto yy1402;
++ if (yych <= 'F') goto yy1404;
+ if (yych <= 'Z') goto yy168;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -20783,13 +20982,13 @@ yy1435:
+ if (yych <= '`') goto yy3;
+ goto yy176;
+ } else {
+- if (yych <= 'f') goto yy1436;
++ if (yych <= 'f') goto yy1438;
+ if (yych <= 'z') goto yy176;
+ goto yy3;
+ }
+ }
+ }
+-yy1436:
++yy1438:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'S') {
+@@ -20804,7 +21003,7 @@ yy1436:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'T') goto yy1403;
++ if (yych <= 'T') goto yy1405;
+ if (yych <= 'Z') goto yy169;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -20813,13 +21012,13 @@ yy1436:
+ if (yych <= '`') goto yy3;
+ goto yy177;
+ } else {
+- if (yych <= 't') goto yy1437;
++ if (yych <= 't') goto yy1439;
+ if (yych <= 'z') goto yy177;
+ goto yy3;
+ }
+ }
+ }
+-yy1437:
++yy1439:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'G') {
+@@ -20842,7 +21041,7 @@ yy1437:
+ goto yy3;
+ }
+ }
+-yy1438:
++yy1440:
+ yyaccept = 4;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'R') {
+@@ -20857,7 +21056,7 @@ yy1438:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'S') goto yy1405;
++ if (yych <= 'S') goto yy1407;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy191;
+ goto yy172;
+@@ -20866,13 +21065,13 @@ yy1438:
+ if (yych <= '`') goto yy191;
+ goto yy175;
+ } else {
+- if (yych <= 's') goto yy1439;
++ if (yych <= 's') goto yy1441;
+ if (yych <= 'z') goto yy175;
+ goto yy191;
+ }
+ }
+ }
+-yy1439:
++yy1441:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'C') {
+@@ -20887,7 +21086,7 @@ yy1439:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'D') goto yy1406;
++ if (yych <= 'D') goto yy1408;
+ if (yych <= 'Z') goto yy168;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -20896,13 +21095,13 @@ yy1439:
+ if (yych <= '`') goto yy3;
+ goto yy176;
+ } else {
+- if (yych <= 'd') goto yy1440;
++ if (yych <= 'd') goto yy1442;
+ if (yych <= 'z') goto yy176;
+ goto yy3;
+ }
+ }
+ }
+-yy1440:
++yy1442:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '@') {
+@@ -20916,18 +21115,18 @@ yy1440:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'A') goto yy1407;
++ if (yych <= 'A') goto yy1409;
+ if (yych <= 'Z') goto yy169;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+ } else {
+ if (yych <= '`') goto yy3;
+- if (yych <= 'a') goto yy1441;
++ if (yych <= 'a') goto yy1443;
+ if (yych <= 'z') goto yy177;
+ goto yy3;
+ }
+ }
+-yy1441:
++yy1443:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'X') {
+@@ -20950,7 +21149,7 @@ yy1441:
+ goto yy3;
+ }
+ }
+-yy1442:
++yy1444:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '@') {
+@@ -20964,18 +21163,18 @@ yy1442:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'A') goto yy1416;
++ if (yych <= 'A') goto yy1418;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+ } else {
+ if (yych <= '`') goto yy3;
+- if (yych <= 'a') goto yy1449;
++ if (yych <= 'a') goto yy1451;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+-yy1443:
++yy1445:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'N') {
+@@ -20990,7 +21189,7 @@ yy1443:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'O') goto yy1410;
++ if (yych <= 'O') goto yy1412;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -20999,13 +21198,13 @@ yy1443:
+ if (yych <= '`') goto yy3;
+ goto yy175;
+ } else {
+- if (yych <= 'o') goto yy1444;
++ if (yych <= 'o') goto yy1446;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+ }
+-yy1444:
++yy1446:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'Q') {
+@@ -21020,7 +21219,7 @@ yy1444:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'R') goto yy1411;
++ if (yych <= 'R') goto yy1413;
+ if (yych <= 'Z') goto yy168;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -21029,13 +21228,13 @@ yy1444:
+ if (yych <= '`') goto yy3;
+ goto yy176;
+ } else {
+- if (yych <= 'r') goto yy1445;
++ if (yych <= 'r') goto yy1447;
+ if (yych <= 'z') goto yy176;
+ goto yy3;
+ }
+ }
+ }
+-yy1445:
++yy1447:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'Q') {
+@@ -21050,7 +21249,7 @@ yy1445:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'R') goto yy1412;
++ if (yych <= 'R') goto yy1414;
+ if (yych <= 'Z') goto yy169;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -21059,13 +21258,13 @@ yy1445:
+ if (yych <= '`') goto yy3;
+ goto yy177;
+ } else {
+- if (yych <= 'r') goto yy1446;
++ if (yych <= 'r') goto yy1448;
+ if (yych <= 'z') goto yy177;
+ goto yy3;
+ }
+ }
+ }
+-yy1446:
++yy1448:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'N') {
+@@ -21079,18 +21278,18 @@ yy1446:
+ }
+ } else {
+ if (yych <= '`') {
+- if (yych <= 'O') goto yy1413;
++ if (yych <= 'O') goto yy1415;
+ if (yych == '_') goto yy172;
+ goto yy3;
+ } else {
+- if (yych == 'o') goto yy1447;
++ if (yych == 'o') goto yy1449;
+ if (yych <= 'z') goto yy178;
+ goto yy3;
+ }
+ }
+-yy1447:
++yy1449:
+ yych = *++YYCURSOR;
+- if (yych == 'W') goto yy1414;
++ if (yych == 'W') goto yy1416;
+ if (yych != 'w') goto yy179;
+ yyaccept = 29;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -21099,13 +21298,13 @@ yy1447:
+ }
+ if (yych <= '.') {
+ if (yych == '-') goto yy172;
+- goto yy1415;
++ goto yy1417;
+ } else {
+ if (yych <= '/') goto yy172;
+ if (yych == '_') goto yy172;
+- goto yy1415;
++ goto yy1417;
+ }
+-yy1449:
++yy1451:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'X') {
+@@ -21120,7 +21319,7 @@ yy1449:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'Y') goto yy1417;
++ if (yych <= 'Y') goto yy1419;
+ if (yych <= 'Z') goto yy168;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -21129,36 +21328,36 @@ yy1449:
+ if (yych <= '`') goto yy3;
+ goto yy176;
+ } else {
+- if (yych <= 'y') goto yy1450;
++ if (yych <= 'y') goto yy1452;
+ if (yych <= 'z') goto yy176;
+ goto yy3;
+ }
+ }
+ }
+-yy1450:
++yy1452:
+ yyaccept = 30;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '/') {
+ if (yych <= ',') {
+ if (yych == ')') goto yy164;
+- goto yy1418;
++ goto yy1420;
+ } else {
+- if (yych == '.') goto yy1418;
++ if (yych == '.') goto yy1420;
+ goto yy172;
+ }
+ } else {
+ if (yych <= '^') {
+- if (yych <= '@') goto yy1418;
++ if (yych <= '@') goto yy1420;
+ if (yych <= 'Z') goto yy169;
+- goto yy1418;
++ goto yy1420;
+ } else {
+ if (yych <= '_') goto yy172;
+- if (yych <= '`') goto yy1418;
++ if (yych <= '`') goto yy1420;
+ if (yych <= 'z') goto yy177;
+- goto yy1418;
++ goto yy1420;
+ }
+ }
+-yy1451:
++yy1453:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'R') {
+@@ -21173,13 +21372,13 @@ yy1451:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'Q') goto yy167;
+- goto yy1425;
++ goto yy1427;
+ }
+ }
+ } else {
+ if (yych <= '`') {
+ if (yych <= 'Z') {
+- if (yych <= 'S') goto yy1426;
++ if (yych <= 'S') goto yy1428;
+ goto yy167;
+ } else {
+ if (yych == '_') goto yy172;
+@@ -21188,15 +21387,15 @@ yy1451:
+ } else {
+ if (yych <= 'r') {
+ if (yych <= 'q') goto yy175;
+- goto yy1457;
++ goto yy1459;
+ } else {
+- if (yych <= 's') goto yy1458;
++ if (yych <= 's') goto yy1460;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+ }
+-yy1452:
++yy1454:
+ yyaccept = 4;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'Q') {
+@@ -21211,7 +21410,7 @@ yy1452:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'R') goto yy1421;
++ if (yych <= 'R') goto yy1423;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy191;
+ goto yy172;
+@@ -21220,13 +21419,13 @@ yy1452:
+ if (yych <= '`') goto yy191;
+ goto yy175;
+ } else {
+- if (yych <= 'r') goto yy1453;
++ if (yych <= 'r') goto yy1455;
+ if (yych <= 'z') goto yy175;
+ goto yy191;
+ }
+ }
+ }
+-yy1453:
++yy1455:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'R') {
+@@ -21241,7 +21440,7 @@ yy1453:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'S') goto yy1422;
++ if (yych <= 'S') goto yy1424;
+ if (yych <= 'Z') goto yy168;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -21250,13 +21449,13 @@ yy1453:
+ if (yych <= '`') goto yy3;
+ goto yy176;
+ } else {
+- if (yych <= 's') goto yy1454;
++ if (yych <= 's') goto yy1456;
+ if (yych <= 'z') goto yy176;
+ goto yy3;
+ }
+ }
+ }
+-yy1454:
++yy1456:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'C') {
+@@ -21271,7 +21470,7 @@ yy1454:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'D') goto yy1423;
++ if (yych <= 'D') goto yy1425;
+ if (yych <= 'Z') goto yy169;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -21280,13 +21479,13 @@ yy1454:
+ if (yych <= '`') goto yy3;
+ goto yy177;
+ } else {
+- if (yych <= 'd') goto yy1455;
++ if (yych <= 'd') goto yy1457;
+ if (yych <= 'z') goto yy177;
+ goto yy3;
+ }
+ }
+ }
+-yy1455:
++yy1457:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '@') {
+@@ -21300,22 +21499,22 @@ yy1455:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'A') goto yy1424;
++ if (yych <= 'A') goto yy1426;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+ } else {
+ if (yych <= '`') goto yy3;
+- if (yych <= 'a') goto yy1456;
++ if (yych <= 'a') goto yy1458;
+ if (yych <= 'z') goto yy178;
+ goto yy3;
+ }
+ }
+-yy1456:
++yy1458:
+ yych = *++YYCURSOR;
+ if (yych == 'Y') goto yy197;
+ if (yych == 'y') goto yy210;
+ goto yy179;
+-yy1457:
++yy1459:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'C') {
+@@ -21345,7 +21544,7 @@ yy1457:
+ }
+ }
+ }
+-yy1458:
++yy1460:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '-') {
+@@ -21374,7 +21573,7 @@ yy1458:
+ }
+ }
+ }
+-yy1459:
++yy1461:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'S') {
+@@ -21389,7 +21588,7 @@ yy1459:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'T') goto yy1428;
++ if (yych <= 'T') goto yy1430;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -21398,13 +21597,13 @@ yy1459:
+ if (yych <= '`') goto yy3;
+ goto yy175;
+ } else {
+- if (yych <= 't') goto yy1460;
++ if (yych <= 't') goto yy1462;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+ }
+-yy1460:
++yy1462:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'G') {
+@@ -21434,30 +21633,30 @@ yy1460:
+ }
+ }
+ }
+-yy1461:
++yy1463:
+ yych = *++YYCURSOR;
+ if (yych <= 'Y') {
+ if (yych <= '@') {
+ if (yych == ')') goto yy164;
+ goto yy3;
+ } else {
+- if (yych == 'R') goto yy1473;
++ if (yych == 'R') goto yy1475;
+ if (yych <= 'X') goto yy166;
+- goto yy1474;
++ goto yy1476;
+ }
+ } else {
+ if (yych <= 'r') {
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '`') goto yy3;
+ if (yych <= 'q') goto yy166;
+- goto yy1473;
++ goto yy1475;
+ } else {
+- if (yych == 'y') goto yy1474;
++ if (yych == 'y') goto yy1476;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1462:
++yy1464:
+ yych = *++YYCURSOR;
+ if (yych <= 'D') {
+ if (yych <= ')') {
+@@ -21466,7 +21665,7 @@ yy1462:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'C') goto yy166;
+- goto yy1467;
++ goto yy1469;
+ }
+ } else {
+ if (yych <= 'c') {
+@@ -21474,12 +21673,12 @@ yy1462:
+ if (yych <= '`') goto yy3;
+ goto yy166;
+ } else {
+- if (yych <= 'd') goto yy1467;
++ if (yych <= 'd') goto yy1469;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1463:
++yy1465:
+ yych = *++YYCURSOR;
+ if (yych <= 'N') {
+ if (yych <= ')') {
+@@ -21495,12 +21694,12 @@ yy1463:
+ if (yych <= '`') goto yy3;
+ goto yy166;
+ } else {
+- if (yych <= 'n') goto yy1464;
++ if (yych <= 'n') goto yy1466;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1464:
++yy1466:
+ yych = *++YYCURSOR;
+ if (yych <= 'D') {
+ if (yych <= ')') {
+@@ -21516,12 +21715,12 @@ yy1464:
+ if (yych <= '`') goto yy191;
+ goto yy167;
+ } else {
+- if (yych <= 'd') goto yy1465;
++ if (yych <= 'd') goto yy1467;
+ if (yych <= 'z') goto yy167;
+ goto yy191;
+ }
+ }
+-yy1465:
++yy1467:
+ yych = *++YYCURSOR;
+ if (yych <= 'A') {
+ if (yych == ')') goto yy164;
+@@ -21531,12 +21730,12 @@ yy1465:
+ if (yych <= 'Z') goto yy168;
+ goto yy3;
+ } else {
+- if (yych <= 'a') goto yy1466;
++ if (yych <= 'a') goto yy1468;
+ if (yych <= 'z') goto yy168;
+ goto yy3;
+ }
+ }
+-yy1466:
++yy1468:
+ yych = *++YYCURSOR;
+ if (yych <= 'Y') {
+ if (yych <= ')') {
+@@ -21558,7 +21757,7 @@ yy1466:
+ goto yy3;
+ }
+ }
+-yy1467:
++yy1469:
+ yych = *++YYCURSOR;
+ if (yych <= 'N') {
+ if (yych <= ')') {
+@@ -21574,12 +21773,12 @@ yy1467:
+ if (yych <= '`') goto yy3;
+ goto yy167;
+ } else {
+- if (yych <= 'n') goto yy1468;
++ if (yych <= 'n') goto yy1470;
+ if (yych <= 'z') goto yy167;
+ goto yy3;
+ }
+ }
+-yy1468:
++yy1470:
+ yych = *++YYCURSOR;
+ if (yych <= 'I') {
+ if (yych <= ')') {
+@@ -21595,12 +21794,12 @@ yy1468:
+ if (yych <= '`') goto yy3;
+ goto yy168;
+ } else {
+- if (yych <= 'i') goto yy1469;
++ if (yych <= 'i') goto yy1471;
+ if (yych <= 'z') goto yy168;
+ goto yy3;
+ }
+ }
+-yy1469:
++yy1471:
+ yych = *++YYCURSOR;
+ if (yych <= 'G') {
+ if (yych <= ')') {
+@@ -21616,29 +21815,29 @@ yy1469:
+ if (yych <= '`') goto yy3;
+ goto yy169;
+ } else {
+- if (yych <= 'g') goto yy1470;
++ if (yych <= 'g') goto yy1472;
+ if (yych <= 'z') goto yy169;
+ goto yy3;
+ }
+ }
+-yy1470:
++yy1472:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'G') {
+ if (yych == ')') goto yy164;
+ goto yy3;
+ } else {
+- if (yych <= 'H') goto yy1471;
++ if (yych <= 'H') goto yy1473;
+ if (yych != 'h') goto yy3;
+ }
+-yy1471:
++yy1473:
+ yych = *++YYCURSOR;
+- if (yych == 'T') goto yy1472;
++ if (yych == 'T') goto yy1474;
+ if (yych != 't') goto yy56;
+-yy1472:
++yy1474:
+ yych = *++YYCURSOR;
+- goto yy1418;
+-yy1473:
++ goto yy1420;
++yy1475:
+ yyaccept = 5;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '/') {
+@@ -21666,7 +21865,7 @@ yy1473:
+ if (yych <= '9') goto yy220;
+ goto yy218;
+ } else {
+- if (yych == 'C') goto yy1475;
++ if (yych == 'C') goto yy1477;
+ goto yy167;
+ }
+ } else {
+@@ -21674,13 +21873,13 @@ yy1473:
+ if (yych <= '`') goto yy218;
+ goto yy167;
+ } else {
+- if (yych <= 'c') goto yy1475;
++ if (yych <= 'c') goto yy1477;
+ if (yych <= 'z') goto yy167;
+ goto yy218;
+ }
+ }
+ }
+-yy1474:
++yy1476:
+ yyaccept = 5;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '-') {
+@@ -21705,7 +21904,7 @@ yy1474:
+ goto yy218;
+ }
+ }
+-yy1475:
++yy1477:
+ yych = *++YYCURSOR;
+ if (yych <= 'H') {
+ if (yych <= ')') {
+@@ -21727,7 +21926,7 @@ yy1475:
+ goto yy3;
+ }
+ }
+-yy1476:
++yy1478:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'X') {
+@@ -21744,14 +21943,14 @@ yy1476:
+ if (yych <= '/') goto yy172;
+ goto yy3;
+ } else {
+- if (yych == 'R') goto yy1473;
++ if (yych == 'R') goto yy1475;
+ goto yy166;
+ }
+ }
+ } else {
+ if (yych <= '`') {
+ if (yych <= 'Z') {
+- if (yych <= 'Y') goto yy1474;
++ if (yych <= 'Y') goto yy1476;
+ goto yy166;
+ } else {
+ if (yych == '_') goto yy172;
+@@ -21759,16 +21958,16 @@ yy1476:
+ }
+ } else {
+ if (yych <= 'x') {
+- if (yych == 'r') goto yy1488;
++ if (yych == 'r') goto yy1490;
+ goto yy171;
+ } else {
+- if (yych <= 'y') goto yy1489;
++ if (yych <= 'y') goto yy1491;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1477:
++yy1479:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'C') {
+@@ -21783,7 +21982,7 @@ yy1477:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'D') goto yy1467;
++ if (yych <= 'D') goto yy1469;
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -21792,13 +21991,13 @@ yy1477:
+ if (yych <= '`') goto yy3;
+ goto yy171;
+ } else {
+- if (yych <= 'd') goto yy1482;
++ if (yych <= 'd') goto yy1484;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1478:
++yy1480:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'M') {
+@@ -21813,7 +22012,7 @@ yy1478:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'N') goto yy1464;
++ if (yych <= 'N') goto yy1466;
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -21822,13 +22021,13 @@ yy1478:
+ if (yych <= '`') goto yy3;
+ goto yy171;
+ } else {
+- if (yych <= 'n') goto yy1479;
++ if (yych <= 'n') goto yy1481;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1479:
++yy1481:
+ yyaccept = 4;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'C') {
+@@ -21843,7 +22042,7 @@ yy1479:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'D') goto yy1465;
++ if (yych <= 'D') goto yy1467;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy191;
+ goto yy172;
+@@ -21852,13 +22051,13 @@ yy1479:
+ if (yych <= '`') goto yy191;
+ goto yy175;
+ } else {
+- if (yych <= 'd') goto yy1480;
++ if (yych <= 'd') goto yy1482;
+ if (yych <= 'z') goto yy175;
+ goto yy191;
+ }
+ }
+ }
+-yy1480:
++yy1482:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '@') {
+@@ -21872,18 +22071,18 @@ yy1480:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'A') goto yy1466;
++ if (yych <= 'A') goto yy1468;
+ if (yych <= 'Z') goto yy168;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+ } else {
+ if (yych <= '`') goto yy3;
+- if (yych <= 'a') goto yy1481;
++ if (yych <= 'a') goto yy1483;
+ if (yych <= 'z') goto yy176;
+ goto yy3;
+ }
+ }
+-yy1481:
++yy1483:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'X') {
+@@ -21913,7 +22112,7 @@ yy1481:
+ }
+ }
+ }
+-yy1482:
++yy1484:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'M') {
+@@ -21928,7 +22127,7 @@ yy1482:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'N') goto yy1468;
++ if (yych <= 'N') goto yy1470;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -21937,13 +22136,13 @@ yy1482:
+ if (yych <= '`') goto yy3;
+ goto yy175;
+ } else {
+- if (yych <= 'n') goto yy1483;
++ if (yych <= 'n') goto yy1485;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+ }
+-yy1483:
++yy1485:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'H') {
+@@ -21958,7 +22157,7 @@ yy1483:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'I') goto yy1469;
++ if (yych <= 'I') goto yy1471;
+ if (yych <= 'Z') goto yy168;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -21967,13 +22166,13 @@ yy1483:
+ if (yych <= '`') goto yy3;
+ goto yy176;
+ } else {
+- if (yych <= 'i') goto yy1484;
++ if (yych <= 'i') goto yy1486;
+ if (yych <= 'z') goto yy176;
+ goto yy3;
+ }
+ }
+ }
+-yy1484:
++yy1486:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'F') {
+@@ -21988,7 +22187,7 @@ yy1484:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'G') goto yy1470;
++ if (yych <= 'G') goto yy1472;
+ if (yych <= 'Z') goto yy169;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -21997,13 +22196,13 @@ yy1484:
+ if (yych <= '`') goto yy3;
+ goto yy177;
+ } else {
+- if (yych <= 'g') goto yy1485;
++ if (yych <= 'g') goto yy1487;
+ if (yych <= 'z') goto yy177;
+ goto yy3;
+ }
+ }
+ }
+-yy1485:
++yy1487:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'G') {
+@@ -22017,18 +22216,18 @@ yy1485:
+ }
+ } else {
+ if (yych <= '`') {
+- if (yych <= 'H') goto yy1471;
++ if (yych <= 'H') goto yy1473;
+ if (yych == '_') goto yy172;
+ goto yy3;
+ } else {
+- if (yych == 'h') goto yy1486;
++ if (yych == 'h') goto yy1488;
+ if (yych <= 'z') goto yy178;
+ goto yy3;
+ }
+ }
+-yy1486:
++yy1488:
+ yych = *++YYCURSOR;
+- if (yych == 'T') goto yy1472;
++ if (yych == 'T') goto yy1474;
+ if (yych != 't') goto yy179;
+ yyaccept = 30;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -22037,13 +22236,13 @@ yy1486:
+ }
+ if (yych <= '.') {
+ if (yych == '-') goto yy172;
+- goto yy1418;
++ goto yy1420;
+ } else {
+ if (yych <= '/') goto yy172;
+ if (yych == '_') goto yy172;
+- goto yy1418;
++ goto yy1420;
+ }
+-yy1488:
++yy1490:
+ yyaccept = 5;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '9') {
+@@ -22071,7 +22270,7 @@ yy1488:
+ if (yych <= '@') goto yy218;
+ goto yy167;
+ } else {
+- if (yych <= 'C') goto yy1475;
++ if (yych <= 'C') goto yy1477;
+ if (yych <= 'Z') goto yy167;
+ goto yy218;
+ }
+@@ -22081,13 +22280,13 @@ yy1488:
+ if (yych <= '`') goto yy218;
+ goto yy175;
+ } else {
+- if (yych <= 'c') goto yy1490;
++ if (yych <= 'c') goto yy1492;
+ if (yych <= 'z') goto yy175;
+ goto yy218;
+ }
+ }
+ }
+-yy1489:
++yy1491:
+ yyaccept = 5;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '.') {
+@@ -22122,7 +22321,7 @@ yy1489:
+ }
+ }
+ }
+-yy1490:
++yy1492:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'G') {
+@@ -22152,7 +22351,7 @@ yy1490:
+ }
+ }
+ }
+-yy1491:
++yy1493:
+ yych = *++YYCURSOR;
+ if (yych <= 'W') {
+ if (yych <= 'N') {
+@@ -22160,29 +22359,29 @@ yy1491:
+ if (yych <= '@') goto yy3;
+ goto yy166;
+ } else {
+- if (yych <= 'O') goto yy1499;
++ if (yych <= 'O') goto yy1501;
+ if (yych <= 'U') goto yy166;
+- if (yych <= 'V') goto yy1500;
+- goto yy1497;
++ if (yych <= 'V') goto yy1502;
++ goto yy1499;
+ }
+ } else {
+ if (yych <= 'o') {
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '`') goto yy3;
+ if (yych <= 'n') goto yy166;
+- goto yy1499;
++ goto yy1501;
+ } else {
+ if (yych <= 'v') {
+ if (yych <= 'u') goto yy166;
+- goto yy1500;
++ goto yy1502;
+ } else {
+- if (yych <= 'w') goto yy1497;
++ if (yych <= 'w') goto yy1499;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+ }
+-yy1492:
++yy1494:
+ yych = *++YYCURSOR;
+ if (yych <= 'X') {
+ if (yych <= ')') {
+@@ -22191,7 +22390,7 @@ yy1492:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'W') goto yy166;
+- goto yy1496;
++ goto yy1498;
+ }
+ } else {
+ if (yych <= 'w') {
+@@ -22199,12 +22398,12 @@ yy1492:
+ if (yych <= '`') goto yy3;
+ goto yy166;
+ } else {
+- if (yych <= 'x') goto yy1496;
++ if (yych <= 'x') goto yy1498;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1493:
++yy1495:
+ yych = *++YYCURSOR;
+ if (yych <= 'N') {
+ if (yych <= ')') {
+@@ -22220,12 +22419,12 @@ yy1493:
+ if (yych <= '`') goto yy3;
+ goto yy166;
+ } else {
+- if (yych <= 'n') goto yy1494;
++ if (yych <= 'n') goto yy1496;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1494:
++yy1496:
+ yych = *++YYCURSOR;
+ if (yych <= 'T') {
+ if (yych <= ')') {
+@@ -22241,12 +22440,12 @@ yy1494:
+ if (yych <= '`') goto yy3;
+ goto yy167;
+ } else {
+- if (yych <= 't') goto yy1495;
++ if (yych <= 't') goto yy1497;
+ if (yych <= 'z') goto yy167;
+ goto yy3;
+ }
+ }
+-yy1495:
++yy1497:
+ yych = *++YYCURSOR;
+ if (yych <= 'H') {
+ if (yych <= ')') {
+@@ -22268,7 +22467,7 @@ yy1495:
+ goto yy3;
+ }
+ }
+-yy1496:
++yy1498:
+ yych = *++YYCURSOR;
+ if (yych <= 'T') {
+ if (yych <= ')') {
+@@ -22277,7 +22476,7 @@ yy1496:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'S') goto yy167;
+- goto yy1426;
++ goto yy1428;
+ }
+ } else {
+ if (yych <= 's') {
+@@ -22285,21 +22484,22 @@ yy1496:
+ if (yych <= '`') goto yy3;
+ goto yy167;
+ } else {
+- if (yych <= 't') goto yy1426;
++ if (yych <= 't') goto yy1428;
+ if (yych <= 'z') goto yy167;
+ goto yy3;
+ }
+ }
+-yy1497:
++yy1499:
+ ++YYCURSOR;
+ if ((yych = *YYCURSOR) <= '@') {
+ if (yych == ')') goto yy164;
+ } else {
+ if (yych <= 'Z') goto yy167;
+- if (yych <= '`') goto yy1498;
++ if (yych <= '`') goto yy1500;
+ if (yych <= 'z') goto yy167;
+ }
+-yy1498:
++yy1500:
++#line 982 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("now");
+ TIMELIB_INIT;
+@@ -22307,7 +22507,8 @@ yy1498:
+ TIMELIB_DEINIT;
+ return TIMELIB_RELATIVE;
+ }
+-yy1499:
++#line 22511 "ext/date/lib/parse_date.c"
++yy1501:
+ yych = *++YYCURSOR;
+ if (yych <= 'N') {
+ if (yych <= ')') {
+@@ -22316,7 +22517,7 @@ yy1499:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'M') goto yy167;
+- goto yy1505;
++ goto yy1507;
+ }
+ } else {
+ if (yych <= 'm') {
+@@ -22324,12 +22525,12 @@ yy1499:
+ if (yych <= '`') goto yy3;
+ goto yy167;
+ } else {
+- if (yych <= 'n') goto yy1505;
++ if (yych <= 'n') goto yy1507;
+ if (yych <= 'z') goto yy167;
+ goto yy3;
+ }
+ }
+-yy1500:
++yy1502:
+ yyaccept = 5;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '/') {
+@@ -22364,13 +22565,13 @@ yy1500:
+ if (yych <= '`') goto yy218;
+ goto yy167;
+ } else {
+- if (yych <= 'e') goto yy1501;
++ if (yych <= 'e') goto yy1503;
+ if (yych <= 'z') goto yy167;
+ goto yy218;
+ }
+ }
+ }
+-yy1501:
++yy1503:
+ yych = *++YYCURSOR;
+ if (yych <= 'M') {
+ if (yych <= ')') {
+@@ -22386,12 +22587,12 @@ yy1501:
+ if (yych <= '`') goto yy3;
+ goto yy168;
+ } else {
+- if (yych <= 'm') goto yy1502;
++ if (yych <= 'm') goto yy1504;
+ if (yych <= 'z') goto yy168;
+ goto yy3;
+ }
+ }
+-yy1502:
++yy1504:
+ yych = *++YYCURSOR;
+ if (yych <= 'B') {
+ if (yych <= ')') {
+@@ -22407,36 +22608,37 @@ yy1502:
+ if (yych <= '`') goto yy3;
+ goto yy169;
+ } else {
+- if (yych <= 'b') goto yy1503;
++ if (yych <= 'b') goto yy1505;
+ if (yych <= 'z') goto yy169;
+ goto yy3;
+ }
+ }
+-yy1503:
++yy1505:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'D') {
+ if (yych == ')') goto yy164;
+ goto yy3;
+ } else {
+- if (yych <= 'E') goto yy1504;
++ if (yych <= 'E') goto yy1506;
+ if (yych != 'e') goto yy3;
+ }
+-yy1504:
++yy1506:
+ yych = *++YYCURSOR;
+ if (yych == 'R') goto yy229;
+ if (yych == 'r') goto yy229;
+ goto yy56;
+-yy1505:
++yy1507:
+ ++YYCURSOR;
+ if ((yych = *YYCURSOR) <= '@') {
+ if (yych == ')') goto yy164;
+ } else {
+ if (yych <= 'Z') goto yy168;
+- if (yych <= '`') goto yy1506;
++ if (yych <= '`') goto yy1508;
+ if (yych <= 'z') goto yy168;
+ }
+-yy1506:
++yy1508:
++#line 991 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("noon");
+ TIMELIB_INIT;
+@@ -22447,7 +22649,8 @@ yy1506:
+ TIMELIB_DEINIT;
+ return TIMELIB_RELATIVE;
+ }
+-yy1507:
++#line 22653 "ext/date/lib/parse_date.c"
++yy1509:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'V') {
+@@ -22465,15 +22668,15 @@ yy1507:
+ if (yych <= '@') goto yy3;
+ goto yy166;
+ } else {
+- if (yych <= 'O') goto yy1499;
++ if (yych <= 'O') goto yy1501;
+ if (yych <= 'U') goto yy166;
+- goto yy1500;
++ goto yy1502;
+ }
+ }
+ } else {
+ if (yych <= 'n') {
+ if (yych <= '^') {
+- if (yych <= 'W') goto yy1497;
++ if (yych <= 'W') goto yy1499;
+ if (yych <= 'Z') goto yy166;
+ goto yy3;
+ } else {
+@@ -22483,17 +22686,17 @@ yy1507:
+ }
+ } else {
+ if (yych <= 'v') {
+- if (yych <= 'o') goto yy1514;
++ if (yych <= 'o') goto yy1516;
+ if (yych <= 'u') goto yy171;
+- goto yy1515;
++ goto yy1517;
+ } else {
+- if (yych <= 'w') goto yy1513;
++ if (yych <= 'w') goto yy1515;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1508:
++yy1510:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'W') {
+@@ -22508,7 +22711,7 @@ yy1508:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'X') goto yy1496;
++ if (yych <= 'X') goto yy1498;
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -22517,13 +22720,13 @@ yy1508:
+ if (yych <= '`') goto yy3;
+ goto yy171;
+ } else {
+- if (yych <= 'x') goto yy1512;
++ if (yych <= 'x') goto yy1514;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1509:
++yy1511:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'M') {
+@@ -22538,7 +22741,7 @@ yy1509:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'N') goto yy1494;
++ if (yych <= 'N') goto yy1496;
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -22547,13 +22750,13 @@ yy1509:
+ if (yych <= '`') goto yy3;
+ goto yy171;
+ } else {
+- if (yych <= 'n') goto yy1510;
++ if (yych <= 'n') goto yy1512;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1510:
++yy1512:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'S') {
+@@ -22568,7 +22771,7 @@ yy1510:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'T') goto yy1495;
++ if (yych <= 'T') goto yy1497;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -22577,13 +22780,13 @@ yy1510:
+ if (yych <= '`') goto yy3;
+ goto yy175;
+ } else {
+- if (yych <= 't') goto yy1511;
++ if (yych <= 't') goto yy1513;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+ }
+-yy1511:
++yy1513:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'G') {
+@@ -22613,7 +22816,7 @@ yy1511:
+ }
+ }
+ }
+-yy1512:
++yy1514:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'S') {
+@@ -22628,7 +22831,7 @@ yy1512:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'T') goto yy1426;
++ if (yych <= 'T') goto yy1428;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -22637,36 +22840,36 @@ yy1512:
+ if (yych <= '`') goto yy3;
+ goto yy175;
+ } else {
+- if (yych <= 't') goto yy1458;
++ if (yych <= 't') goto yy1460;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+ }
+-yy1513:
++yy1515:
+ yyaccept = 31;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '/') {
+ if (yych <= ',') {
+ if (yych == ')') goto yy164;
+- goto yy1498;
++ goto yy1500;
+ } else {
+- if (yych == '.') goto yy1498;
++ if (yych == '.') goto yy1500;
+ goto yy172;
+ }
+ } else {
+ if (yych <= '^') {
+- if (yych <= '@') goto yy1498;
++ if (yych <= '@') goto yy1500;
+ if (yych <= 'Z') goto yy167;
+- goto yy1498;
++ goto yy1500;
+ } else {
+ if (yych <= '_') goto yy172;
+- if (yych <= '`') goto yy1498;
++ if (yych <= '`') goto yy1500;
+ if (yych <= 'z') goto yy175;
+- goto yy1498;
++ goto yy1500;
+ }
+ }
+-yy1514:
++yy1516:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'M') {
+@@ -22681,7 +22884,7 @@ yy1514:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'N') goto yy1505;
++ if (yych <= 'N') goto yy1507;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -22690,13 +22893,13 @@ yy1514:
+ if (yych <= '`') goto yy3;
+ goto yy175;
+ } else {
+- if (yych <= 'n') goto yy1520;
++ if (yych <= 'n') goto yy1522;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+ }
+-yy1515:
++yy1517:
+ yyaccept = 5;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '9') {
+@@ -22724,7 +22927,7 @@ yy1515:
+ if (yych <= '@') goto yy218;
+ goto yy167;
+ } else {
+- if (yych <= 'E') goto yy1501;
++ if (yych <= 'E') goto yy1503;
+ if (yych <= 'Z') goto yy167;
+ goto yy218;
+ }
+@@ -22734,13 +22937,13 @@ yy1515:
+ if (yych <= '`') goto yy218;
+ goto yy175;
+ } else {
+- if (yych <= 'e') goto yy1516;
++ if (yych <= 'e') goto yy1518;
+ if (yych <= 'z') goto yy175;
+ goto yy218;
+ }
+ }
+ }
+-yy1516:
++yy1518:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'L') {
+@@ -22755,7 +22958,7 @@ yy1516:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'M') goto yy1502;
++ if (yych <= 'M') goto yy1504;
+ if (yych <= 'Z') goto yy168;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -22764,13 +22967,13 @@ yy1516:
+ if (yych <= '`') goto yy3;
+ goto yy176;
+ } else {
+- if (yych <= 'm') goto yy1517;
++ if (yych <= 'm') goto yy1519;
+ if (yych <= 'z') goto yy176;
+ goto yy3;
+ }
+ }
+ }
+-yy1517:
++yy1519:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'A') {
+@@ -22785,7 +22988,7 @@ yy1517:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'B') goto yy1503;
++ if (yych <= 'B') goto yy1505;
+ if (yych <= 'Z') goto yy169;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -22794,13 +22997,13 @@ yy1517:
+ if (yych <= '`') goto yy3;
+ goto yy177;
+ } else {
+- if (yych <= 'b') goto yy1518;
++ if (yych <= 'b') goto yy1520;
+ if (yych <= 'z') goto yy177;
+ goto yy3;
+ }
+ }
+ }
+-yy1518:
++yy1520:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'D') {
+@@ -22814,44 +23017,44 @@ yy1518:
+ }
+ } else {
+ if (yych <= '`') {
+- if (yych <= 'E') goto yy1504;
++ if (yych <= 'E') goto yy1506;
+ if (yych == '_') goto yy172;
+ goto yy3;
+ } else {
+- if (yych == 'e') goto yy1519;
++ if (yych == 'e') goto yy1521;
+ if (yych <= 'z') goto yy178;
+ goto yy3;
+ }
+ }
+-yy1519:
++yy1521:
+ yych = *++YYCURSOR;
+ if (yych == 'R') goto yy229;
+ if (yych == 'r') goto yy341;
+ goto yy179;
+-yy1520:
++yy1522:
+ yyaccept = 32;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '/') {
+ if (yych <= ',') {
+ if (yych == ')') goto yy164;
+- goto yy1506;
++ goto yy1508;
+ } else {
+- if (yych == '.') goto yy1506;
++ if (yych == '.') goto yy1508;
+ goto yy172;
+ }
+ } else {
+ if (yych <= '^') {
+- if (yych <= '@') goto yy1506;
++ if (yych <= '@') goto yy1508;
+ if (yych <= 'Z') goto yy168;
+- goto yy1506;
++ goto yy1508;
+ } else {
+ if (yych <= '_') goto yy172;
+- if (yych <= '`') goto yy1506;
++ if (yych <= '`') goto yy1508;
+ if (yych <= 'z') goto yy176;
+- goto yy1506;
++ goto yy1508;
+ }
+ }
+-yy1521:
++yy1523:
+ yych = *++YYCURSOR;
+ if (yych <= 'S') {
+ if (yych <= ')') {
+@@ -22867,12 +23070,12 @@ yy1521:
+ if (yych <= '`') goto yy3;
+ goto yy166;
+ } else {
+- if (yych <= 's') goto yy1522;
++ if (yych <= 's') goto yy1524;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1522:
++yy1524:
+ yych = *++YYCURSOR;
+ if (yych <= 'T') {
+ if (yych <= ')') {
+@@ -22888,12 +23091,12 @@ yy1522:
+ if (yych <= '`') goto yy3;
+ goto yy167;
+ } else {
+- if (yych <= 't') goto yy1523;
++ if (yych <= 't') goto yy1525;
+ if (yych <= 'z') goto yy167;
+ goto yy3;
+ }
+ }
+-yy1523:
++yy1525:
+ yych = *++YYCURSOR;
+ if (yych <= 'E') {
+ if (yych <= ')') {
+@@ -22909,12 +23112,12 @@ yy1523:
+ if (yych <= '`') goto yy3;
+ goto yy168;
+ } else {
+- if (yych <= 'e') goto yy1524;
++ if (yych <= 'e') goto yy1526;
+ if (yych <= 'z') goto yy168;
+ goto yy3;
+ }
+ }
+-yy1524:
++yy1526:
+ yych = *++YYCURSOR;
+ if (yych <= 'R') {
+ if (yych <= ')') {
+@@ -22930,32 +23133,33 @@ yy1524:
+ if (yych <= '`') goto yy3;
+ goto yy169;
+ } else {
+- if (yych <= 'r') goto yy1525;
++ if (yych <= 'r') goto yy1527;
+ if (yych <= 'z') goto yy169;
+ goto yy3;
+ }
+ }
+-yy1525:
++yy1527:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'C') {
+ if (yych == ')') goto yy164;
+ goto yy3;
+ } else {
+- if (yych <= 'D') goto yy1526;
++ if (yych <= 'D') goto yy1528;
+ if (yych != 'd') goto yy3;
+ }
+-yy1526:
++yy1528:
+ yych = *++YYCURSOR;
+- if (yych == 'A') goto yy1527;
++ if (yych == 'A') goto yy1529;
+ if (yych != 'a') goto yy56;
+-yy1527:
++yy1529:
+ yych = *++YYCURSOR;
+- if (yych == 'Y') goto yy1528;
++ if (yych == 'Y') goto yy1530;
+ if (yych != 'y') goto yy56;
+-yy1528:
++yy1530:
+ ++YYCURSOR;
+-yy1529:
++yy1531:
++#line 970 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("yesterday");
+ TIMELIB_INIT;
+@@ -22966,7 +23170,8 @@ yy1529:
+ TIMELIB_DEINIT;
+ return TIMELIB_RELATIVE;
+ }
+-yy1530:
++#line 23174 "ext/date/lib/parse_date.c"
++yy1532:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'R') {
+@@ -22981,7 +23186,7 @@ yy1530:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'S') goto yy1522;
++ if (yych <= 'S') goto yy1524;
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -22990,13 +23195,13 @@ yy1530:
+ if (yych <= '`') goto yy3;
+ goto yy171;
+ } else {
+- if (yych <= 's') goto yy1531;
++ if (yych <= 's') goto yy1533;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1531:
++yy1533:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'S') {
+@@ -23011,7 +23216,7 @@ yy1531:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'T') goto yy1523;
++ if (yych <= 'T') goto yy1525;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -23020,13 +23225,13 @@ yy1531:
+ if (yych <= '`') goto yy3;
+ goto yy175;
+ } else {
+- if (yych <= 't') goto yy1532;
++ if (yych <= 't') goto yy1534;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+ }
+-yy1532:
++yy1534:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'D') {
+@@ -23041,7 +23246,7 @@ yy1532:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'E') goto yy1524;
++ if (yych <= 'E') goto yy1526;
+ if (yych <= 'Z') goto yy168;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -23050,13 +23255,13 @@ yy1532:
+ if (yych <= '`') goto yy3;
+ goto yy176;
+ } else {
+- if (yych <= 'e') goto yy1533;
++ if (yych <= 'e') goto yy1535;
+ if (yych <= 'z') goto yy176;
+ goto yy3;
+ }
+ }
+ }
+-yy1533:
++yy1535:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'Q') {
+@@ -23071,7 +23276,7 @@ yy1533:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'R') goto yy1525;
++ if (yych <= 'R') goto yy1527;
+ if (yych <= 'Z') goto yy169;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -23080,13 +23285,13 @@ yy1533:
+ if (yych <= '`') goto yy3;
+ goto yy177;
+ } else {
+- if (yych <= 'r') goto yy1534;
++ if (yych <= 'r') goto yy1536;
+ if (yych <= 'z') goto yy177;
+ goto yy3;
+ }
+ }
+ }
+-yy1534:
++yy1536:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'C') {
+@@ -23100,21 +23305,21 @@ yy1534:
+ }
+ } else {
+ if (yych <= '`') {
+- if (yych <= 'D') goto yy1526;
++ if (yych <= 'D') goto yy1528;
+ if (yych == '_') goto yy172;
+ goto yy3;
+ } else {
+- if (yych == 'd') goto yy1535;
++ if (yych == 'd') goto yy1537;
+ if (yych <= 'z') goto yy178;
+ goto yy3;
+ }
+ }
+-yy1535:
++yy1537:
+ yych = *++YYCURSOR;
+- if (yych == 'A') goto yy1527;
++ if (yych == 'A') goto yy1529;
+ if (yych != 'a') goto yy179;
+ yych = *++YYCURSOR;
+- if (yych == 'Y') goto yy1528;
++ if (yych == 'Y') goto yy1530;
+ if (yych != 'y') goto yy179;
+ yyaccept = 33;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -23123,13 +23328,14 @@ yy1535:
+ }
+ if (yych <= '.') {
+ if (yych == '-') goto yy172;
+- goto yy1529;
++ goto yy1531;
+ } else {
+ if (yych <= '/') goto yy172;
+ if (yych == '_') goto yy172;
+- goto yy1529;
++ goto yy1531;
+ }
+ }
++#line 1772 "ext/date/lib/parse_date.re"
+
+ }
+
+diff --git a/ext/date/lib/parse_date.re b/ext/date/lib/parse_date.re
+index 74d9ea3..f26e276 100644
+--- a/ext/date/lib/parse_date.re
++++ b/ext/date/lib/parse_date.re
+@@ -931,8 +931,8 @@ isoweek = year4 "-"? "W" weekofyear;
+ exif = year4 ":" monthlz ":" daylz " " hour24lz ":" minutelz ":" secondlz;
+ firstdayof = 'first day of';
+ lastdayof = 'last day of';
+-backof = 'back of ' hour24 space? meridian?;
+-frontof = 'front of ' hour24 space? meridian?;
++backof = 'back of ' hour24 (space? meridian)?;
++frontof = 'front of ' hour24 (space? meridian)?;
+
+ /* Common Log Format: 10/Oct/2000:13:55:36 -0700 */
+ clf = day "/" monthabbr "/" year4 ":" hour24lz ":" minutelz ":" secondlz space tzcorrection;
+diff --git a/ext/date/tests/bug53437_var3.phpt b/ext/date/tests/bug53437_var3.phpt
+index 8f48b1b..8dcd4c8 100644
+--- a/ext/date/tests/bug53437_var3.phpt
++++ b/ext/date/tests/bug53437_var3.phpt
+@@ -40,7 +40,7 @@ object(DateInterval)#%d (16) {
+ ["special_amount"]=>
+ int(-1)
+ ["have_weekday_relative"]=>
+- int(9)
++ int(0)
+ ["have_special_relative"]=>
+ int(0)
+ ["f"]=>
+diff --git a/ext/wddx/tests/bug75055.phpt b/ext/wddx/tests/bug75055.phpt
+new file mode 100644
+index 0000000..2956284
+--- /dev/null
++++ b/ext/wddx/tests/bug75055.phpt
+@@ -0,0 +1,20 @@
++--TEST--
++Bug #75055 Out-Of-Bounds Read in timelib_meridian()
++--SKIPIF--
++<?php if (!extension_loaded("wddx")) print "skip"; ?>
++--FILE--
++<?php
++
++$file_str = dirname(__FILE__) . "/bug75055.wddx";
++
++$wddx_str = file_get_contents($file_str);
++print strlen($wddx_str) . " bytes read.\n";
++
++var_dump(wddx_deserialize($wddx_str));
++?>
++--EXPECT--
++323 bytes read.
++array(1) {
++ ["aDateTime"]=>
++ string(12) "frONt of 0 0"
++}
+diff --git a/ext/wddx/tests/bug75055.wddx b/ext/wddx/tests/bug75055.wddx
+new file mode 100644
+index 0000000..6493352
+--- /dev/null
++++ b/ext/wddx/tests/bug75055.wddx
+@@ -0,0 +1,13 @@
++<?xml version='1.0'?>
++<!DOCTYPE wddxPacket SYSTEM 'wddx_0100.dtd'>
++<wddxPacket version='1.0'>
++<header/>
++ <data>
++ <struct>
++ <var name='aDateTime'>
++ <dateTime>frONt of 0 0</dateTime>
++ </var>
++ </struct>
++ </data>
++</wddxPacket>
++
+--
+2.11.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.7/change-AC_TRY_RUN-to-AC_TRY_LINK.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.9/change-AC_TRY_RUN-to-AC_TRY_LINK.patch
index 39c334f39..39c334f39 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.7/change-AC_TRY_RUN-to-AC_TRY_LINK.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.9/change-AC_TRY_RUN-to-AC_TRY_LINK.patch
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 0e5502088..283d630f6 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
@@ -203,6 +203,7 @@ MODPHP_PACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', '${PN}-modphp
PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-phar ${MODPHP_PACKAGE} ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}"
+RDEPENDS_${PN} += "libgcc"
RDEPENDS_${PN}-pear = "${PN}"
RDEPENDS_${PN}-phar = "${PN}-cli"
RDEPENDS_${PN}-cli = "${PN}"
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
deleted file mode 100644
index dfce949f9..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.26.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require php.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b602636d46a61c0ac0432bbf5c078fe4"
-
-SRC_URI += "file://change-AC_TRY_RUN-to-AC_TRY_LINK.patch \
- file://pthread-check-threads-m4.patch \
- file://0001-Add-lpthread-to-link.patch \
- "
-SRC_URI[md5sum] = "cb424b705cfb715fc04f499f8a8cf52e"
-SRC_URI[sha256sum] = "d47aab8083a4284b905777e1b45dd7735adc53be827b29f896684750ac8b6236"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.31.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.31.bb
new file mode 100644
index 000000000..dd8047be2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.31.bb
@@ -0,0 +1,10 @@
+require php.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b602636d46a61c0ac0432bbf5c078fe4"
+
+SRC_URI += "file://change-AC_TRY_RUN-to-AC_TRY_LINK.patch \
+ file://pthread-check-threads-m4.patch \
+ file://0001-Add-lpthread-to-link.patch \
+ "
+SRC_URI[md5sum] = "620abe25e0d6cd5f041a360a30ce5783"
+SRC_URI[sha256sum] = "8f397169cb65f0539f3bcb04060f97770d73e19074a37bd2c58b98ebf6ecb10f"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_7.1.7.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_7.1.7.bb
deleted file mode 100644
index ebf923781..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_7.1.7.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require php.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c0af599f66d0461c5837c695fcbc5c1e"
-
-SRC_URI += "file://change-AC_TRY_RUN-to-AC_TRY_LINK.patch \
- file://0001-Specify-tag-with-libtool.patch \
- "
-SRC_URI[md5sum] = "22e11a372f99afbbbf3f46a31e8a82ca"
-SRC_URI[sha256sum] = "079b6792987f38dc485f92258c04f9e02dedd593f9d260ebe725343f812d1ff8"
-
-PACKAGECONFIG[mysql] = "--with-mysqli=${STAGING_BINDIR_CROSS}/mysql_config \
- --with-pdo-mysql=${STAGING_BINDIR_CROSS}/mysql_config \
- ,--without-mysqli --without-pdo-mysql \
- ,mysql5"
-
-FILES_${PN}-fpm += "${sysconfdir}/php-fpm.d/www.conf.default"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_7.1.9.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_7.1.9.bb
new file mode 100644
index 000000000..acf68a059
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_7.1.9.bb
@@ -0,0 +1,17 @@
+require php.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c0af599f66d0461c5837c695fcbc5c1e"
+
+SRC_URI += "file://change-AC_TRY_RUN-to-AC_TRY_LINK.patch \
+ file://0001-Specify-tag-with-libtool.patch \
+ file://CVE-2017-16642.patch \
+ "
+SRC_URI[md5sum] = "2397be54f3281cdf30c7ef076b28f7d0"
+SRC_URI[sha256sum] = "314dcc10dfdd7c4443edb4fe1e133a44f2b2a8351be8c9eb6ab9222d45fd9bae"
+
+PACKAGECONFIG[mysql] = "--with-mysqli=${STAGING_BINDIR_CROSS}/mysql_config \
+ --with-pdo-mysql=${STAGING_BINDIR_CROSS}/mysql_config \
+ ,--without-mysqli --without-pdo-mysql \
+ ,mysql5"
+
+FILES_${PN}-fpm += "${sysconfdir}/php-fpm.d/www.conf.default"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/pm-qa/pm-qa_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/pm-qa/pm-qa_git.bb
index 7322df8e7..1ee6573bd 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/pm-qa/pm-qa_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/pm-qa/pm-qa_git.bb
@@ -4,12 +4,11 @@ HOMEPAGE = "https://wiki.linaro.org/WorkingGroups/PowerManagement/Resources/Test
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-PV = "0.4.14"
+PV = "0.5.2"
BRANCH ?= "master"
-# Corresponds to tag pm-qa-v0.4.14
-SRCREV = "9111d1930f02337394cf16e84ad2a27f33607cbb"
+SRCREV = "05710ec5032be4c8edafb4109d4d908d31243906"
SRC_URI = "git://git.linaro.org/power/pm-qa.git;protocol=git;branch=${BRANCH}"
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 94fc736b5..8491fc904 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
@@ -15,6 +15,11 @@ COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
S = "${WORKDIR}/git"
+inherit update-alternatives
+
+ALTERNATIVE_PRIORITY = "90"
+ALTERNATIVE_${PN} = "acpixtract"
+
do_configure[noexec] = "1"
do_compile() {
oe_runmake
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
deleted file mode 100644
index 40fb96cf4..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.2.1.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-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-c_1.3.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.0.bb
new file mode 100644
index 000000000..fe1e6e5fa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.0.bb
@@ -0,0 +1,31 @@
+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=cb901168715f4782a2b06c3ddaefa558"
+
+PV .= "+git${SRCPV}"
+SRCREV = "dac1a65feac4ad72f612aab99f487056fbcf5c1a"
+
+SRC_URI = "git://github.com/protobuf-c/protobuf-c.git"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+FILES_${PN}-compiler = "${bindir}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.1.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.1.0.bb
deleted file mode 100644
index 18210b1e5..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.1.0.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "Protocol Buffers - structured data serialisation mechanism"
-DESCRIPTION = "Protocol Buffers are a way of encoding structured data in an \
-efficient yet extensible format. Google uses Protocol Buffers for almost \
-all of its internal RPC protocols and file formats."
-HOMEPAGE = "https://github.com/google/protobuf"
-SECTION = "console/tools"
-LICENSE = "BSD-3-Clause"
-
-PACKAGE_BEFORE_PN = "${PN}-compiler"
-
-DEPENDS = "zlib"
-RDEPENDS_${PN}-compiler = "${PN}"
-RDEPENDS_${PN}-dev += "${PN}-compiler"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=35953c752efc9299b184f91bef540095"
-
-SRCREV = "a428e42072765993ff674fda72863c9f1aa2d268"
-
-PV = "3.1.0+git${SRCPV}"
-
-SRC_URI = "git://github.com/google/protobuf.git"
-
-EXTRA_OECONF += " --with-protoc=echo"
-
-inherit autotools
-
-S = "${WORKDIR}/git"
-
-FILES_${PN}-compiler = "${bindir} ${libdir}/libprotoc${SOLIBS}"
-
-MIPS_INSTRUCTION_SET = "mips"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.4.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.4.1.bb
new file mode 100644
index 000000000..fae7c18a1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.4.1.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Protocol Buffers - structured data serialisation mechanism"
+DESCRIPTION = "Protocol Buffers are a way of encoding structured data in an \
+efficient yet extensible format. Google uses Protocol Buffers for almost \
+all of its internal RPC protocols and file formats."
+HOMEPAGE = "https://github.com/google/protobuf"
+SECTION = "console/tools"
+LICENSE = "BSD-3-Clause"
+
+PACKAGE_BEFORE_PN = "${PN}-compiler ${PN}-lite"
+
+DEPENDS = "zlib"
+RDEPENDS_${PN}-compiler = "${PN}"
+RDEPENDS_${PN}-dev += "${PN}-compiler"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=35953c752efc9299b184f91bef540095"
+
+SRCREV = "b04e5cba356212e4e8c66c61bbe0c3a20537c5b9"
+
+PV = "3.4.1+git${SRCPV}"
+
+SRC_URI = "git://github.com/google/protobuf.git;branch=3.4.x"
+
+EXTRA_OECONF += " --with-protoc=echo"
+
+inherit autotools-brokensep
+
+S = "${WORKDIR}/git"
+
+FILES_${PN}-compiler = "${bindir} ${libdir}/libprotoc${SOLIBS}"
+FILES_${PN}-lite = "${bindir} ${libdir}/libprotobuf-lite${SOLIBS}"
+
+MIPS_INSTRUCTION_SET = "mips"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.0.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.0.5.bb
index 3eb18829f..c85fc56b8 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.0.5.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.0.5.bb
@@ -12,3 +12,5 @@ SRC_URI[sha256sum] = "0542525145d5afc984c88f914a0c85c77527f65946617edb5274f72406
S = "${WORKDIR}/futures-${PV}"
inherit setuptools
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.22.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.22.0.bb
index acc2f5b7a..9d2e16554 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.22.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.22.0.bb
@@ -1,4 +1,5 @@
SUMMARY = "Python GObject bindings"
+HOMEPAGE = "http://www.pygtk.org/"
SECTION = "devel/python"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb
index 4cded0720..8ab35d224 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb
@@ -21,5 +21,6 @@ EXTRA_OECMAKE += "-DRAPIDJSON_BUILD_DOC=OFF -DRAPIDJSON_BUILD_TESTS=OFF -DRAPIDJ
# RapidJSON is a header-only C++ library, so the main package will be empty.
FILES_${PN}-dev += "${libdir}/cmake"
+RDEPENDS_${PN}-dev = ""
BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.8.bb
new file mode 100644
index 000000000..82b179521
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.8.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Trace and analyze execution of a program written in C/C++"
+HOMEPAGE = "https://github.com/namhyung/uftrace"
+BUGTRACKER = "https://github.com/namhyung/uftrace/issues"
+SECTION = "devel"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "elfutils"
+DEPENDS_append_libc-musl = " argp-standalone"
+
+inherit autotools
+
+SRCREV = "5af9ff9fa89c340617e52c8ed05798b352a7145c"
+SRC_URI = "git://github.com/namhyung/${BPN}"
+S = "${WORKDIR}/git"
+
+LDFLAGS_append_libc-musl = " -largp"
+EXTRA_OECONF = "ARCH=${TARGET_ARCH}"
+
+do_configure() {
+ ${S}/configure ${EXTRA_OECONF}
+}
+
+FILES_SOLIBSDEV = ""
+FILES_${PN} += "${libdir}/*.so"
+
+COMPATIBLE_HOST = "(x86_64|aarch64|arm)"
+
+# uftrace supports armv6 and above
+COMPATIBLE_HOST_armv4 = 'null'
+COMPATIBLE_HOST_armv5 = 'null'
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 0849e8856..91003f6e9 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
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a6a4ddbb7cd2999f6827ee143f6fcd97"
DEPENDS = "openssl"
-SRC_URI = "ftp://ftp.cac.washington.edu/imap/imap-${PV}.tar.gz \
+SRC_URI = "https://fossies.org/linux/misc/old/imap-${PV}.tar.gz \
file://quote_cctype.patch \
file://imap-2007e-shared.patch \
file://imap-2007f-format-security.patch \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc b/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc
deleted file mode 100644
index f7d480f17..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc
+++ /dev/null
@@ -1,16 +0,0 @@
-DESCRIPTION = "Vala DBus Binding Tool"
-SECTION = "devel"
-DEPENDS = "vala libgee libxml2"
-HOMEPAGE = "http://wiki.freesmartphone.org/index.php/Implementations/vala-dbus-binding-tool"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-PE = "1"
-INC_PR = "r3"
-
-export XDG_DATA_DIRS = "${STAGING_DATADIR}"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/freesmartphone/sources/${BP}.tar.bz2"
-
-inherit autotools perlnative pkgconfig
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool/0001-configure.ac-don-t-use-dash-in-m4-macro-names.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool/0001-configure.ac-don-t-use-dash-in-m4-macro-names.patch
deleted file mode 100644
index 14d84ae8a..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool/0001-configure.ac-don-t-use-dash-in-m4-macro-names.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 8abed2e5bf8e7815b11df6d22042d5f0ac8efcb0 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Tue, 5 May 2015 13:43:35 +0200
-Subject: [PATCH] configure.ac: don't use dash in m4 macro names
-
-* otherwise it doesn't get expanded and vala-dbus-binding-tool ends with version 'vala-dbus-binding-tool_version'
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- configure.ac | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 48f007c..18d0bde 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1,9 +1,9 @@
--m4_define([vala-dbus-binding-tool_released], [0])
--m4_define([vala-dbus-binding-tool_base_version], [1.0])
--m4_define([vala-dbus-binding-tool_maybe_gitrev], m4_if(vala-dbus-binding-tool_released, [1], [], [m4_esyscmd([git show-ref --hash=5 HEAD | tr -d '\n\r'])]))
--m4_define([vala-dbus-binding-tool_version], m4_if(vala-dbus-binding-tool_released, [1], [vala-dbus-binding-tool_base_version], [vala-dbus-binding-tool_base_version-vala-dbus-binding-tool_maybe_gitrev]))
-+m4_define([vala_dbus_binding_tool_released], [0])
-+m4_define([vala_dbus_binding_tool_base_version], [1.0])
-+m4_define([vala_dbus_binding_tool_maybe_gitrev], m4_if(vala_dbus_binding_tool_released, [1], [], [m4_esyscmd([git show-ref --hash=5 HEAD | tr -d '\n\r'])]))
-+m4_define([vala_dbus_binding_tool_version], m4_if(vala_dbus_binding_tool_released, [1], [vala_dbus_binding_tool_base_version], [vala_dbus_binding_tool_base_version-vala_dbus_binding_tool_maybe_gitrev]))
-
--AC_INIT([vala-dbus-binding-tool], [vala-dbus-binding-tool_version], [fso@openphoenux.org], [vala-dbus-binding-tool])
-+AC_INIT([vala-dbus-binding-tool], [vala_dbus_binding_tool_version], [fso@openphoenux.org], [vala-dbus-binding-tool])
- AC_CONFIG_SRCDIR([src/Makefile.am])
- AC_CONFIG_HEADERS(config.h)
- AM_INIT_AUTOMAKE([dist-bzip2])
---
-2.3.5
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_0.4.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_0.4.0.bb
deleted file mode 100644
index 19e3dceca..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_0.4.0.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require vala-dbus-binding-tool.inc
-
-SRC_URI[md5sum] = "59eab7abf38f35355d3786803bd2441f"
-SRC_URI[sha256sum] = "1e37ab2e6238eaef9f573560ea7379e6955570f7c9503083e50c4c185c1956df"
-
-PNBLACKLIST[vala-dbus-binding-tool] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/131628/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_git.bb
deleted file mode 100644
index 32f34550d..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_git.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-require vala-dbus-binding-tool.inc
-
-# Temporary remove negative preference, because there are 2 versions of 0.4.0 archives:
-# the original one depending on libgee1.0 from
-# http://downloads.freesmartphone.org/sources/${BPN}/${BP}.tar.bz2
-# and new one depending on libgee0.8 from
-# http://sourceforge.net/projects/freesmartphone/files/sources/
-# The original one can be already deployed on various premirrors,
-# so prefer the git recipe which doesn't suffer from this issue
-# DEFAULT_PREFERENCE = "-1"
-
-SRCREV = "742c04c2bb0743891904522ce47e50f9e5c99b12"
-PV = "0.4.0+gitr${SRCPV}"
-
-SRC_URI = "git://github.com/freesmartphone/vala-dbus-binding-tool.git;protocol=https \
- file://0001-configure.ac-don-t-use-dash-in-m4-macro-names.patch \
-"
-S = "${WORKDIR}/git"
-
-PNBLACKLIST[vala-dbus-binding-tool] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130581/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch
new file mode 100644
index 000000000..234d696f1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch
@@ -0,0 +1,52 @@
+From 950b27f8320b841490cafcb3e6e3b818c7174c0d Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 20 Jul 2017 22:32:50 -0400
+Subject: [PATCH] fix compile failure against musl C library
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ test/cpp/server_abyss.cpp | 2 +-
+ tools/xmlrpc_pstream/xmlrpc_pstream.cpp | 10 +++++++---
+ 2 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/test/cpp/server_abyss.cpp b/test/cpp/server_abyss.cpp
+index 2458a8f..82f91da 100644
+--- a/test/cpp/server_abyss.cpp
++++ b/test/cpp/server_abyss.cpp
+@@ -18,7 +18,7 @@
+ #ifdef WIN32
+ #include <winsock2.h>
+ #else
+- #include <sys/unistd.h>
++ #include <unistd.h>
+ #include <sys/socket.h>
+ #include <arpa/inet.h>
+ #include <netinet/in.h>
+diff --git a/tools/xmlrpc_pstream/xmlrpc_pstream.cpp b/tools/xmlrpc_pstream/xmlrpc_pstream.cpp
+index d39e105..1fd8900 100644
+--- a/tools/xmlrpc_pstream/xmlrpc_pstream.cpp
++++ b/tools/xmlrpc_pstream/xmlrpc_pstream.cpp
+@@ -15,11 +15,15 @@
+ #include "xmlrpc-c/girerr.hpp"
+ using girerr::throwf;
+
+-#include <features.h> // for __BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+-__BEGIN_DECLS
+ #include "dumpvalue.h" /* An internal Xmlrpc-c header file ! */
+-__END_DECLS
++
++#ifdef __cplusplus
++}
++#endif
+
+
+ #include <xmlrpc-c/base.hpp>
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0002-fix-formatting-issues.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0002-fix-formatting-issues.patch
new file mode 100644
index 000000000..9d92e4712
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0002-fix-formatting-issues.patch
@@ -0,0 +1,34 @@
+From 14f15cb0f03defa8efb4c8e2fece58e50655be6b Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Sun, 23 Jul 2017 22:20:29 -0400
+Subject: [PATCH] src/xmlrpc_server_abyss.c: fix formatting issues
+
+Fixed when compile with "-Wformat -Wformat-security -Werror=format-security":
+|src/xmlrpc_server_abyss.c:771:13: error: format not a string literal
+and no format arguments [-Werror=format-security]
+| xmlrpc_faultf(envP, error);
+| ^~~~~~~~~~~~~
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ src/xmlrpc_server_abyss.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/xmlrpc_server_abyss.c b/src/xmlrpc_server_abyss.c
+index 2388652..3843f10 100644
+--- a/src/xmlrpc_server_abyss.c
++++ b/src/xmlrpc_server_abyss.c
+@@ -768,7 +768,7 @@ createServer(xmlrpc_env * const envP,
+ ServerInit2(abyssServerP, &error);
+
+ if (error) {
+- xmlrpc_faultf(envP, error);
++ xmlrpc_faultf(envP, "%s", error);
+ xmlrpc_strfree(error);
+ }
+ }
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb
new file mode 100644
index 000000000..efa58f198
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb
@@ -0,0 +1,24 @@
+DESCRIPTION = "XML-RPC for C/C++ is programming libraries and related tools to help you \
+write an XML-RPC server or client in C or C++."
+
+HOMEPAGE = "http://xmlrpc-c.sourceforge.net/"
+LICENSE = "BSD & MIT"
+LIC_FILES_CHKSUM = "file://doc/COPYING;md5=aefbf81ba0750f02176b6f86752ea951"
+
+SRC_URI = "git://github.com/ensc/xmlrpc-c.git;branch=master \
+ file://0001-fix-compile-failure-against-musl-C-library.patch \
+ file://0002-fix-formatting-issues.patch \
+"
+SRCREV = "81443a9dc234cc275449dbc17867ad77ae189124"
+S = "${WORKDIR}/git"
+
+DEPENDS = "curl libxml2"
+RDEPENDS_${PN} = "curl perl"
+
+inherit cmake
+
+EXTRA_OECMAKE = "-D_lib:STRING=${baselib}"
+
+BBCLASSEXTEND = "native"
+
+TARGET_CFLAGS += "-Wno-narrowing"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb
index ac5f7559b..99b43fa3f 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb
@@ -39,7 +39,9 @@ SRC_URI = "https://github.com/BOINC/boinc/archive/client_release/7.6/${PV}.tar.g
SRC_URI[md5sum] = "437b4b98e384b4bda4ef7056e68166ac"
SRC_URI[sha256sum] = "c4b1c29b9655013e0ac61dddf47ad7f30f38c46159f02a9d9dc8ab854e99aa6d"
-inherit gettext autotools-brokensep pkgconfig
+inherit gettext autotools-brokensep pkgconfig distro_features_check
+
+REQUIRED_DISTRO_FEATURES += "opengl"
S = "${WORKDIR}/${BPN}_release-7.6-${PV}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/byacc/byacc.inc b/import-layers/meta-openembedded/meta-oe/recipes-extended/byacc/byacc.inc
new file mode 100644
index 000000000..9bdafd244
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/byacc/byacc.inc
@@ -0,0 +1,23 @@
+SUMMARY = "Berkeley LALR Yacc parser generator"
+HOMEPAGE = "http://invisible-island.net/byacc/"
+DESCRIPTION = "A parser generator utility that reads a grammar specification from a file and generates an LR(1) \
+parser for it. The parsers consist of a set of LALR(1) parsing tables and a driver routine written in the C \
+programming language."
+SECTION = "devel"
+LICENSE = "PD"
+
+SRC_URI = "ftp://invisible-island.net/byacc/byacc-${PV}.tgz \
+ file://byacc-open.patch \
+ file://0001-byacc-do-not-reorder-CC-and-CFLAGS.patch"
+
+EXTRA_OECONF += "--program-transform-name='s,^,b,'"
+
+BBCLASSEXTEND = "native"
+
+inherit autotools
+
+do_configure() {
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
+ oe_runconf
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch
new file mode 100644
index 000000000..7cd2510c8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch
@@ -0,0 +1,161 @@
+Subject: byacc: do not reorder $CC and $CFLAGS
+
+byacc tries to process $CC and decide which part should belong to CC and which
+part should below to CFLAGS and then do reordering. It doesn't make much sense
+for OE. And it doesn't do its work correctly. Some options are dropped.
+
+Delete all these stuff so that we could have all options we need.
+
+Upstream-Status: Inappropriate [OE Specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ aclocal.m4 | 1 -
+ configure | 119 -------------------------------------------------------------
+ 2 files changed, 120 deletions(-)
+
+diff --git a/aclocal.m4 b/aclocal.m4
+index 917a848..62ef241 100644
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -1021,7 +1021,6 @@ CF_GCC_VERSION
+ CF_ACVERSION_CHECK(2.52,
+ [AC_PROG_CC_STDC],
+ [CF_ANSI_CC_REQD])
+-CF_CC_ENV_FLAGS
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+ dnl CF_PROG_GROFF version: 2 updated: 2015/07/04 11:16:27
+diff --git a/configure b/configure
+index 9707e50..4f0497c 100755
+--- a/configure
++++ b/configure
+@@ -1946,125 +1946,6 @@ esac
+ # This should have been defined by AC_PROG_CC
+ : ${CC:=cc}
+
+-echo "$as_me:1949: checking \$CC variable" >&5
+-echo $ECHO_N "checking \$CC variable... $ECHO_C" >&6
+-case "$CC" in
+-(*[\ \ ]-*)
+- echo "$as_me:1953: result: broken" >&5
+-echo "${ECHO_T}broken" >&6
+- { echo "$as_me:1955: WARNING: your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options" >&5
+-echo "$as_me: WARNING: your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options" >&2;}
+- # humor him...
+- cf_flags=`echo "$CC" | sed -e 's/^.*[ ]\(-[^ ]\)/\1/'`
+- CC=`echo "$CC " | sed -e 's/[ ]-[^ ].*$//' -e 's/[ ]*$//'`
+- for cf_arg in $cf_flags
+- do
+- case "x$cf_arg" in
+- (x-[IUDfgOW]*)
+-
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
+-
+-for cf_add_cflags in $cf_flags
+-do
+-case $cf_fix_cppflags in
+-(no)
+- case $cf_add_cflags in
+- (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C)
+- case $cf_add_cflags in
+- (-D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+-
+- test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
+-
+- if test $cf_fix_cppflags = yes ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- fi
+- ;;
+- esac
+- case "$CPPFLAGS" in
+- (*$cf_add_cflags)
+- ;;
+- (*)
+- case $cf_add_cflags in
+- (-D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+-
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
+-
+- ;;
+- esac
+- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+- (*)
+- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+-(yes)
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+-
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+-
+- test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
+-done
+-
+-if test -n "$cf_new_cflags" ; then
+-
+- CFLAGS="$CFLAGS $cf_new_cflags"
+-fi
+-
+-if test -n "$cf_new_cppflags" ; then
+-
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
+-fi
+-
+-if test -n "$cf_new_extra_cppflags" ; then
+-
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+-fi
+-
+- ;;
+- (*)
+- CC="$CC $cf_arg"
+- ;;
+- esac
+- done
+- test -n "$verbose" && echo " resulting CC: '$CC'" 1>&6
+-
+-echo "${as_me:-configure}:2051: testing resulting CC: '$CC' ..." 1>&5
+-
+- test -n "$verbose" && echo " resulting CFLAGS: '$CFLAGS'" 1>&6
+-
+-echo "${as_me:-configure}:2055: testing resulting CFLAGS: '$CFLAGS' ..." 1>&5
+-
+- test -n "$verbose" && echo " resulting CPPFLAGS: '$CPPFLAGS'" 1>&6
+-
+-echo "${as_me:-configure}:2059: testing resulting CPPFLAGS: '$CPPFLAGS' ..." 1>&5
+-
+- ;;
+-(*)
+- echo "$as_me:2063: result: ok" >&5
+-echo "${ECHO_T}ok" >&6
+- ;;
+-esac
+-
+ echo "$as_me:2068: checking whether ${MAKE-make} sets \${MAKE}" >&5
+ echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6
+ set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
+--
+2.8.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/byacc-open.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/byacc-open.patch
new file mode 100644
index 000000000..005831130
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/byacc-open.patch
@@ -0,0 +1,25 @@
+Ubuntu defaults to passing _FORTIFY_SOURCE=2 which breaks byacc as it doesn't
+pass enough arguments to open():
+
+ inlined from 'open_tmpfile' at byacc-20150711/main.c:588:5:
+ /usr/include/x86_64-linux-gnu/bits/fcntl2.h:50:24: error: call to '__open_missing_mode' declared with attribute error:
+ open with O_CREAT in second argument needs 3 arguments
+
+Add a mode of 0666 to fix this.
+
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+diff --git a/main.c b/main.c
+index 620ce3f..82071a4 100644
+--- a/main.c
++++ b/main.c
+@@ -526,7 +526,7 @@ my_mkstemp(char *temp)
+ }
+ if ((name = tempnam(dname, fname)) != 0)
+ {
+- fd = open(name, O_CREAT | O_EXCL | O_RDWR);
++ fd = open(name, O_CREAT | O_EXCL | O_RDWR, 0666);
+ strcpy(temp, name);
+ }
+ else
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20170201.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20170201.bb
new file mode 100644
index 000000000..702c4c99e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20170201.bb
@@ -0,0 +1,12 @@
+# Sigh. This is one of those places where everyone licenses it differently. Someone
+# even apply UCB to it (Free/Net/OpenBSD). The maintainer states that:
+# "I've found no reliable source which states that byacc must bear a UCB copyright."
+# Setting to PD as this is what the upstream has it as.
+
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://package/debian/copyright;md5=9176bfb16dab43ebcb8e50d9ee9550b6"
+require byacc.inc
+
+SRC_URI[md5sum] = "4bb274bbd7b648d4251c2b9ca36ed0c9"
+SRC_URI[sha256sum] = "90b768d177f91204e6e7cef226ae1dc7cac831b625774cebd3e233a917754f91"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-configure-Check-for-Wno-error-format-truncation-comp.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-configure-Check-for-Wno-error-format-truncation-comp.patch
index 70b0983e4..5069a639c 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-configure-Check-for-Wno-error-format-truncation-comp.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-configure-Check-for-Wno-error-format-truncation-comp.patch
@@ -1,14 +1,18 @@
-From 14d469bc82c758116aef7d549abd49c131b4170f Mon Sep 17 00:00:00 2001
+From b459c55e4968321e5a82272cb39aa69d4054990f Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 22 Apr 2017 11:54:57 -0700
Subject: [PATCH] configure: Check for -Wno-error=format-truncation compiler
option
If this option is supported by compiler then disable it ( gcc7+)
+Use -Werror to elevate the warning to an error in case compiler like clang
+which warn about unknown options but not error out unless asked for
+
Fixes
client.c:834:23: error: '%s' directive output may be truncated writing up to 1023 bytes into a region of size 1010 [-Werror=format-truncation=]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
---
configure.ac | 3 +-
m4/ax_check_compile_flag.m4 | 74 +++++++++++++++++++++++++++++++++++++++++++++
@@ -16,7 +20,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
create mode 100644 m4/ax_check_compile_flag.m4
diff --git a/configure.ac b/configure.ac
-index 8854542..f3a6b57 100644
+index 8854542..edb8cfb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,7 +4,6 @@ AC_INIT([collectd],[m4_esyscmd(./version-gen.sh)])
@@ -31,7 +35,7 @@ index 8854542..f3a6b57 100644
AM_CFLAGS="$AM_CFLAGS -Werror"
AM_CXXFLAGS="$AM_CXXFLAGS -Werror"
fi
-+AX_CHECK_COMPILE_FLAG([-Werror=format-truncation],[AM_CFLAGS="$AM_CFLAGS -Wno-error=format-truncation" AM_CXXFLAGS="$AM_CXXFLAGS -Wno-error=format-truncation"])
++AX_CHECK_COMPILE_FLAG([-Werror -Werror=format-truncation],[AM_CFLAGS="$AM_CFLAGS -Wno-error=format-truncation" AM_CXXFLAGS="$AM_CXXFLAGS -Wno-error=format-truncation"])
+
AC_SUBST([AM_CFLAGS])
AC_SUBST([AM_CXXFLAGS])
@@ -117,5 +121,5 @@ index 0000000..dcabb92
+AS_VAR_POPDEF([CACHEVAR])dnl
+])dnl AX_CHECK_COMPILE_FLAGS
--
-2.12.2
+2.13.4
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.7.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.7.1.bb
deleted file mode 100644
index b7789c7ca..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.7.1.bb
+++ /dev/null
@@ -1,86 +0,0 @@
-SUMMARY = "Collects and summarises system performance statistics"
-DESCRIPTION = "collectd is a daemon which collects system performance statistics periodically and provides mechanisms to store the values in a variety of ways, for example in RRD files."
-LICENSE = "GPLv2 & MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1bd21f19f7f0c61a7be8ecacb0e28854"
-
-DEPENDS = "rrdtool curl libpcap libxml2 yajl libgcrypt libtool lvm2"
-
-SRC_URI = "http://collectd.org/files/collectd-${PV}.tar.bz2 \
- file://collectd.init \
- file://collectd.service \
- file://no-gcrypt-badpath.patch \
- file://0001-conditionally-check-libvirt.patch \
- file://0001-fix-to-build-with-glibc-2.25.patch \
- file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch \
-"
-SRC_URI[md5sum] = "dc36141ed3058c4919bbd54b87c07873"
-SRC_URI[sha256sum] = "7edd3643c0842215553b2421d5456f4e9a8a58b07e216b40a7e8e91026d8e501"
-
-inherit autotools pythonnative update-rc.d pkgconfig systemd
-
-SYSTEMD_SERVICE_${PN} = "collectd.service"
-
-# Floatingpoint layout, architecture dependent
-# 'nothing', 'endianflip' or 'intswap'
-FPLAYOUT ?= "--with-fp-layout=nothing"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[openjdk] = "--with-java=${STAGING_DIR_TARGET}${libdir}/jvm,--without-java,openjdk-7"
-PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp --with-libnetsnmp=no,net-snmp"
-PACKAGECONFIG[libmemcached] = "--with-libmemcached,--without-libmemcached,libmemcached"
-PACKAGECONFIG[iptables] = "--enable-iptables,--disable-iptables,iptables"
-PACKAGECONFIG[postgresql] = "--enable-postgresql --with-libpq=yes, \
- --disable-postgresql --with-libpq=no,postgresql"
-PACKAGECONFIG[mysql] = "--enable-mysql --with-libmysql=yes, \
- --disable-mysql --with-libmysql=no,mysql5"
-PACKAGECONFIG[dbi] = "--enable-dbi,--disable-dbi,libdbi"
-PACKAGECONFIG[modbus] = "--enable-modbus,--disable-modbus,libmodbus"
-PACKAGECONFIG[libowcapi] = "--with-libowcapi,--without-libowcapi,owfs"
-PACKAGECONFIG[sensors] = "--enable-sensors --with-libsensors=yes, \
- --disable-sensors --with-libsensors=no,lmsensors"
-PACKAGECONFIG[amqp] = "--enable-amqp --with-librabbitmq=yes, \
- --disable-amqp --with-librabbitmq=no,rabbitmq-c"
-# protobuf-c, libvirt that are currently only available in meta-virtualization layer
-PACKAGECONFIG[pinba] = "--enable-pinba,--disable-pinba,protobuf-c-native protobuf-c"
-PACKAGECONFIG[libvirt] = "--enable-libvirt,--disable-libvirt,libvirt"
-PACKAGECONFIG[libesmtp] = "--with-libesmtp,--without-libesmtp,libesmtp"
-PACKAGECONFIG[libmnl] = "--with-libmnl,--without-libmnl,libmnl"
-PACKAGECONFIG[libatasmart] = "--with-libatasmart,--without-libatasmart,libatasmart"
-PACKAGECONFIG[ldap] = "--enable-openldap --with-libldap,--disable-openldap --without-libldap, openldap"
-
-EXTRA_OECONF = " \
- ${FPLAYOUT} \
- --disable-perl --with-libperl=no --with-perl-bindings=no \
- --with-libgcrypt=${STAGING_BINDIR_CROSS}/libgcrypt-config \
- --disable-notify_desktop \
-"
-
-do_install_append() {
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/collectd.init ${D}${sysconfdir}/init.d/collectd
- sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/collectd
- sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/collectd
- sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/collectd
- sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/collectd
-
- # Fix configuration file to allow collectd to start up
- sed -i 's!^#FQDNLookup[ \t]*true!FQDNLookup false!g' ${D}${sysconfdir}/collectd.conf
-
- rmdir "${D}${localstatedir}/run"
- rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
-
- # Install systemd unit files
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/collectd.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@SBINDIR@,${sbindir},g' \
- ${D}${systemd_unitdir}/system/collectd.service
-}
-
-CONFFILES_${PN} = "${sysconfdir}/collectd.conf"
-
-INITSCRIPT_NAME = "collectd"
-INITSCRIPT_PARAMS = "defaults"
-
-# threshold.so load.so are also provided by gegl
-# disk.so is also provided by libgphoto2-camlibs
-PRIVATE_LIBS = "threshold.so load.so disk.so"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.7.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.7.2.bb
new file mode 100644
index 000000000..c156ea19c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.7.2.bb
@@ -0,0 +1,86 @@
+SUMMARY = "Collects and summarises system performance statistics"
+DESCRIPTION = "collectd is a daemon which collects system performance statistics periodically and provides mechanisms to store the values in a variety of ways, for example in RRD files."
+LICENSE = "GPLv2 & MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1bd21f19f7f0c61a7be8ecacb0e28854"
+
+DEPENDS = "rrdtool curl libpcap libxml2 yajl libgcrypt libtool lvm2"
+
+SRC_URI = "http://collectd.org/files/collectd-${PV}.tar.bz2 \
+ file://collectd.init \
+ file://collectd.service \
+ file://no-gcrypt-badpath.patch \
+ file://0001-conditionally-check-libvirt.patch \
+ file://0001-fix-to-build-with-glibc-2.25.patch \
+ file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch \
+"
+SRC_URI[md5sum] = "5da2b69c286a064db35c6cc1e758b039"
+SRC_URI[sha256sum] = "9d20a0221569a8d6b80bbc52b86e5e84965f5bafdbf5dfc3790e0fed0763e592"
+
+inherit autotools pythonnative update-rc.d pkgconfig systemd
+
+SYSTEMD_SERVICE_${PN} = "collectd.service"
+
+# Floatingpoint layout, architecture dependent
+# 'nothing', 'endianflip' or 'intswap'
+FPLAYOUT ?= "--with-fp-layout=nothing"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[openjdk] = "--with-java=${STAGING_DIR_TARGET}${libdir}/jvm,--without-java,openjdk-7"
+PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp --with-libnetsnmp=no,net-snmp"
+PACKAGECONFIG[libmemcached] = "--with-libmemcached,--without-libmemcached,libmemcached"
+PACKAGECONFIG[iptables] = "--enable-iptables,--disable-iptables,iptables"
+PACKAGECONFIG[postgresql] = "--enable-postgresql --with-libpq=yes, \
+ --disable-postgresql --with-libpq=no,postgresql"
+PACKAGECONFIG[mysql] = "--enable-mysql --with-libmysql=yes, \
+ --disable-mysql --with-libmysql=no,mysql5"
+PACKAGECONFIG[dbi] = "--enable-dbi,--disable-dbi,libdbi"
+PACKAGECONFIG[modbus] = "--enable-modbus,--disable-modbus,libmodbus"
+PACKAGECONFIG[libowcapi] = "--with-libowcapi,--without-libowcapi,owfs"
+PACKAGECONFIG[sensors] = "--enable-sensors --with-libsensors=yes, \
+ --disable-sensors --with-libsensors=no,lmsensors"
+PACKAGECONFIG[amqp] = "--enable-amqp --with-librabbitmq=yes, \
+ --disable-amqp --with-librabbitmq=no,rabbitmq-c"
+# protobuf-c, libvirt that are currently only available in meta-virtualization layer
+PACKAGECONFIG[pinba] = "--enable-pinba,--disable-pinba,protobuf-c-native protobuf-c"
+PACKAGECONFIG[libvirt] = "--enable-libvirt,--disable-libvirt,libvirt"
+PACKAGECONFIG[libesmtp] = "--with-libesmtp,--without-libesmtp,libesmtp"
+PACKAGECONFIG[libmnl] = "--with-libmnl,--without-libmnl,libmnl"
+PACKAGECONFIG[libatasmart] = "--with-libatasmart,--without-libatasmart,libatasmart"
+PACKAGECONFIG[ldap] = "--enable-openldap --with-libldap,--disable-openldap --without-libldap, openldap"
+
+EXTRA_OECONF = " \
+ ${FPLAYOUT} \
+ --disable-perl --with-libperl=no --with-perl-bindings=no \
+ --with-libgcrypt=${STAGING_BINDIR_CROSS}/libgcrypt-config \
+ --disable-notify_desktop \
+"
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/collectd.init ${D}${sysconfdir}/init.d/collectd
+ sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/collectd
+ sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/collectd
+ sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/collectd
+ sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/collectd
+
+ # Fix configuration file to allow collectd to start up
+ sed -i 's!^#FQDNLookup[ \t]*true!FQDNLookup false!g' ${D}${sysconfdir}/collectd.conf
+
+ rmdir "${D}${localstatedir}/run"
+ rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
+
+ # Install systemd unit files
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/collectd.service ${D}${systemd_unitdir}/system
+ sed -i -e 's,@SBINDIR@,${sbindir},g' \
+ ${D}${systemd_unitdir}/system/collectd.service
+}
+
+CONFFILES_${PN} = "${sysconfdir}/collectd.conf"
+
+INITSCRIPT_NAME = "collectd"
+INITSCRIPT_PARAMS = "defaults"
+
+# threshold.so load.so are also provided by gegl
+# disk.so is also provided by libgphoto2-camlibs
+PRIVATE_LIBS = "threshold.so load.so disk.so"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/corosync/corosync_2.4.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/corosync/corosync_2.4.2.bb
deleted file mode 100644
index c4af00650..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/corosync/corosync_2.4.2.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 \
- file://0001-Include-fcntl.h-for-F_-and-O_-defines.patch \
- "
-SRC_URI[md5sum] = "547fa78704da53aa35912be58d31035f"
-SRC_URI[sha256sum] = "f26e3011309fe4bcce94b1dc20ea8c462f19483a73f3ca62f13b925d011a4ba9"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a85eb4ce24033adb6088dd1d6ffc5e5d"
-
-DEPENDS = "groff-native nss libqb"
-
-SYSTEMD_SERVICE_${PN} = "corosync.service corosync-notifyd.service"
-SYSTEMD_AUTO_ENABLE = "enable"
-
-INITSCRIPT_NAME = "corosync-daemon"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-
-PACKAGECONFIG[systemd] = "--enable-systemd --with-systemddir=${systemd_system_unitdir},--disable-systemd --without-systemddir,systemd"
-
-EXTRA_OECONF = "ac_cv_path_BASHPATH=${base_bindir}/bash"
-EXTRA_OEMAKE = "tmpfilesdir_DATA="
-
-do_configure_prepend() {
- ( cd ${S}
- ${S}/autogen.sh )
-}
-
-do_install_append() {
- install -d ${D}${sysconfdir}/sysconfig/
- install -m 0644 ${S}/init/corosync.sysconfig.example ${D}${sysconfdir}/sysconfig/corosync
- install -m 0644 ${S}/tools/corosync-notifyd.sysconfig.example ${D}${sysconfdir}/sysconfig/corosync-notifyd
-
- rm -rf "${D}${localstatedir}/run"
-
- install -d ${D}${sysconfdir}/default/volatiles
- echo "d root root 0755 ${localstatedir}/log/cluster none" > ${D}${sysconfdir}/default/volatiles/05_corosync
-
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}${sysconfdir}/tmpfiles.d
- echo "d ${localstatedir}/log/cluster - - - -" > ${D}${sysconfdir}/tmpfiles.d/corosync.conf
- fi
-}
-
-RDEPENDS_${PN} += "bash"
-
-FILES_${PN}-dbg += "${libexecdir}/lcrso/.debug"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20160828.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20160828.bb
index bff3d97d2..85dede177 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20160828.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20160828.bb
@@ -8,7 +8,7 @@ DEPENDS = "ncurses"
LICENSE = "LGPL-2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
-SRC_URI = "ftp://invisible-island.net/dialog/dialog-${PV}.tgz \
+SRC_URI = "ftp://ftp.invisible-island.net/${BPN}/${BP}.tgz \
"
SRC_URI[md5sum] = "a39ec183517bc1feaff017d067300b8c"
SRC_URI[sha256sum] = "453095abaec288bfbc1ca9faced917e17742cff1ea45ec46210071ac153562f9"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/efibootmgr/efibootmgr/0001-Remove-extra-const-keywords-gcc-7-gripes-about.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/efibootmgr/efibootmgr/0001-Remove-extra-const-keywords-gcc-7-gripes-about.patch
deleted file mode 100644
index b6211c28a..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/efibootmgr/efibootmgr/0001-Remove-extra-const-keywords-gcc-7-gripes-about.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From a9f8d414972b0b7c963d7efe38b5cfdcb6413c46 Mon Sep 17 00:00:00 2001
-From: Peter Jones <pjones@redhat.com>
-Date: Mon, 6 Feb 2017 16:34:54 -0500
-Subject: [PATCH] Remove extra const keywords gcc 7 gripes about.
-
-Signed-off-by: Peter Jones <pjones@redhat.com>
----
- src/efibootdump.c | 2 +-
- src/efibootmgr.c | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/efibootdump.c b/src/efibootdump.c
-index 3e448c2..5a9b681 100644
---- a/src/efibootdump.c
-+++ b/src/efibootdump.c
-@@ -36,7 +36,7 @@ print_boot_entry(efi_load_option *loadopt, size_t data_size)
- uint8_t *optional_data = NULL;
- size_t optional_data_len = 0;
- uint16_t pathlen;
-- const unsigned char const *desc;
-+ const unsigned char *desc;
- char *raw;
- size_t raw_len;
-
-diff --git a/src/efibootmgr.c b/src/efibootmgr.c
-index baefa68..683623b 100644
---- a/src/efibootmgr.c
-+++ b/src/efibootmgr.c
-@@ -214,7 +214,7 @@ warn_duplicate_name(list_t *boot_list)
- list_t *pos;
- var_entry_t *boot;
- efi_load_option *load_option;
-- const unsigned char const *desc;
-+ const unsigned char *desc;
-
- list_for_each(pos, boot_list) {
- boot = list_entry(pos, var_entry_t, list);
-@@ -821,7 +821,7 @@ show_boot_vars()
- {
- list_t *pos;
- var_entry_t *boot;
-- const unsigned char const *description;
-+ const unsigned char *description;
- efi_load_option *load_option;
- efidp dp = NULL;
- unsigned char *optional_data = NULL;
---
-2.12.2
-
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
deleted file mode 100644
index 193150bb9..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.12.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-DESCRIPTION = "Linux user-space application to modify the EFI Boot Manager."
-SUMMARY = "EFI Boot Manager"
-HOMEPAGE = "https://github.com/rhinstaller/efibootmgr"
-SECTION = "base"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
-
-DEPENDS = "pciutils zlib efivar"
-
-COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
-
-SRCREV = "75d25807ba81cb724964c989012611272c8f1f5d"
-SRC_URI = "git://github.com/rhinstaller/efibootmgr.git;protocol=https \
- file://0001-Remove-extra-const-keywords-gcc-7-gripes-about.patch \
- "
-
-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 ${D}/${sbindir}/efibootmgr
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.15.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.15.bb
new file mode 100644
index 000000000..9cc62a959
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.15.bb
@@ -0,0 +1,27 @@
+DESCRIPTION = "Linux user-space application to modify the EFI Boot Manager."
+SUMMARY = "EFI Boot Manager"
+HOMEPAGE = "https://github.com/rhinstaller/efibootmgr"
+SECTION = "base"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
+
+DEPENDS = "pciutils zlib efivar"
+
+COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
+
+SRCREV = "5c14da22802576a99ebb854f7aa174f796f7b031"
+SRC_URI = "git://github.com/rhinstaller/efibootmgr.git;protocol=https \
+ "
+S = "${WORKDIR}/git"
+
+inherit pkgconfig
+
+EXTRA_OEMAKE = "'EFIDIR=/' 'CC=${CC}' 'CFLAGS=${CFLAGS} -I${S}/src/include `pkg-config --cflags efivar`'"
+
+CFLAGS_append_toolchain-clang = " -Wno-error"
+do_install () {
+ install -D -p -m0755 ${B}/src/efibootmgr ${D}/${sbindir}/efibootmgr
+}
+
+CLEANBROKEN = "1"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0001-Remove-some-extra-const-that-gcc-complains-about.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0001-Remove-some-extra-const-that-gcc-complains-about.patch
deleted file mode 100644
index 4ae8cb90f..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0001-Remove-some-extra-const-that-gcc-complains-about.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 29a2dea16113b5a8e51de46437c6a9f7426c5867 Mon Sep 17 00:00:00 2001
-From: Peter Jones <pjones@redhat.com>
-Date: Mon, 6 Feb 2017 14:28:19 -0500
-Subject: [PATCH 1/2] Remove some extra "const" that gcc complains about.
-
-One of these days I'll get these right.
-
-Signed-off-by: Peter Jones <pjones@redhat.com>
----
- src/include/efivar/efiboot-loadopt.h | 4 ++--
- src/loadopt.c | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/include/efivar/efiboot-loadopt.h b/src/include/efivar/efiboot-loadopt.h
-index 07db5c4..efc29c6 100644
---- a/src/include/efivar/efiboot-loadopt.h
-+++ b/src/include/efivar/efiboot-loadopt.h
-@@ -32,8 +32,8 @@ extern ssize_t efi_loadopt_create(uint8_t *buf, ssize_t size,
-
- extern efidp efi_loadopt_path(efi_load_option *opt, ssize_t limit)
- __attribute__((__nonnull__ (1)));
--extern const unsigned char const * efi_loadopt_desc(efi_load_option *opt,
-- ssize_t limit)
-+extern const unsigned char * efi_loadopt_desc(efi_load_option *opt,
-+ ssize_t limit)
- __attribute__((__visibility__ ("default")))
- __attribute__((__nonnull__ (1)));
- extern uint32_t efi_loadopt_attrs(efi_load_option *opt)
-diff --git a/src/loadopt.c b/src/loadopt.c
-index 64e333f..ec50722 100644
---- a/src/loadopt.c
-+++ b/src/loadopt.c
-@@ -336,7 +336,7 @@ teardown(void)
-
- __attribute__((__nonnull__ (1)))
- __attribute__((__visibility__ ("default")))
--const unsigned char const *
-+const unsigned char *
- efi_loadopt_desc(efi_load_option *opt, ssize_t limit)
- {
- if (last_desc) {
---
-2.12.2
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0001-efivar-dp.h-Add-Wunknown-attributes-when-using-clang.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0001-efivar-dp.h-Add-Wunknown-attributes-when-using-clang.patch
new file mode 100644
index 000000000..1b8815e9d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0001-efivar-dp.h-Add-Wunknown-attributes-when-using-clang.patch
@@ -0,0 +1,32 @@
+From 3d43c5efdb632da5d7387dcadce4e87b83929c64 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 24 Aug 2017 15:54:47 -0700
+Subject: [PATCH] efivar-dp.h: Add -Wunknown-attributes when using clang
+
+change !dp check to a comparision against NULL to silent clang warning
+nonnull parameter 'dp' will evaluate to 'true' on first encounter
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/include/efivar/efivar-dp.h | 12 +++++++-----
+ 1 file changed, 7 insertions(+), 5 deletions(-)
+
+Index: git/src/include/efivar/efivar-dp.h
+===================================================================
+--- git.orig/src/include/efivar/efivar-dp.h
++++ git/src/include/efivar/efivar-dp.h
+@@ -783,9 +783,14 @@ extern int efidp_append_instance(const_e
+ * though older or other compilers might just ignore that attribute if they
+ * don't support it. Ugh.
+ */
++#pragma GCC diagnostic push
+ #if defined(__GNUC__) && __GNUC__ >= 6
+ #pragma GCC diagnostic ignored "-Wnonnull-compare"
+ #endif
++#if defined(__clang__)
++#pragma GCC diagnostic ignored "-Wunknown-attributes"
++#pragma GCC diagnostic ignored "-Wpointer-bool-conversion"
++#endif
+
+ static inline int16_t
+ __attribute__((__artificial__))
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0001-makeguids-Do-not-use-__bswap_constant_-16-32-macros.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0001-makeguids-Do-not-use-__bswap_constant_-16-32-macros.patch
new file mode 100644
index 000000000..73a772186
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0001-makeguids-Do-not-use-__bswap_constant_-16-32-macros.patch
@@ -0,0 +1,37 @@
+From 98b33d4193998687aa3a78c097f7bd4c393e0c85 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 15 Jul 2017 00:29:42 -0700
+Subject: [PATCH] makeguids: Do not use __bswap_constant_{16|32} macros
+
+not available on musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/makeguids.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/makeguids.c b/src/makeguids.c
+index da2f5f7..daf821a 100644
+--- a/src/makeguids.c
++++ b/src/makeguids.c
+@@ -155,13 +155,13 @@ main(int argc, char *argv[])
+ #if BYTE_ORDER == BIG_ENDIAN\n\
+ #define cpu_to_be32(n) (n)\n\
+ #define cpu_to_be16(n) (n)\n\
+-#define cpu_to_le32(n) (__bswap_constant_32(n))\n\
+-#define cpu_to_le16(n) (__bswap_constant_16(n))\n\
++#define cpu_to_le32(n) ((uint32_t) ((n)>>24 | (n)>>8&0xff00 | (n)<<8&0xff0000 | (n)<<24))\n\
++#define cpu_to_le16(n) ((uint16_t) ((n)<<8 | (n)>>8))\n\
+ #else\n\
+ #define cpu_to_le32(n) (n)\n\
+ #define cpu_to_le16(n) (n)\n\
+-#define cpu_to_be32(n) (__bswap_constant_32(n))\n\
+-#define cpu_to_be16(n) (__bswap_constant_16(n))\n\
++#define cpu_to_be32(n) ((uint32_t) ((n)>>24 | (n)>>8&0xff00 | (n)<<8&0xff0000 | (n)<<24))\n\
++#define cpu_to_be16(n) ((uint16_t) ((n)<<8 | (n)>>8))\n\
+ #endif\n\
+ """);
+
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0002-New-gcc-version-new-way-symbol-versioning-breaks.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0002-New-gcc-version-new-way-symbol-versioning-breaks.patch
deleted file mode 100644
index 737b78b01..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0002-New-gcc-version-new-way-symbol-versioning-breaks.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 31e655d2b5f66e772d9714422b7332bbaa60d2e6 Mon Sep 17 00:00:00 2001
-From: Peter Jones <pjones@redhat.com>
-Date: Mon, 6 Feb 2017 14:41:58 -0500
-Subject: [PATCH 2/2] New gcc version, new way symbol versioning breaks.
-
-Apparently I get to redo this every time there's a compiler release.
-Yaaaaaay.
-
-Anyway, the current method is to define the two compat things from the
-land before time as @libefivar.so.0 symbols and list them there in the
-link map. Then we have the real one defined with another name, and set
-as efi_set_variable@@LIBEFIVAR_0.24. Then to make there actually be a
-efi_set_variable symbol to link against, we create it as a weak alias.
-
-This is all completely absurd.
-
-Signed-off-by: Peter Jones <pjones@redhat.com>
----
- src/lib.c | 17 ++++++++++++-----
- 1 file changed, 12 insertions(+), 5 deletions(-)
-
-diff --git a/src/lib.c b/src/lib.c
-index 6a9b392..afa7d94 100644
---- a/src/lib.c
-+++ b/src/lib.c
-@@ -49,7 +49,7 @@ _efi_set_variable(efi_guid_t guid, const char *name, uint8_t *data,
- {
- return ops->set_variable(guid, name, data, data_size, attributes, 0600);
- }
--__asm__(".symver _efi_set_variable,_efi_set_variable@");
-+__asm__(".symver _efi_set_variable,_efi_set_variable@libefivar.so.0");
-
- int
- __attribute__((__nonnull__ (2, 3)))
-@@ -59,17 +59,24 @@ _efi_set_variable_variadic(efi_guid_t guid, const char *name, uint8_t *data,
- {
- return ops->set_variable(guid, name, data, data_size, attributes, 0600);
- }
--__asm__(".symver _efi_set_variable_variadic,efi_set_variable@");
-+__asm__(".symver _efi_set_variable_variadic,efi_set_variable@libefivar.so.0");
-
- int
- __attribute__((__nonnull__ (2, 3)))
- __attribute__((__visibility__ ("default")))
--efi_set_variable(efi_guid_t guid, const char *name, uint8_t *data,
-- size_t data_size, uint32_t attributes, mode_t mode)
-+_efi_set_variable_mode(efi_guid_t guid, const char *name, uint8_t *data,
-+ size_t data_size, uint32_t attributes, mode_t mode)
- {
- return ops->set_variable(guid, name, data, data_size, attributes, mode);
- }
--__asm__(".symver efi_set_variable,efi_set_variable@@LIBEFIVAR_0.24");
-+__asm__(".symver _efi_set_variable_mode,efi_set_variable@@LIBEFIVAR_0.24");
-+
-+int
-+__attribute__((__nonnull__ (2, 3)))
-+__attribute__((__visibility__ ("default")))
-+efi_set_variable(efi_guid_t guid, const char *name, uint8_t *data,
-+ size_t data_size, uint32_t attributes, mode_t mode)
-+ __attribute((weak, alias ("_efi_set_variable_mode")));
-
- int
- __attribute__((__nonnull__ (2, 3)))
---
-2.12.2
-
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
deleted file mode 100644
index 951b15921..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0002-disable-static-build.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-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/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
index 5d50c1906..96d0c6b3b 100644
--- 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
@@ -23,16 +23,13 @@ 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
+Index: git/gcc.specs
+===================================================================
+--- git.orig/gcc.specs
++++ git/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
-
+-+ %{!static:--fatal-warnings} --no-undefined-version --no-allow-shlib-undefined --add-needed -z now --build-id %{!static:%{!shared:-pie}} %{shared:-z relro} %{static:%<pie}
+++ %{!static:--fatal-warnings} --no-undefined-version --no-allow-shlib-undefined -z now --build-id %{!static:%{!shared:-pie}} %{shared:-z relro} %{static:%<pie}
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
index 1c68a2934..e3fa2e1c1 100644
--- 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
@@ -20,10 +20,10 @@ 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
+Index: git/gcc.specs
+===================================================================
+--- git.orig/gcc.specs
++++ git/gcc.specs
@@ -2,13 +2,13 @@
+ -D_GNU_SOURCE
@@ -35,11 +35,8 @@ index 0d4bbda..3802ca6 100644
+ %(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) -Wmaybe-uninitialized -fno-merge-constants -fvisibility=hidden %{!r:%{!fpie:%{!fPIE:%{!fpic:%{!fPIC:%{!fno-pic:-fPIE}}}}}}
++ %(efivar_cpp_options) -fno-merge-constants -fvisibility=hidden %{!r:%{!fpie:%{!fPIE:%{!fpic:%{!fPIC:%{!fno-pic:-fPIE}}}}}}
*self_spec:
+ %{!shared:%{!static:%{!r:-pie}}} %{static:-Wl,-no-fatal-warnings -Wl,-static -static -Wl,-z,relro,-z,now}
---
-2.8.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/musl-strndupa.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/musl-strndupa.patch
new file mode 100644
index 000000000..fc8f8c8b2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/musl-strndupa.patch
@@ -0,0 +1,17 @@
+Taken from void linux
+
+Index: git/src/linux.c
+===================================================================
+--- git.orig/src/linux.c
++++ git/src/linux.c
+@@ -40,6 +40,10 @@
+ #include <efivar.h>
+ #include <efiboot.h>
+
++#if !defined(__GLIBC__)
++#define strndupa(x,s) strncpy(alloca(strlen(x)+1),x,s)
++#endif
++
+ #include "dp.h"
+ #include "linux.h"
+ #include "util.h"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar_0.24.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar_0.24.bb
deleted file mode 100644
index 877ca9045..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar_0.24.bb
+++ /dev/null
@@ -1,46 +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 = "popt"
-DEPENDS_append_class-target = " efivar-native"
-
-inherit pkgconfig
-
-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 \
- file://allow-multi-definitions-for-native.patch \
- file://0001-Remove-some-extra-const-that-gcc-complains-about.patch \
- file://0002-New-gcc-version-new-way-symbol-versioning-breaks.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 \
- "
-
-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/efivar/efivar_0.31.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar_0.31.bb
new file mode 100644
index 000000000..9d4cdc97b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar_0.31.bb
@@ -0,0 +1,50 @@
+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"
+
+inherit pkgconfig
+
+COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
+
+SRCREV = "11324799c68193116e1dd5f94b416591bd324f90"
+SRC_URI = "git://github.com/rhinstaller/efivar.git \
+ file://allow-multi-definitions-for-native.patch \
+ file://0001-makeguids-Do-not-use-__bswap_constant_-16-32-macros.patch \
+ file://musl-strndupa.patch \
+ file://0001-efivar-dp.h-Add-Wunknown-attributes-when-using-clang.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 \
+ "
+
+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_compile_class-native() {
+ oe_runmake -C src makeguids
+}
+
+do_install() {
+ oe_runmake install DESTDIR=${D}
+}
+
+do_install_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/enscript/enscript/enscript-autoconf.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/enscript/enscript/enscript-autoconf.patch
new file mode 100644
index 000000000..d3bb5c03a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/enscript/enscript/enscript-autoconf.patch
@@ -0,0 +1,118 @@
+autoconf no longer supports AM_C_PROTOTYPES
+
+| configure.ac:14: error: automatic de-ANSI-fication support has been removed
+| /bitbake_build/tmp/sysroots/x86_64-linux/usr/share/aclocal-1.12/protos.m4:10: AM_C_PROTOTYPES is expanded from...
+
+Upstream-Status: Pending
+
+Author: Mark Hatle <mark.hatle@windriver.com>
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+
+Index: enscript-1.6.6/configure.ac
+===================================================================
+--- enscript-1.6.6.orig/configure.ac
++++ enscript-1.6.6/configure.ac
+@@ -11,7 +11,6 @@ AC_PROG_INSTALL
+ AC_PROG_CC
+
+ AC_USE_SYSTEM_EXTENSIONS
+-AM_C_PROTOTYPES
+
+ AC_C_CONST
+ AC_FUNC_ALLOCA
+Index: enscript-1.6.6/afmlib/afm.h
+===================================================================
+--- enscript-1.6.6.orig/afmlib/afm.h
++++ enscript-1.6.6/afmlib/afm.h
+@@ -24,11 +24,7 @@
+ #define AFM_H
+
+ #ifndef ___P
+-#if PROTOTYPES
+ #define ___P(protos) protos
+-#else /* no PROTOTYPES */
+-#define ___P(protos) ()
+-#endif /* no PROTOTYPES */
+ #endif
+
+ /**********************************************************************
+Index: enscript-1.6.6/afmlib/afmint.h
+===================================================================
+--- enscript-1.6.6.orig/afmlib/afmint.h
++++ enscript-1.6.6/afmlib/afmint.h
+@@ -34,11 +34,7 @@
+ #include <stdio.h>
+
+ #ifndef ___P
+-#if PROTOTYPES
+ #define ___P(protos) protos
+-#else /* no PROTOTYPES */
+-#define ___P(protos) ()
+-#endif /* no PROTOTYPES */
+ #endif
+
+ #if STDC_HEADERS
+Index: enscript-1.6.6/afmlib/strhash.h
+===================================================================
+--- enscript-1.6.6.orig/afmlib/strhash.h
++++ enscript-1.6.6/afmlib/strhash.h
+@@ -24,11 +24,7 @@
+ #define STRHASH_H
+
+ #ifndef ___P
+-#if PROTOTYPES
+ #define ___P(protos) protos
+-#else /* no PROTOTYPES */
+-#define ___P(protos) ()
+-#endif /* no PROTOTYPES */
+ #endif
+
+ typedef struct stringhash_st *StringHashPtr;
+Index: enscript-1.6.6/compat/xalloc.h
+===================================================================
+--- enscript-1.6.6.orig/compat/xalloc.h
++++ enscript-1.6.6/compat/xalloc.h
+@@ -28,11 +28,7 @@
+ #define XALLOC_H
+
+ #ifndef ___P
+-#if PROTOTYPES
+ #define ___P(protos) protos
+-#else /* no PROTOTYPES */
+-#define ___P(protos) ()
+-#endif /* no PROTOTYPES */
+ #endif
+
+ void *xmalloc ___P ((size_t size));
+Index: enscript-1.6.6/src/gsint.h
+===================================================================
+--- enscript-1.6.6.orig/src/gsint.h
++++ enscript-1.6.6/src/gsint.h
+@@ -39,11 +39,7 @@
+ #include <sys/stat.h>
+
+ #ifndef ___P
+-#if PROTOTYPES
+ #define ___P(protos) protos
+-#else /* no PROTOTYPES */
+-#define ___P(protos) ()
+-#endif /* no PROTOTYPES */
+ #endif
+
+ #if STDC_HEADERS
+Index: enscript-1.6.6/states/defs.h
+===================================================================
+--- enscript-1.6.6.orig/states/defs.h
++++ enscript-1.6.6/states/defs.h
+@@ -37,11 +37,7 @@
+ #include <ctype.h>
+
+ #ifndef ___P
+-#if PROTOTYPES
+ #define ___P(protos) protos
+-#else /* no PROTOTYPES */
+-#define ___P(protos) ()
+-#endif /* no PROTOTYPES */
+ #endif
+
+ #if STDC_HEADERS
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/enscript/enscript_1.6.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/enscript/enscript_1.6.6.bb
new file mode 100644
index 000000000..2b6d14e6c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/enscript/enscript_1.6.6.bb
@@ -0,0 +1,24 @@
+SUMMARY = "A plain ASCII to PostScript converter"
+DESCRIPTION = "GNU enscript is a free replacement for Adobe''s Enscript \
+program. Enscript converts ASCII files to PostScript(TM) and spools generated \
+PostScript output to the specified printer or saves it to a file. Enscript can \
+be extended to handle different output media and includes many options for \
+customizing printouts."
+HOMEPAGE = "http://www.gnu.org/software/enscript/"
+SECTION = "console/utils"
+
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
+
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
+ file://enscript-autoconf.patch \
+"
+
+inherit autotools gettext
+
+EXTRA_OECONF += "PERL='${USRBINPATH}/env perl'"
+
+SRC_URI[md5sum] = "3acc242b829adacabcaf28533f049afd"
+SRC_URI[sha256sum] = "6d56bada6934d055b34b6c90399aa85975e66457ac5bf513427ae7fc77f5c0bb"
+
+RDEPENDS_${PN} = "perl"
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
deleted file mode 100644
index 6c2f64ed9..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0001-Fix-compilation-on-aarch64.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-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-Remove-undefined-behavior.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0001-Remove-undefined-behavior.patch
new file mode 100644
index 000000000..51397dc55
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0001-Remove-undefined-behavior.patch
@@ -0,0 +1,82 @@
+From d2a03b3e43043b596a79803bcb93f70e513bbb50 Mon Sep 17 00:00:00 2001
+From: Patrick Georgi <pgeorgi@google.com>
+Date: Mon, 13 Mar 2017 13:48:03 +0100
+Subject: [PATCH] Remove undefined behavior
+
+Per clang-3.9, the compiler fails on #define ...defined(...) statements
+as they're undefined behavior (apparently with different behavior
+between gcc/clang and msvc, too).
+
+See clang's cfe repo commit r258128 for details.
+
+Change-Id: I82b6235e11b425fae45eebbe06b08f81c5bdbb98
+Signed-off-by: Patrick Georgi <pgeorgi@google.com>
+Reviewed-on: https://review.coreboot.org/18792
+Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
+Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
+---
+ hwaccess.c | 18 +++++++++++++++---
+ platform.h | 18 +++++++++++++++---
+ 2 files changed, 30 insertions(+), 6 deletions(-)
+
+diff --git a/hwaccess.c b/hwaccess.c
+index aede7e3..2bf6f42 100644
+--- a/hwaccess.c
++++ b/hwaccess.c
+@@ -37,9 +37,21 @@
+ #error "Unknown operating system"
+ #endif
+
+-#define USE_IOPL (IS_LINUX || IS_MACOSX || defined(__NetBSD__) || defined(__OpenBSD__))
+-#define USE_DEV_IO (defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__))
+-#define USE_IOPERM (defined(__gnu_hurd__))
++#if IS_LINUX || IS_MACOSX || defined(__NetBSD__) || defined(__OpenBSD__)
++#define USE_IOPL 1
++#else
++#define USE_IOPL 0
++#endif
++#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
++#define USE_DEV_IO 1
++#else
++#define USE_DEV_IO 0
++#endif
++#if defined(__gnu_hurd__)
++#define USE_IOPERM 1
++#else
++#define USE_IOPERM 0
++#endif
+
+ #if USE_IOPERM
+ #include <sys/io.h>
+diff --git a/platform.h b/platform.h
+index c5a52ef..b2fdcd0 100644
+--- a/platform.h
++++ b/platform.h
+@@ -25,9 +25,21 @@
+ #define __PLATFORM_H__ 1
+
+ // Helper defines for operating systems
+-#define IS_LINUX (defined(__gnu_linux__) || defined(__linux__))
+-#define IS_MACOSX (defined(__APPLE__) && defined(__MACH__)) /* yes, both. */
+-#define IS_WINDOWS (defined(_WIN32) || defined(_WIN64) || defined(__WIN32__) || defined(__WINDOWS__))
++#if defined(__gnu_linux__) || defined(__linux__)
++#define IS_LINUX 1
++#else
++#define IS_LINUX 0
++#endif
++#if defined(__APPLE__) && defined(__MACH__) /* yes, both. */
++#define IS_MACOSX 1
++#else
++#define IS_MACOSX 0
++#endif
++#if defined(_WIN32) || defined(_WIN64) || defined(__WIN32__) || defined(__WINDOWS__)
++#define IS_WINDOWS 1
++#else
++#define IS_WINDOWS 0
++#endif
+
+ // Likewise for target architectures
+ #if defined (__i386__) || defined (__x86_64__) || defined(__amd64__)
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0001-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
deleted file mode 100644
index ff16f0b11..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0001-ichspi.c-Fix-build-with-clang.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-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/0001-spi-Define-_XOPEN_SOURCE-to-enable-ffs-libc-API.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0001-spi-Define-_XOPEN_SOURCE-to-enable-ffs-libc-API.patch
new file mode 100644
index 000000000..4170fefd2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0001-spi-Define-_XOPEN_SOURCE-to-enable-ffs-libc-API.patch
@@ -0,0 +1,28 @@
+From 7c65a465a3ddeb7afb9a7c49d010ae7e5d5b1ad1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 18 Jul 2017 20:25:49 -0700
+Subject: [PATCH] spi: Define _XOPEN_SOURCE to enable ffs() libc API
+
+musl exposes this issue
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ spi.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/spi.c b/spi.c
+index 894f73f..aeb6518 100644
+--- a/spi.c
++++ b/spi.c
+@@ -21,7 +21,7 @@
+ /*
+ * Contains the generic SPI framework
+ */
+-
++#define _XOPEN_SOURCE
+ #include <strings.h>
+ #include <string.h>
+ #include "flash.h"
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/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
deleted file mode 100644
index aec11bffa..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0002-Disable-Wtautological-pointer-compare-when-using-cla.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-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
deleted file mode 100644
index 99283d37f..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0003-remove-duplicate-const-qualifiers.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-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/sst26.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/sst26.patch
new file mode 100644
index 000000000..46a01529f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/sst26.patch
@@ -0,0 +1,198 @@
+--- flashrom-0.9.9.orig/chipdrivers.h
++++ flashrom-0.9.9/chipdrivers.h
+@@ -103,6 +103,7 @@
+ int spi_prettyprint_status_register_sst25(struct flashctx *flash);
+ int spi_prettyprint_status_register_sst25vf016(struct flashctx *flash);
+ int spi_prettyprint_status_register_sst25vf040b(struct flashctx *flash);
++int spi_disable_blockprotect_sst26_global_unprotect(struct flashctx *flash);
+
+ /* sfdp.c */
+ int probe_spi_sfdp(struct flashctx *flash);
+--- flashrom-0.9.9.orig/flashchips.c
++++ flashrom-0.9.9/flashchips.c
+@@ -12564,6 +12564,120 @@
+
+ {
+ .vendor = "SST",
++ .name = "SST26VF016B(A)",
++ .bustype = BUS_SPI,
++ .manufacture_id = SST_ID,
++ .model_id = SST_SST26VF016B,
++ .total_size = 2048,
++ .page_size = 256,
++ .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
++ .tested = TEST_OK_PREW,
++ .probe = probe_spi_rdid,
++ .probe_timing = TIMING_ZERO,
++ .block_erasers =
++ {
++ {
++ .eraseblocks = { {4 * 1024, 512} },
++ .block_erase = spi_block_erase_20,
++ }, {
++ .eraseblocks = {
++ {8 * 1024, 4},
++ {32 * 1024, 1},
++ {64 * 1024, 30},
++ {32 * 1024, 1},
++ {8 * 1024, 4},
++ },
++ .block_erase = spi_block_erase_d8,
++ }, {
++ .eraseblocks = { {2 * 1024 * 1024, 1} },
++ .block_erase = spi_block_erase_c7,
++ },
++ },
++ .printlock = spi_prettyprint_status_register_plain, /* TODO: improve */
++ .unlock = spi_disable_blockprotect_sst26_global_unprotect,
++ .write = spi_chip_write_256, /* Multi I/O supported */
++ .read = spi_chip_read, /* Fast read (0x0B) and multi I/O supported */
++ .voltage = {2700, 3600},
++ },
++ {
++ .vendor = "SST",
++ .name = "SST26VF032B(A)",
++ .bustype = BUS_SPI,
++ .manufacture_id = SST_ID,
++ .model_id = SST_SST26VF032B,
++ .total_size = 4096,
++ .page_size = 256,
++ .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
++ .tested = TEST_UNTESTED,
++ .probe = probe_spi_rdid,
++ .probe_timing = TIMING_ZERO,
++ .block_erasers =
++ {
++ {
++ .eraseblocks = { {4 * 1024, 1024} },
++ .block_erase = spi_block_erase_20,
++ }, {
++ .eraseblocks = {
++ {8 * 1024, 4},
++ {32 * 1024, 1},
++ {64 * 1024, 62},
++ {32 * 1024, 1},
++ {8 * 1024, 4},
++ },
++ .block_erase = spi_block_erase_d8,
++ }, {
++ .eraseblocks = { {4 * 1024 * 1024, 1} },
++ .block_erase = spi_block_erase_c7,
++ },
++ },
++ .printlock = spi_prettyprint_status_register_plain, /* TODO: improve */
++ .unlock = spi_disable_blockprotect_sst26_global_unprotect,
++ .write = spi_chip_write_256, /* Multi I/O supported */
++ .read = spi_chip_read, /* Fast read (0x0B) and multi I/O supported */
++ .voltage = {2700, 3600},
++ },
++
++
++ {
++ .vendor = "SST",
++ .name = "SST26VF064B(A)",
++ .bustype = BUS_SPI,
++ .manufacture_id = SST_ID,
++ .model_id = SST_SST26VF064B,
++ .total_size = 8192,
++ .page_size = 256,
++ .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
++ .tested = TEST_OK_PREW,
++ .probe = probe_spi_rdid,
++ .probe_timing = TIMING_ZERO,
++ .block_erasers =
++ {
++ {
++ .eraseblocks = { {4 * 1024, 2048} },
++ .block_erase = spi_block_erase_20,
++ }, {
++ .eraseblocks = {
++ {8 * 1024, 4},
++ {32 * 1024, 1},
++ {64 * 1024, 126},
++ {32 * 1024, 1},
++ {8 * 1024, 4},
++ },
++ .block_erase = spi_block_erase_d8,
++ }, {
++ .eraseblocks = { {8 * 1024 * 1024, 1} },
++ .block_erase = spi_block_erase_c7,
++ },
++ },
++ .printlock = spi_prettyprint_status_register_plain, /* TODO: improve */
++ .unlock = spi_disable_blockprotect_sst26_global_unprotect,
++ .write = spi_chip_write_256, /* Multi I/O supported */
++ .read = spi_chip_read, /* Fast read (0x0B) and multi I/O supported */
++ .voltage = {2700, 3600},
++ },
++
++ {
++ .vendor = "SST",
+ .name = "SST25WF512",
+ .bustype = BUS_SPI,
+ .manufacture_id = SST_ID,
+--- flashrom-0.9.9.orig/flashchips.h
++++ flashrom-0.9.9/flashchips.h
+@@ -697,6 +697,8 @@
+ #define SST_SST25VF064C 0x254B
+ #define SST_SST26VF016 0x2601
+ #define SST_SST26VF032 0x2602
++#define SST_SST26VF016B 0x2641
++#define SST_SST26VF032B 0x2642
+ #define SST_SST26VF064B 0x2643
+ #define SST_SST27SF512 0xA4
+ #define SST_SST27SF010 0xA5
+--- flashrom-0.9.9.orig/linux_spi.c
++++ flashrom-0.9.9/linux_spi.c
+@@ -141,6 +141,16 @@
+ return 0;
+ }
+
++static void print_hex(const char *msg, const void *buf, size_t len)
++{
++ size_t i;
++ msg_pspew("%s:\n", msg);
++ for (i = 0; i < len; i++) {
++ msg_pspew(" %02x", ((uint8_t *)buf)[i]);
++ }
++ msg_pspew("\n");
++}
++
+ static int linux_spi_send_command(struct flashctx *flash, unsigned int writecnt,
+ unsigned int readcnt,
+ const unsigned char *txbuf,
+@@ -172,10 +182,12 @@
+ else
+ iocontrol_code = SPI_IOC_MESSAGE(2);
+
++ print_hex("Write", txbuf, writecnt);
+ if (ioctl(fd, iocontrol_code, msg) == -1) {
+ msg_cerr("%s: ioctl: %s\n", __func__, strerror(errno));
+ return -1;
+ }
++ if (readcnt) print_hex("Got", rxbuf, readcnt);
+ return 0;
+ }
+
+--- flashrom-0.9.9.orig/spi25_statusreg.c
++++ flashrom-0.9.9/spi25_statusreg.c
+@@ -196,6 +196,19 @@
+ return spi_disable_blockprotect_generic(flash, 0x3C, 0, 0, 0xFF);
+ }
+
++int spi_disable_blockprotect_sst26_global_unprotect(struct flashctx *flash)
++{
++ int result = spi_write_enable(flash);
++ if (result)
++ return result;
++
++ static const unsigned char cmd[] = { 0x98 }; /* ULBPR */
++ result = spi_send_command(flash, sizeof(cmd), 0, cmd, NULL);
++ if (result)
++ msg_cerr("ULBPR failed\n");
++ return result;
++}
++
+ /* A common block protection disable that tries to unset the status register bits masked by 0x0C (BP0-1) and
+ * protected/locked by bit #7. Useful when bits 4-5 may be non-0). */
+ int spi_disable_blockprotect_bp1_srwd(struct flashctx *flash)
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
deleted file mode 100644
index 0edc68820..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom_0.9.6.1.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION = "flashrom is a utility for identifying, reading, writing, verifying and erasing flash chips"
-LICENSE = "GPLv2"
-HOMEPAGE = "http://flashrom.org"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-DEPENDS = "pciutils"
-
-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/flashrom/flashrom_0.9.9.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom_0.9.9.bb
new file mode 100644
index 000000000..4cdd8ad23
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom_0.9.9.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "flashrom is a utility for identifying, reading, writing, verifying and erasing flash chips"
+LICENSE = "GPLv2"
+HOMEPAGE = "http://flashrom.org"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+DEPENDS = "pciutils libusb libusb-compat"
+
+SRC_URI = "http://download.flashrom.org/releases/flashrom-${PV}.tar.bz2 \
+ file://0001-spi-Define-_XOPEN_SOURCE-to-enable-ffs-libc-API.patch \
+ file://sst26.patch \
+ file://0001-Remove-undefined-behavior.patch \
+ "
+SRC_URI[md5sum] = "aab9c98925d9cfb5ffb28b67a6112530"
+SRC_URI[sha256sum] = "cb3156b0f63eb192024b76c0814135930297aac41f80761a5d293de769783c45"
+
+inherit pkgconfig
+
+do_install() {
+ oe_runmake PREFIX=${prefix} DESTDIR=${D} install
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-CMakeLists.txt-Add-AUTOCONF_HOST_OPT-to-help-cross-c.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-CMakeLists.txt-Add-AUTOCONF_HOST_OPT-to-help-cross-c.patch
deleted file mode 100644
index 539a42a7d..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-CMakeLists.txt-Add-AUTOCONF_HOST_OPT-to-help-cross-c.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From ceb47f37582a055bb7f253f813c435ad55c5b6eb Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 22 Apr 2017 10:02:50 -0700
-Subject: [PATCH 1/2] CMakeLists.txt: Add AUTOCONF_HOST_OPT to help cross
- compiling
-
-This helps in doing cross compiles for modules which are using
-GNU autoconf for build system
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- CMakeLists.txt | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index b093f9a..ebf0cd7 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -290,6 +290,12 @@ else()
- endif()
- endif()
-
-+if("${GNU_HOST}" STREQUAL "")
-+ set(AUTOCONF_HOST_OPT "")
-+else()
-+ set(AUTOCONF_HOST_OPT "--host=${GNU_HOST}")
-+endif()
-+
- # Memory Allocator
- # ================
- if(FLB_JEMALLOC AND ${CMAKE_SYSTEM_NAME} MATCHES "Linux")
-@@ -299,7 +305,7 @@ if(FLB_JEMALLOC AND ${CMAKE_SYSTEM_NAME} MATCHES "Linux")
- # Link to Jemalloc as an external dependency
- ExternalProject_Add(jemalloc
- SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc
-- CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc/configure --with-lg-quantum=3 --enable-cc-silence --prefix=<INSTALL_DIR>
-+ CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc/configure ${AUTOCONF_HOST_OPT} --with-lg-quantum=3 --enable-cc-silence --prefix=<INSTALL_DIR>
- CFLAGS=-std=gnu99\ -Wall\ -pipe\ -g3\ -O3\ -funroll-loops
- BUILD_COMMAND ${MAKE}
- INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/
-@@ -317,7 +323,7 @@ endif()
- if(FLB_REGEX)
- ExternalProject_Add(onigmo
- SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/onigmo
-- CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/onigmo/configure --with-pic --disable-shared --enable-static --prefix=<INSTALL_DIR>
-+ CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/onigmo/configure ${AUTOCONF_HOST_OPT} --with-pic --disable-shared --enable-static --prefix=<INSTALL_DIR>
- CFLAGS=-std=gnu99\ -Wall\ -pipe\ -g3\ -O3\ -funroll-loops
- BUILD_COMMAND ${MAKE}
- INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/
---
-2.12.2
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-fluent-bit-shared-Link-with-lpthread.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-fluent-bit-shared-Link-with-lpthread.patch
new file mode 100644
index 000000000..e9eed24b3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-fluent-bit-shared-Link-with-lpthread.patch
@@ -0,0 +1,35 @@
+From 62fa9bceb15a9d160dd5d624a6d46907c1019c5c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 8 Sep 2017 17:02:55 -0700
+Subject: [PATCH] fluent-bit-shared: Link with -lpthread
+
+This fixes a reference to pthread_atfork in libfluent-bit.so
+otherwise we get undefined reference to the symbols in binaries
+which are linked with libfluent-bit.so
+
+Fixes errors like
+arm-bec-linux-gnueabi-ld: ../../bin/hello_world: hidden symbol `pthread_atfork' in /mnt/a/oe/build/tmp/work/cortexa7t2hf-neon-vfpv4-bec-linux-gnueabi/fluentbit/0.12.1-r0/recipe-sysroot/usr/lib/libpthread_nonshared.a(pthread_atfork.oS) is referenced by DSO
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted
+
+ src/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 425a246..1264e59 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -168,7 +168,7 @@ set(FLB_DEPS
+ # Shared Library
+ if(NOT FLB_WITHOUT_SHARED_LIB)
+ add_library(fluent-bit-shared SHARED ${src})
+- target_link_libraries(fluent-bit-shared ${FLB_DEPS})
++ target_link_libraries(fluent-bit-shared ${FLB_DEPS} -lpthread)
+ set_target_properties(fluent-bit-shared
+ PROPERTIES OUTPUT_NAME fluent-bit)
+
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0002-msgpack-Add-comment-for-intended-fallthrough.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0002-msgpack-Add-comment-for-intended-fallthrough.patch
deleted file mode 100644
index 35cdb18ad..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0002-msgpack-Add-comment-for-intended-fallthrough.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From d95c2977da074be0d3913e94fb8fb5ed1c64404a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 22 Apr 2017 10:04:03 -0700
-Subject: [PATCH 2/2] msgpack: Add comment for intended fallthrough
-
-Helps fixing build with gcc7
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/msgpack-c-0b7cabd/include/msgpack/unpack_template.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/msgpack-c-0b7cabd/include/msgpack/unpack_template.h b/lib/msgpack-c-0b7cabd/include/msgpack/unpack_template.h
-index a6dae6f..651e6c2 100644
---- a/lib/msgpack-c-0b7cabd/include/msgpack/unpack_template.h
-+++ b/lib/msgpack-c-0b7cabd/include/msgpack/unpack_template.h
-@@ -248,7 +248,7 @@ msgpack_unpack_func(int, _execute)(msgpack_unpack_struct(_context)* ctx, const c
-
- _fixed_trail_again:
- ++p;
--
-+ // fallthrough
- default:
- if((size_t)(pe - p) < trail) { goto _out; }
- n = p; p += trail - 1;
---
-2.12.2
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch
new file mode 100644
index 000000000..abaf92c05
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch
@@ -0,0 +1,18 @@
+Add --with-jemalloc-prefix=je_ so it compiles on musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+Index: fluent-bit-0.12.1/CMakeLists.txt
+===================================================================
+--- fluent-bit-0.12.1.orig/CMakeLists.txt
++++ fluent-bit-0.12.1/CMakeLists.txt
+@@ -325,7 +325,7 @@ if(FLB_JEMALLOC AND ${CMAKE_SYSTEM_NAME}
+ # Link to Jemalloc as an external dependency
+ ExternalProject_Add(jemalloc
+ SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc
+- CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc/configure ${AUTOCONF_HOST_OPT} --with-lg-quantum=3 --enable-cc-silence --prefix=<INSTALL_DIR>
++ CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc/configure --with-jemalloc-prefix=je_ ${AUTOCONF_HOST_OPT} --with-lg-quantum=3 --enable-cc-silence --prefix=<INSTALL_DIR>
+ CFLAGS=-std=gnu99\ -Wall\ -pipe\ -g3\ -O3\ -funroll-loops
+ BUILD_COMMAND ${MAKE}
+ INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.3.bb
deleted file mode 100644
index 8d756e6a4..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.3.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-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.11/fluent-bit-${PV}.tar.gz \
- file://0001-CMakeLists.txt-Add-AUTOCONF_HOST_OPT-to-help-cross-c.patch \
- file://0002-msgpack-Add-comment-for-intended-fallthrough.patch \
- "
-SRC_URI[md5sum] = "9383262339412782b80cc49e7ad15609"
-SRC_URI[sha256sum] = "eb8a85c656fa60682b0bf8dd1ad58d848cd251dab4f35a6777acd552c65b0511"
-
-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 systemd
-
-EXTRA_OECMAKE = "-DGNU_HOST=${HOST_SYS}"
-
-SYSTEMD_SERVICE_${PN} = "fluent-bit.service"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_0.12.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_0.12.1.bb
new file mode 100644
index 000000000..e2edd095a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_0.12.1.bb
@@ -0,0 +1,26 @@
+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.12/fluent-bit-${PV}.tar.gz \
+ file://jemalloc.patch \
+ file://0001-fluent-bit-shared-Link-with-lpthread.patch \
+ "
+SRC_URI[md5sum] = "6b4472cb7e7213a01425af9121576827"
+SRC_URI[sha256sum] = "8ec05365baea723033165687611b3bba3e67a77dce72e282e9f000f7acf9e37b"
+
+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 systemd
+
+EXTRA_OECMAKE = "-DGNU_HOST=${HOST_SYS} -DFLB_ALL=ON -DFLB_TD=1"
+
+SYSTEMD_SERVICE_${PN} = "td-agent-bit.service"
+
+TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/hiredis/files/0001-Makefile-remove-hardcoding-of-CC.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/hiredis/files/0001-Makefile-remove-hardcoding-of-CC.patch
new file mode 100644
index 000000000..fef2bc754
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/hiredis/files/0001-Makefile-remove-hardcoding-of-CC.patch
@@ -0,0 +1,32 @@
+From d13b918a3ff8b0ebfd1e7b18b198b4b45841d720 Mon Sep 17 00:00:00 2001
+From: Andrea Galbusera <gizero@gmail.com>
+Date: Fri, 31 Jul 2015 16:42:08 +0200
+Subject: [PATCH] Makefile: remove hardcoding of CC
+
+* upgrade previous patch to avoid wiping CFLAGS. This fixes build on arm
+platforms which previously caused and issue due to -fPIC being lost
+
+Signed-off-by: Andrea Galbusera <gizero@gmail.com>
+---
+ Makefile | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 8b0f0c2..66a4317 100644
+--- a/Makefile
++++ b/Makefile
+@@ -34,11 +34,6 @@ define REDIS_TEST_CONFIG
+ endef
+ export REDIS_TEST_CONFIG
+
+-# 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
+-WARNINGS=-Wall -W -Wstrict-prototypes -Wwrite-strings
+-DEBUG?= -g -ggdb
+ REAL_CFLAGS=$(OPTIMIZATION) -fPIC $(CFLAGS) $(WARNINGS) $(DEBUG) $(ARCH)
+ REAL_LDFLAGS=$(LDFLAGS) $(ARCH)
+
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/hiredis/hiredis_0.13.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/hiredis/hiredis_0.13.1.bb
new file mode 100644
index 000000000..fae30d771
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/hiredis/hiredis_0.13.1.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "Minimalistic C client library for Redis"
+HOMEPAGE = "http://github.com/redis/hiredis"
+LICENSE = "BSD-3-Clause"
+SECTION = "libs"
+DEPENDS = "redis"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=d84d659a35c666d23233e54503aaea51"
+SRC_URI = "git://github.com/redis/hiredis;protocol=git;rev=f58dd249d6ed47a7e835463c3b04722972281dbb \
+ file://0001-Makefile-remove-hardcoding-of-CC.patch"
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep pkgconfig
+
+EXTRA_OEMAKE = "PREFIX=${prefix}"
+
+# By default INSTALL variable in Makefile is equal to 'cp -a', which preserves
+# ownership and causes host-user-contamination QA issue.
+# And PREFIX defaults to /usr/local.
+do_install_prepend() {
+ export INSTALL='cp -r'
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.5.bb
new file mode 100644
index 000000000..5a335b924
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.5.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Portable Hardware Locality (hwloc) software package"
+DESCRIPTION = "The Portable Hardware Locality (hwloc) software package \
+ provides a portable abstraction of the hierarchical topology of modern \
+ architectures."
+HOMEPAGE = "https://www.open-mpi.org/software/hwloc/"
+SECTION = "base"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3282e20dc3cec311deda3c6d4b1f990b"
+
+SRC_URI = "https://www.open-mpi.org/software/${PN}/v1.11/downloads/${BP}.tar.bz2"
+SRC_URI[md5sum] = "96c34136ff416d2b13a7821c27477bed"
+SRC_URI[sha256sum] = "95d80286dfe658a3f79e2ac90698782bb36e5504f4bac1bba2394ba14dbbad24"
+
+inherit autotools pkgconfig
+
+DEPENDS += "ncurses udev zlib"
+DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'libselinux', '', d)}"
+
+PACKAGECONFIG ?= "pci libxml2 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
+
+PACKAGECONFIG[numactl] = "--enable-libnuma,--disable-libnuma,numactl,numactl"
+PACKAGECONFIG[libxml2] = "--enable-libxml2,--disable-libxml2,libxml2,libxml2"
+PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 cairo,cairo"
+PACKAGECONFIG[pci] = "--enable-pci,--disable-pci,libpciaccess,libpciaccess"
+
+# Split hwloc library into separate subpackage
+PACKAGES_prepend = " libhwloc "
+FILES_libhwloc += "${libdir}/libhwloc.so.*"
+RDEPENDS_${PN} += "libhwloc (= ${EXTENDPKGV})"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/isomd5sum/files/0001-tweak-install-prefix.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/isomd5sum/files/0001-tweak-install-prefix.patch
new file mode 100644
index 000000000..bcfc11724
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/isomd5sum/files/0001-tweak-install-prefix.patch
@@ -0,0 +1,60 @@
+From cffe4767f89ea0b54b57e8bf9065a08a9c38d46e Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Tue, 18 Jul 2017 21:53:00 -0400
+Subject: [PATCH] tweak install prefix
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ Makefile | 28 ++++++++++++++--------------
+ 1 file changed, 14 insertions(+), 14 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index df16a3b..fbdfcb4 100644
+--- a/Makefile
++++ b/Makefile
+@@ -39,26 +39,26 @@ pyisomd5sum.so: $(PYOBJS)
+ install: all install-bin install-python install-devel
+
+ install-bin:
+- install -d -m 0755 $(DESTDIR)/usr/bin
+- install -d -m 0755 $(DESTDIR)/usr/share/man/man1
+- install -m 0755 implantisomd5 $(DESTDIR)/usr/bin
+- install -m 0755 checkisomd5 $(DESTDIR)/usr/bin
+- install -m 0644 implantisomd5.1 $(DESTDIR)/usr/share/man/man1
+- install -m 0644 checkisomd5.1 $(DESTDIR)/usr/share/man/man1
++ install -d -m 0755 $(DESTDIR)$(bindir)
++ install -d -m 0755 $(DESTDIR)$(mandir)/man1
++ install -m 0755 implantisomd5 $(DESTDIR)$(bindir)
++ install -m 0755 checkisomd5 $(DESTDIR)$(bindir)
++ install -m 0644 implantisomd5.1 $(DESTDIR)$(mandir)/man1
++ install -m 0644 checkisomd5.1 $(DESTDIR)$(mandir)/man1
+
+ install-python:
+ install -d -m 0755 $(DESTDIR)$(PYTHONSITEPACKAGES)
+ install -m 0755 pyisomd5sum.so $(DESTDIR)$(PYTHONSITEPACKAGES)
+
+ install-devel:
+- install -d -m 0755 $(DESTDIR)/usr/include
+- install -d -m 0755 $(DESTDIR)/usr/$(LIBDIR)
+- install -d -m 0755 $(DESTDIR)/usr/share/pkgconfig
+- install -m 0644 libimplantisomd5.h $(DESTDIR)/usr/include/
+- install -m 0644 libcheckisomd5.h $(DESTDIR)/usr/include/
+- install -m 0644 libimplantisomd5.a $(DESTDIR)/usr/$(LIBDIR)
+- install -m 0644 libcheckisomd5.a $(DESTDIR)/usr/$(LIBDIR)
+- sed "s#@VERSION@#${VERSION}#g; s#@includedir@#${DESTDIR}/usr/include#g; s#@libdir@#${DESTDIR}/usr/${LIBDIR}#g" isomd5sum.pc.in > ${DESTDIR}/usr/share/pkgconfig/isomd5sum.pc
++ install -d -m 0755 $(DESTDIR)$(includedir)
++ install -d -m 0755 $(DESTDIR)$(libdir)
++ install -d -m 0755 $(DESTDIR)${datadir}/pkgconfig
++ install -m 0644 libimplantisomd5.h $(DESTDIR)$(includedir)
++ install -m 0644 libcheckisomd5.h $(DESTDIR)$(includedir)
++ install -m 0644 libimplantisomd5.a $(DESTDIR)$(libdir)
++ install -m 0644 libcheckisomd5.a $(DESTDIR)$(libdir)
++ sed "s#@VERSION@#${VERSION}#g; s#@includedir@#${DESTDIR}/usr/include#g; s#@libdir@#${DESTDIR}/usr/${LIBDIR}#g" isomd5sum.pc.in > ${DESTDIR}${datadir}/pkgconfig/isomd5sum.pc
+
+ clean:
+ rm -f *.o *.so *.pyc *.a .depend *~
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/isomd5sum/files/0002-fix-parallel-error.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/isomd5sum/files/0002-fix-parallel-error.patch
new file mode 100644
index 000000000..7a33e423a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/isomd5sum/files/0002-fix-parallel-error.patch
@@ -0,0 +1,33 @@
+From 2acce7bc8ab7711e76c7765c84a198fe38f247f3 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Tue, 18 Jul 2017 23:06:41 -0400
+Subject: [PATCH] fix parallel error
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ Makefile | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index fbdfcb4..2ad3238 100644
+--- a/Makefile
++++ b/Makefile
+@@ -29,9 +29,11 @@ implantisomd5: implantisomd5.o libimplantisomd5.a
+ checkisomd5: checkisomd5.o libcheckisomd5.a
+ $(CC) $(CPPFLAGS) $(CFLAGS) checkisomd5.o libcheckisomd5.a -lpopt $(LDFLAGS) -o checkisomd5
+
+-libimplantisomd5.a: libimplantisomd5.a(libimplantisomd5.o md5.o utilities.o)
++libimplantisomd5.a: libimplantisomd5.o md5.o utilities.o
++ $(AR) rv $@ $^
+
+-libcheckisomd5.a: libcheckisomd5.a(libcheckisomd5.o md5.o utilities.o)
++libcheckisomd5.a: libcheckisomd5.o md5.o utilities.o
++ $(AR) rv $@ $^
+
+ pyisomd5sum.so: $(PYOBJS)
+ $(CC) $(CPPFLAGS) $(CFLAGS) -shared -g -fpic $(PYOBJS) $(LDFLAGS) -o pyisomd5sum.so
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.1.bb
new file mode 100644
index 000000000..815113e67
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.1.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Tools for taking the MD5 sum of ISO images"
+DESCRIPTION = "Tools for taking the MD5 sum of ISO images"
+
+DEPENDS = "popt python3 openssl curl popt-native"
+RDEPENDS_${PN} = "openssl curl"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
+
+SRC_URI = "git://github.com/rhinstaller/isomd5sum.git;branch=master \
+ file://0001-tweak-install-prefix.patch \
+ file://0002-fix-parallel-error.patch \
+"
+
+S = "${WORKDIR}/git"
+inherit python3native
+
+EXTRA_OEMAKE += " \
+ DESTDIR='${D}' \
+ PYTHONINCLUDE='-I${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}' \
+ PYTHONSITEPACKAGES='${PYTHON_SITEPACKAGES_DIR}' \
+"
+
+do_install () {
+ oe_runmake install
+}
+
+PACKAGES += "${PYTHON_PN}-${PN} ${PYTHON_PN}-${PN}-dbg"
+
+FILES_${PYTHON_PN}-${PN} = "${PYTHON_SITEPACKAGES_DIR}/pyisomd5sum.so"
+FILES_${PYTHON_PN}-${PN}-dbg = "${PYTHON_SITEPACKAGES_DIR}/.debug/pyisomd5sum.so"
+
+SRCREV = "69dc036d20761715b734ca9cc59ecc6dc8145026"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi-native_0.9.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi-native_0.9.2.bb
deleted file mode 100644
index 9b2ace9c4..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi-native_0.9.2.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "Tool for rapid CMPI providers development"
-DESCRIPTION = "\
-KonkretCMPI makes CMPI provider development easier by generating type-safe \
-concrete CIM interfaces from MOF definitions and by providing default \
-implementations for many of the provider operations."
-HOMEPAGE = "https://github.com/rnovacek/konkretcmpi"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f673270bfc350d9ce1efc8724c6c1873"
-DEPENDS = "cmake-native cmpi-bindings-native"
-
-SRC_URI = "git://github.com/rnovacek/konkretcmpi.git \
- file://konkretcmpi-0.9.2-fix-returning-instance-from-method.patch \
- file://0001-CMakeLists.txt-fix-lib64-can-not-be-shiped-in-64bit-.patch "
-
-SRCREV = "460e6421c16a8216d29ccd1b7490f814dab8b769"
-S = "${WORKDIR}/git"
-
-inherit native cmake
-LDFLAGS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
-
-EXTRA_OECMAKE = "-DWITH_PYTHON=ON \
- ${@base_conditional("libdir", "/usr/lib64", "-DLIB_SUFFIX=64", "", d)} \
- ${@base_conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \
- "
-
-do_install_append() {
- rm -rf ${D}${datadir}
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi/0001-drop-including-rpath-cmake-module.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi/0001-drop-including-rpath-cmake-module.patch
new file mode 100644
index 000000000..342017bed
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi/0001-drop-including-rpath-cmake-module.patch
@@ -0,0 +1,38 @@
+From 45e1c4c04a126d2386446775f99084bd603016af Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 1 Jun 2017 23:10:59 -0700
+Subject: [PATCH] drop including rpath cmake module
+
+Fixes cross compilation QA errors e.g.
+/usr/lib/libkonkret.so.0.0.1 contains probably-redundant RPATH /usr/lib [useless-rpaths]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/konkret/CMakeLists.txt | 1 -
+ src/program/CMakeLists.txt | 1 -
+ 2 files changed, 2 deletions(-)
+
+diff --git a/src/konkret/CMakeLists.txt b/src/konkret/CMakeLists.txt
+index c2faa40..df49e11 100644
+--- a/src/konkret/CMakeLists.txt
++++ b/src/konkret/CMakeLists.txt
+@@ -8,7 +8,6 @@ set(konkret_SRCS
+ kstr.c
+ print.c
+ )
+-include(rpath)
+ include_directories(${CMPI_INCLUDE_DIR})
+
+ add_library(libkonkret SHARED ${konkret_SRCS})
+diff --git a/src/program/CMakeLists.txt b/src/program/CMakeLists.txt
+index afcefe5..8a4646c 100644
+--- a/src/program/CMakeLists.txt
++++ b/src/program/CMakeLists.txt
+@@ -1,4 +1,3 @@
+-include (rpath)
+ include_directories(${CMPI_INCLUDE_DIR} ${CMAKE_SOURCE_DIR}/src)
+
+ add_executable(konkret main.cpp)
+--
+2.13.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi/konkretcmpi-0.9.2-fix-returning-instance-from-method.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi/konkretcmpi-0.9.2-fix-returning-instance-from-method.patch
deleted file mode 100644
index b54d09159..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi/konkretcmpi-0.9.2-fix-returning-instance-from-method.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Port from Fedora20
-
- | commit aca6c7f910ffe9930b5789969f0adfadd668bb46
- | Author: Michal Minar <miminar@redhat.com>
- | Date: Fri Jun 20 10:50:45 2014 +0200
- |
- | Fix returning instance as an output argument from method
- |
- | Submitted By: Radek Novacek <rnovacek@redhat.com>
-
-Upstream-Status: Pending
-Signed-off-by: Qian Lei <qianl.fnst@cn.fujitsu.com>
-
-diff --git a/src/program/main.cpp b/src/program/main.cpp
-index 885dc12..9e7108a 100644
---- a/src/program/main.cpp
-+++ b/src/program/main.cpp
-@@ -506,7 +506,11 @@ static void gen_feature_decls(
-
- // Add sig entry [type][length][name][zero-terminator]
-
-- KTag tag = _ktag(pd->data_type, pd->array_index, key, false, false);
-+ KTag tag;
-+ if (pd->qualifiers->has_key("EmbeddedInstance"))
-+ tag = _ktag(TOK_INSTANCE, pd->array_index, key, false, false);
-+ else
-+ tag = _ktag(pd->data_type, pd->array_index, key, false, false);
- pack_tag(sig, tag);
- pack_name(sig, pd->name);
- count++;
-@@ -640,6 +644,7 @@ static void gen_param(FILE* os, MOF_Parameter* p, vector<unsigned char>& sig)
- const char* ktn = _ktype_name(p->data_type);
-
- if (p->qualifiers->has_key("EmbeddedInstance")) {
-+ tag = _ktag(TOK_INSTANCE, p->array_index, false, in, out);
- if (p->array_index)
- put(os, " KInstanceA $0;\n", p->name, NULL);
- else
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi_0.9.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi_0.9.2.bb
index 1d8b0dbd4..cbf04734e 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi_0.9.2.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi_0.9.2.bb
@@ -6,14 +6,15 @@ implementations for many of the provider operations."
HOMEPAGE = "https://github.com/rnovacek/konkretcmpi"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=f673270bfc350d9ce1efc8724c6c1873"
-DEPENDS = "swig-native sblim-cmpi-devel python"
+DEPENDS_append_class-target = " swig-native sblim-cmpi-devel python"
+DEPENDS_append_class-native = " cmpi-bindings-native"
SRC_URI = "git://github.com/rnovacek/konkretcmpi.git \
- file://konkretcmpi-0.9.2-fix-returning-instance-from-method.patch \
file://0001-CMakeLists.txt-fix-lib64-can-not-be-shiped-in-64bit-.patch \
+ file://0001-drop-including-rpath-cmake-module.patch \
"
-SRCREV = "460e6421c16a8216d29ccd1b7490f814dab8b769"
+SRCREV = "ad28225e6eceff88417a60c1ba8896c8e40f21a7"
S = "${WORKDIR}/git"
inherit cmake
@@ -23,6 +24,8 @@ EXTRA_OECMAKE = "-DWITH_PYTHON=ON \
${@base_conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \
"
+LDFLAGS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+
do_install_append() {
rm -rf ${D}${datadir}
}
@@ -32,3 +35,4 @@ PACKAGES =+ "${PN}-python ${PN}-python-dbg"
FILES_${PN}-python = "${libdir}/python2.7/site-packages/konkretmof.py* ${libdir}/python2.7/site-packages/_konkretmof.so"
FILES_${PN}-python-dbg = "${libdir}/python2.7/site-packages/.debug/*"
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/leveldb/leveldb/0001-Explicitly-disable-tcmalloc.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/leveldb/leveldb/0001-Explicitly-disable-tcmalloc.patch
deleted file mode 100644
index 4b76dd0c3..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/leveldb/leveldb/0001-Explicitly-disable-tcmalloc.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From d6daac04dab4b3acf4b88f16742d1b402cdc3d83 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Wed, 1 Oct 2014 18:54:04 +0200
-Subject: [PATCH] Explicitly disable tcmalloc
-
-Without this change leveldb autodetects tcmalloc from sysroot and
-sometimes became dependant on gperftools
-
-Disable autodetection without TCMALLOC_ENABLED=true pased to make
-
-Upstream-Status: Pending
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- build_detect_platform | 16 +++++++++-------
- 1 file changed, 9 insertions(+), 7 deletions(-)
-
-diff --git a/build_detect_platform b/build_detect_platform
-index bb76c4f..a586364 100755
---- a/build_detect_platform
-+++ b/build_detect_platform
-@@ -201,15 +201,17 @@ EOF
- PLATFORM_LIBS="$PLATFORM_LIBS -lsnappy"
- fi
-
-- # Test whether tcmalloc is available
-- $CXX $CXXFLAGS -x c++ - -o $CXXOUTPUT -ltcmalloc 2>/dev/null <<EOF
-- int main() {}
-+ if [ "$TCMALLOC_ENABLED" = "true" ]; then
-+ # Test whether tcmalloc is available
-+ $CXX $CXXFLAGS -x c++ - -o $CXXOUTPUT -ltcmalloc 2>/dev/null <<EOF
-+ int main() {}
- EOF
-- if [ "$?" = 0 ]; then
-- PLATFORM_LIBS="$PLATFORM_LIBS -ltcmalloc"
-- fi
-+ if [ "$?" = 0 ]; then
-+ PLATFORM_LIBS="$PLATFORM_LIBS -ltcmalloc"
-+ fi
-
-- rm -f $CXXOUTPUT 2>/dev/null
-+ rm -f $CXXOUTPUT 2>/dev/null
-+ fi
- fi
-
- PLATFORM_CCFLAGS="$PLATFORM_CCFLAGS $COMMON_FLAGS"
---
-2.1.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/leveldb/leveldb/0001-Makefile-Fix-parallel-build.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/leveldb/leveldb/0001-Makefile-Fix-parallel-build.patch
new file mode 100644
index 000000000..3135d4d5a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/leveldb/leveldb/0001-Makefile-Fix-parallel-build.patch
@@ -0,0 +1,34 @@
+From c85978e77725ef233543370d24e23f853f449170 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 21 Sep 2017 17:47:02 -0700
+Subject: [PATCH] Makefile: Fix parallel build
+
+Sometimes mkdir $(SHARED_OUTDIR)/db races with compiler which is
+creating .o file in the same directory $(SHARED_OUTDIR)/db/db_bench.o
+
+Fixes error like
+
+| mkdir out-static
+| mkdir out-shared/db
+| Assembler messages:
+| Fatal error: can't create out-shared/db/db_bench.o: No such file or directory
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted
+
+ Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index f7cc7d7..51a0bcd 100644
+--- a/Makefile
++++ b/Makefile
+@@ -386,6 +386,7 @@ $(STATIC_OUTDIR)/write_batch_test:db/write_batch_test.cc $(STATIC_LIBOBJECTS) $(
+ $(STATIC_OUTDIR)/memenv_test:$(STATIC_OUTDIR)/helpers/memenv/memenv_test.o $(STATIC_OUTDIR)/libmemenv.a $(STATIC_OUTDIR)/libleveldb.a $(TESTHARNESS)
+ $(XCRUN) $(CXX) $(LDFLAGS) $(STATIC_OUTDIR)/helpers/memenv/memenv_test.o $(STATIC_OUTDIR)/libmemenv.a $(STATIC_OUTDIR)/libleveldb.a $(TESTHARNESS) -o $@ $(LIBS)
+
++$(SHARED_OUTDIR)/db/db_bench.o: | $(SHARED_OUTDIR)/db
+ $(SHARED_OUTDIR)/db_bench:$(SHARED_OUTDIR)/db/db_bench.o $(SHARED_LIBS) $(TESTUTIL)
+ $(XCRUN) $(CXX) $(LDFLAGS) $(CXXFLAGS) $(PLATFORM_SHARED_CFLAGS) $(SHARED_OUTDIR)/db/db_bench.o $(TESTUTIL) $(SHARED_OUTDIR)/$(SHARED_LIB3) -o $@ $(LIBS)
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/leveldb/leveldb/0001-build_detect_platform-Check-for-__SSE4_2__.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/leveldb/leveldb/0001-build_detect_platform-Check-for-__SSE4_2__.patch
new file mode 100644
index 000000000..8f93cb325
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/leveldb/leveldb/0001-build_detect_platform-Check-for-__SSE4_2__.patch
@@ -0,0 +1,37 @@
+From 5fd0918df2bb30e8f3edb2ee895d178edbf26f40 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 4 Sep 2017 22:38:03 -0700
+Subject: [PATCH 1/2] build_detect_platform: Check for __SSE4_2__
+
+just using -msse4.2 is not enough, especially with clang
+where it may accept -msse4.2 even during cross compiling
+for say arm, however the difference is that builtin defines
+wont be defined.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ build_detect_platform | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+Index: git/build_detect_platform
+===================================================================
+--- git.orig/build_detect_platform
++++ git/build_detect_platform
+@@ -224,13 +224,13 @@ EOF
+ rm -f $CXXOUTPUT 2>/dev/null
+
+ # Test if gcc SSE 4.2 is supported
+- $CXX $CXXFLAGS -x c++ - -o $CXXOUTPUT -msse4.2 2>/dev/null <<EOF
++ $CXX $CXXFLAGS -Werror -x c++ - -o $CXXOUTPUT -msse4.2 -dD -E 2>/dev/null <<EOF
+ int main() {}
+ EOF
++ eval fgrep __SSE4_2__ $CXXOUTPUT >/dev/null 2>&1
+ if [ "$?" = 0 ]; then
+ PLATFORM_SSEFLAGS="-msse4.2"
+ fi
+-
+ rm -f $CXXOUTPUT 2>/dev/null
+ fi
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/leveldb/leveldb/0002-makefile-build-SHARED_MEMENVLIB.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/leveldb/leveldb/0002-makefile-build-SHARED_MEMENVLIB.patch
new file mode 100644
index 000000000..fc708b23a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/leveldb/leveldb/0002-makefile-build-SHARED_MEMENVLIB.patch
@@ -0,0 +1,43 @@
+From 1ed8cec1fcf666904bb3ebd29fc85e235b72d122 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 4 Sep 2017 22:40:49 -0700
+Subject: [PATCH 2/2] makefile: build SHARED_MEMENVLIB
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ Makefile | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index f7cc7d7..cb42278 100644
+--- a/Makefile
++++ b/Makefile
+@@ -126,12 +126,12 @@ SHARED_VERSION_MINOR = 20
+ SHARED_LIB1 = libleveldb.$(PLATFORM_SHARED_EXT)
+ SHARED_LIB2 = $(SHARED_LIB1).$(SHARED_VERSION_MAJOR)
+ SHARED_LIB3 = $(SHARED_LIB1).$(SHARED_VERSION_MAJOR).$(SHARED_VERSION_MINOR)
+-SHARED_LIBS = $(SHARED_OUTDIR)/$(SHARED_LIB1) $(SHARED_OUTDIR)/$(SHARED_LIB2) $(SHARED_OUTDIR)/$(SHARED_LIB3)
++SHARED_LIBS = $(SHARED_OUTDIR)/$(SHARED_LIB1) $(SHARED_OUTDIR)/$(SHARED_LIB2) $(SHARED_OUTDIR)/$(SHARED_LIB3) $(SHARED_MEMENVLIB)
+ $(SHARED_OUTDIR)/$(SHARED_LIB1): $(SHARED_OUTDIR)/$(SHARED_LIB3)
+ ln -fs $(SHARED_LIB3) $(SHARED_OUTDIR)/$(SHARED_LIB1)
+ $(SHARED_OUTDIR)/$(SHARED_LIB2): $(SHARED_OUTDIR)/$(SHARED_LIB3)
+ ln -fs $(SHARED_LIB3) $(SHARED_OUTDIR)/$(SHARED_LIB2)
+-SHARED_MEMENVLIB = $(SHARED_OUTDIR)/libmemenv.a
++SHARED_MEMENVLIB = $(SHARED_OUTDIR)/libmemenv.$(PLATFORM_SHARED_EXT).$(SHARED_VERSION_MAJOR).$(SHARED_VERSION_MINOR)
+ endif
+
+ $(SHARED_OUTDIR)/$(SHARED_LIB3): $(SHARED_LIBOBJECTS)
+@@ -294,7 +294,7 @@ endif
+
+ $(SHARED_MEMENVLIB):$(SHARED_MEMENVOBJECTS)
+ rm -f $@
+- $(AR) -rs $@ $(SHARED_MEMENVOBJECTS)
++ $(CXX) $(LDFLAGS) $(PLATFORM_SHARED_LDFLAGS)$(basename $(notdir $(SHARED_MEMENVLIB))) $(SHARED_MEMENVOBJECTS) -o $(SHARED_MEMENVLIB) $(LIBS)
+
+ $(STATIC_OUTDIR)/db_bench:db/db_bench.cc $(STATIC_LIBOBJECTS) $(TESTUTIL)
+ $(CXX) $(LDFLAGS) $(CXXFLAGS) db/db_bench.cc $(STATIC_LIBOBJECTS) $(TESTUTIL) -o $@ $(LIBS)
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/leveldb/leveldb_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/leveldb/leveldb_git.bb
index a6a302430..8fec89c6f 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/leveldb/leveldb_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/leveldb/leveldb_git.bb
@@ -4,24 +4,34 @@ HOMEPAGE = "http://leveldb.googlecode.com"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=92d1b128950b11ba8495b64938fc164d"
-SRCREV = "803d69203a62faf50f1b77897310a3a1fcae712b"
-PV = "1.18+git${SRCPV}"
+SRCREV = "a53934a3ae1244679f812d998a4f16f2c7f309a6"
+PV = "1.20+git${SRCPV}"
SRC_URI = "git://github.com/google/${BPN}.git \
- file://0001-Explicitly-disable-tcmalloc.patch \
-"
+ file://0001-build_detect_platform-Check-for-__SSE4_2__.patch \
+ file://0002-makefile-build-SHARED_MEMENVLIB.patch \
+ file://0001-Makefile-Fix-parallel-build.patch \
+ "
S = "${WORKDIR}/git"
+inherit utils
+
do_compile() {
# do not use oe_runmake. oe_runmake pass to make compilation arguments and override
# leveldb makefile variable CFLAGS and broke leveldb build.
- CFLAGS="${CFLAGS}" make || die
+ CFLAGS="${CFLAGS}" make ${PARALLEL_MAKE}|| die
}
do_install() {
- install -d ${D}${libdir}
- oe_libinstall -C ${S} -so libleveldb ${D}${libdir}
- install -d ${D}${includedir}/leveldb
+ install -d ${D}${libdir} ${D}${bindir} ${D}${includedir}/leveldb
+ oe_libinstall -C ${B}/out-shared libleveldb ${D}${libdir}
+ oe_libinstall -C ${S}/out-static libleveldb ${D}${libdir}
+ oe_libinstall -C ${S}/out-static libmemenv ${D}${libdir}
+ install -m 0755 ${B}/out-shared/db_bench ${D}${bindir}
+ install -m 0755 ${B}/out-static/*_test ${D}${bindir}
install -m 644 ${S}/include/leveldb/*.h ${D}${includedir}/leveldb/
}
+
+PACKAGES =+ "${PN}-ptest"
+FILES_${PN}-ptest = "${bindir}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0001-fix-configure-and-compile-failures.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0001-fix-configure-and-compile-failures.patch
new file mode 100644
index 000000000..914ee99db
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0001-fix-configure-and-compile-failures.patch
@@ -0,0 +1,79 @@
+From 86686ccbf43c5d9e8c8dc97c66ba09e522050e5e Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 27 Jul 2017 10:06:24 +0800
+Subject: [PATCH 1/3] fix configure and compile failures
+
+1. Fix do_configure failure
+---------------------------
+|Checking header volume_key/libvolume_key.h existence and usability.
+../tmp/6tvtK.c:1:38: fatal error: volume_key/libvolume_key.h:
+No such file or directory
+| #include <volume_key/libvolume_key.h>
+|Checking header dmraid/dmraid.h existence and usability.../tmp/
+ktVJ6.c:1:27: fatal error: dmraid/dmraid.h: No such file or directory
+| #include <dmraid/dmraid.h>
+---------------------------
+We explictly add volume_key and dmraid to DEPENDS, do not need
+configure to test.
+
+2. Fix config.h not found
+Add it to configure.ac
+
+3. Correct AC_DEFINE
+...
+autoheader: warning: missing template: LIBMOUNT_NEW_ERR_API
+autoheader: Use AC_DEFINE([LIBMOUNT_NEW_ERR_API], [], [Description])
+...
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ configure.ac | 10 ++++------
+ 1 file changed, 4 insertions(+), 6 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 0270c99..b7c7368 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -9,6 +9,8 @@ AC_DISABLE_STATIC
+ AM_INIT_AUTOMAKE([foreign -Wall -Werror -Wno-syntax -Wno-portability])
+ AC_CONFIG_MACRO_DIR([m4])
+
++AC_CONFIG_HEADERS([config.h])
++
+ AM_PATH_PYTHON
+
+ AM_PROG_AR
+@@ -129,7 +131,6 @@ LIBBLOCKDEV_PKG_CHECK_MODULES([UDEV], [libudev >= 216])
+ AS_IF([test "x$with_crypto" != "xno"],
+ [LIBBLOCKDEV_PKG_CHECK_MODULES([CRYPTSETUP], [libcryptsetup >= 1.6.7])
+ LIBBLOCKDEV_PKG_CHECK_MODULES([NSS], [nss >= 3.18.0])
+- LIBBLOCKDEV_CHECK_HEADER([volume_key/libvolume_key.h], [$GLIB_CFLAGS $NSS_CFLAGS], [libvolume_key.h not available])
+ ],
+ [])
+
+@@ -137,10 +138,6 @@ AS_IF([test "x$with_dm" != "xno" -o "x$with_lvm" != "xno" -o "x$with_lvm_dbus" !
+ [LIBBLOCKDEV_PKG_CHECK_MODULES([DEVMAPPER], [devmapper >= 1.02.93])],
+ [])
+
+-AS_IF([test "x$with_dm" != "xno"],
+- [LIBBLOCKDEV_CHECK_HEADER([dmraid/dmraid.h], [], [dmraid.h not available])],
+- [])
+-
+ AS_IF([test "x$with_kbd" != "xno"],
+ [LIBBLOCKDEV_PKG_CHECK_MODULES([KMOD], [libkmod >= 19])],
+ [])
+@@ -154,7 +151,8 @@ AS_IF([test "x$with_fs" != "xno"],
+ [LIBBLOCKDEV_PKG_CHECK_MODULES([MOUNT], [mount >= 2.23.0])
+ # new versions of libmount has some new functions we can use
+ AS_IF([$PKG_CONFIG --atleast-version=2.30.0 mount],
+- [AC_DEFINE([LIBMOUNT_NEW_ERR_API])], [])
++ [AC_DEFINE([LIBMOUNT_NEW_ERR_API], [1], [new versions of libmount has some new functions we can use])],
++ [])
+
+ LIBBLOCKDEV_PKG_CHECK_MODULES([BLKID], [blkid >= 2.23.0])
+ # older versions of libblkid don't support BLKID_SUBLKS_BADCSUM so let's just
+--
+1.8.3.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0002-remove-python2-support.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0002-remove-python2-support.patch
new file mode 100644
index 000000000..0719759cd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0002-remove-python2-support.patch
@@ -0,0 +1,30 @@
+From 40dae7ea6450cb30f066da8443eabf063b5b0ad7 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 8 May 2017 02:05:40 -0400
+Subject: [PATCH 2/3] remove python2 support
+
+Only python3 is required.
+
+Upstream-Status: Inappropriate [wr-installer specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ src/python/gi/overrides/Makefile.am | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/src/python/gi/overrides/Makefile.am b/src/python/gi/overrides/Makefile.am
+index a2927ac..6385502 100644
+--- a/src/python/gi/overrides/Makefile.am
++++ b/src/python/gi/overrides/Makefile.am
+@@ -1,8 +1,3 @@
+-pylibdir = $(shell python -c "import distutils.sysconfig; print(distutils.sysconfig.get_python_lib(1,0,prefix='${exec_prefix}'))")
+-
+-overridesdir = $(pylibdir)/gi/overrides
+-dist_overrides_DATA = BlockDev.py
+-
+ if WITH_PYTHON3
+ py3libdir = $(shell python3 -c "import distutils.sysconfig; print(distutils.sysconfig.get_python_lib(1,0,prefix='${exec_prefix}'))")
+ py3overridesdir = $(py3libdir)/gi/overrides
+--
+1.8.3.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0003-remove-dmraid-while-compiling-with-with-dm.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0003-remove-dmraid-while-compiling-with-with-dm.patch
new file mode 100644
index 000000000..3d9cb6d01
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0003-remove-dmraid-while-compiling-with-with-dm.patch
@@ -0,0 +1,470 @@
+From bda7c937ba544182a5cae2a9cf0c173e0ba268c9 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 27 Jul 2017 09:47:23 +0800
+Subject: [PATCH 3/3] remove dmraid while compiling with --with-dm
+
+Fix the following failure:
+
+...
+Perhaps you should add the directory containing `dmraid.pc'
+to the PKG_CONFIG_PATH environment variable
+No package 'dmraid' found
+...
+
+...
+../../../git/src/plugins/dm.c:24:10: fatal error: dmraid/dmraid.h: No
+such file or directory
+ #include <dmraid/dmraid.h>
+ ^~~~~~~~~~~~~~~~~
+...
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ src/lib/plugin_apis/dm.api | 41 -----
+ src/plugins/Makefile.am | 2 +-
+ src/plugins/dm.c | 318 ------------------------------------
+ src/plugins/dm.h | 5 -
+ src/python/gi/overrides/BlockDev.py | 6 -
+ 5 files changed, 1 insertion(+), 371 deletions(-)
+
+diff --git a/src/lib/plugin_apis/dm.api b/src/lib/plugin_apis/dm.api
+index a885bba..ec86b80 100644
+--- a/src/lib/plugin_apis/dm.api
++++ b/src/lib/plugin_apis/dm.api
+@@ -68,44 +68,3 @@ gchar* bd_dm_node_from_name (const gchar *map_name, GError **error);
+ */
+ gboolean bd_dm_map_exists (const gchar *map_name, gboolean live_only, gboolean active_only, GError **error);
+
+-/**
+- * bd_dm_get_member_raid_sets:
+- * @name: (allow-none): name of the member
+- * @uuid: (allow-none): uuid of the member
+- * @major: major number of the device or -1 if not specified
+- * @minor: minor number of the device or -1 if not specified
+- * @error: (out): variable to store error (if any)
+- *
+- * Returns: (transfer full) (array zero-terminated=1): list of names of the RAID sets related to
+- * the member or %NULL in case of error
+- *
+- * One of @name, @uuid or @major:@minor has to be given.
+- */
+-gchar** bd_dm_get_member_raid_sets (const gchar *name, const gchar *uuid, gint major, gint minor, GError **error);
+-
+-/**
+- * bd_dm_activate_raid_set:
+- * @name: name of the DM RAID set to activate
+- * @error: (out): variable to store error (if any)
+- *
+- * Returns: whether the RAID set @name was successfully activate or not
+- */
+-gboolean bd_dm_activate_raid_set (const gchar *name, GError **error);
+-
+-/**
+- * bd_dm_deactivate_raid_set:
+- * @name: name of the DM RAID set to deactivate
+- * @error: (out): variable to store error (if any)
+- *
+- * Returns: whether the RAID set @name was successfully deactivate or not
+- */
+-gboolean bd_dm_deactivate_raid_set (const gchar *name, GError **error);
+-
+-/**
+- * bd_dm_get_raid_set_type:
+- * @name: name of the DM RAID set to get the type of
+- * @error: (out): variable to store error (if any)
+- *
+- * Returns: string representation of the @name RAID set's type
+- */
+-gchar* bd_dm_get_raid_set_type (const gchar *name, GError **error);
+diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am
+index 6c4038f..59dc5e3 100644
+--- a/src/plugins/Makefile.am
++++ b/src/plugins/Makefile.am
+@@ -76,7 +76,7 @@ endif
+
+ if WITH_DM
+ libbd_dm_la_CFLAGS = $(GLIB_CFLAGS) $(DEVMAPPER_CFLAGS) $(UDEV_CFLAGS) -Wall -Wextra -Werror
+-libbd_dm_la_LIBADD = $(GLIB_LIBS) $(DEVMAPPER_LIBS) $(UDEV_LIBS) -ldmraid ${builddir}/../utils/libbd_utils.la
++libbd_dm_la_LIBADD = $(GLIB_LIBS) $(DEVMAPPER_LIBS) $(UDEV_LIBS) ${builddir}/../utils/libbd_utils.la
+ libbd_dm_la_LDFLAGS = -L${srcdir}/../utils/ -version-info 2:0:0 -Wl,--no-undefined
+ # Dear author of libdmdraid, VERSION really is not a good name for an enum member!
+ libbd_dm_la_CPPFLAGS = -I${builddir}/../../include/ -UVERSION
+diff --git a/src/plugins/dm.c b/src/plugins/dm.c
+index 9cee742..fd7c7ba 100644
+--- a/src/plugins/dm.c
++++ b/src/plugins/dm.c
+@@ -21,16 +21,10 @@
+ #include <unistd.h>
+ #include <blockdev/utils.h>
+ #include <libdevmapper.h>
+-#include <dmraid/dmraid.h>
+ #include <libudev.h>
+
+ #include "dm.h"
+
+-/* macros taken from the pyblock/dmraid.h file plus one more*/
+-#define for_each_raidset(_c, _n) list_for_each_entry(_n, LC_RS(_c), list)
+-#define for_each_subset(_rs, _n) list_for_each_entry(_n, &(_rs)->sets, list)
+-#define for_each_device(_rs, _d) list_for_each_entry(_d, &(_rs)->devs, devs)
+-
+ /**
+ * SECTION: dm
+ * @short_description: plugin for basic operations with device mapper
+@@ -286,315 +280,3 @@ gboolean bd_dm_map_exists (const gchar *map_name, gboolean live_only, gboolean a
+ return ret;
+ }
+
+-/**
+- * init_dmraid_stack: (skip)
+- *
+- * Initializes the dmraid stack by creating the library context, discovering
+- * devices, raid sets, etc.
+- */
+-static struct lib_context* init_dmraid_stack (GError **error) {
+- gint rc = 0;
+- gchar *argv[] = {"blockdev.dmraid", NULL};
+- struct lib_context *lc;
+-
+- /* the code for this function was cherry-picked from the pyblock code */
+- /* XXX: do this all just once, store global lc and provide a reinit
+- * function? */
+-
+- /* initialize dmraid library context */
+- lc = libdmraid_init (1, (gchar **)argv);
+-
+- rc = discover_devices (lc, NULL);
+- if (!rc) {
+- g_set_error (error, BD_DM_ERROR, BD_DM_ERROR_RAID_FAIL,
+- "Failed to discover devices");
+- libdmraid_exit (lc);
+- return NULL;
+- }
+- discover_raid_devices (lc, NULL);
+-
+- if (!count_devices (lc, RAID)) {
+- g_set_error (error, BD_DM_ERROR, BD_DM_ERROR_RAID_NO_DEVS,
+- "No RAIDs discovered");
+- libdmraid_exit (lc);
+- return NULL;
+- }
+-
+- argv[0] = NULL;
+- if (!group_set (lc, argv)) {
+- g_set_error (error, BD_DM_ERROR, BD_DM_ERROR_RAID_FAIL,
+- "Failed to group_set");
+- libdmraid_exit (lc);
+- return NULL;
+- }
+-
+- return lc;
+-}
+-
+-/**
+- * raid_dev_matches_spec: (skip)
+- *
+- * Returns: whether the device specified by @sysname matches the spec given by @name,
+- * @uuid, @major and @minor
+- */
+-static gboolean raid_dev_matches_spec (struct raid_dev *raid_dev, const gchar *name, const gchar *uuid, gint major, gint minor) {
+- gchar const *dev_name = NULL;
+- gchar const *dev_uuid;
+- gchar const *major_str;
+- gchar const *minor_str;
+- struct udev *context;
+- struct udev_device *device;
+- gboolean ret = TRUE;
+-
+- /* find the second '/' to get name (the rest of the string) */
+- dev_name = strchr (raid_dev->di->path, '/');
+- if (dev_name && strlen (dev_name) > 1) {
+- dev_name++;
+- dev_name = strchr (dev_name, '/');
+- }
+- if (dev_name && strlen (dev_name) > 1) {
+- dev_name++;
+- }
+- else
+- dev_name = NULL;
+-
+- /* if we don't have the name, we cannot check any match */
+- g_return_val_if_fail (dev_name, FALSE);
+-
+- if (name && strcmp (dev_name, name) != 0) {
+- return FALSE;
+- }
+-
+- context = udev_new ();
+- device = udev_device_new_from_subsystem_sysname (context, "block", dev_name);
+- dev_uuid = udev_device_get_property_value (device, "UUID");
+- major_str = udev_device_get_property_value (device, "MAJOR");
+- minor_str = udev_device_get_property_value (device, "MINOR");
+-
+- if (uuid && (g_strcmp0 (uuid, "") != 0) && (g_strcmp0 (uuid, dev_uuid) != 0))
+- ret = FALSE;
+-
+- if (major >= 0 && (atoi (major_str) != major))
+- ret = FALSE;
+-
+- if (minor >= 0 && (atoi (minor_str) != minor))
+- ret = FALSE;
+-
+- udev_device_unref (device);
+- udev_unref (context);
+-
+- return ret;
+-}
+-
+-/**
+- * find_raid_sets_for_dev: (skip)
+- */
+-static void find_raid_sets_for_dev (const gchar *name, const gchar *uuid, gint major, gint minor, struct lib_context *lc, struct raid_set *rs, GPtrArray *ret_sets) {
+- struct raid_set *subset;
+- struct raid_dev *dev;
+-
+- if (T_GROUP(rs) || !list_empty(&(rs->sets))) {
+- for_each_subset (rs, subset)
+- find_raid_sets_for_dev (name, uuid, major, minor, lc, subset, ret_sets);
+- } else {
+- for_each_device (rs, dev) {
+- if (raid_dev_matches_spec (dev, name, uuid, major, minor))
+- g_ptr_array_add (ret_sets, g_strdup (rs->name));
+- }
+- }
+-}
+-
+-/**
+- * bd_dm_get_member_raid_sets:
+- * @name: (allow-none): name of the member
+- * @uuid: (allow-none): uuid of the member
+- * @major: major number of the device or -1 if not specified
+- * @minor: minor number of the device or -1 if not specified
+- * @error: (out): variable to store error (if any)
+- *
+- * Returns: (transfer full) (array zero-terminated=1): list of names of the RAID sets related to
+- * the member or %NULL in case of error
+- *
+- * One of @name, @uuid or @major:@minor has to be given.
+- */
+-gchar** bd_dm_get_member_raid_sets (const gchar *name, const gchar *uuid, gint major, gint minor, GError **error) {
+- guint64 i = 0;
+- struct lib_context *lc = NULL;
+- struct raid_set *rs = NULL;
+- GPtrArray *ret_sets = g_ptr_array_new ();
+- gchar **ret = NULL;
+-
+- lc = init_dmraid_stack (error);
+- if (!lc)
+- /* error is already populated */
+- return NULL;
+-
+- for_each_raidset (lc, rs) {
+- find_raid_sets_for_dev (name, uuid, major, minor, lc, rs, ret_sets);
+- }
+-
+- /* now create the return value -- NULL-terminated array of strings */
+- ret = g_new0 (gchar*, ret_sets->len + 1);
+- for (i=0; i < ret_sets->len; i++)
+- ret[i] = (gchar*) g_ptr_array_index (ret_sets, i);
+- ret[i] = NULL;
+-
+- g_ptr_array_free (ret_sets, FALSE);
+-
+- libdmraid_exit (lc);
+- return ret;
+-}
+-
+-/**
+- * find_in_raid_sets: (skip)
+- *
+- * Runs @eval_fn with @data on each set (traversing recursively) and returns the
+- * first RAID set that @eval_fn returns. Thus the @eval_fn should return %NULL
+- * on all RAID sets that don't fulfill the search criteria.
+- */
+-static struct raid_set* find_in_raid_sets (struct raid_set *rs, RSEvalFunc eval_fn, gpointer data) {
+- struct raid_set *subset = NULL;
+- struct raid_set *ret = NULL;
+-
+- ret = eval_fn (rs, data);
+- if (ret)
+- return ret;
+-
+- if (T_GROUP(rs) || !list_empty(&(rs->sets))) {
+- for_each_subset (rs, subset) {
+- ret = find_in_raid_sets (subset, eval_fn, data);
+- if (ret)
+- return ret;
+- }
+- }
+-
+- return ret;
+-}
+-
+-static struct raid_set* rs_matches_name (struct raid_set *rs, gpointer *name_data) {
+- gchar *name = (gchar*) name_data;
+-
+- if (g_strcmp0 (rs->name, name) == 0)
+- return rs;
+- else
+- return NULL;
+-}
+-
+-static gboolean change_set_by_name (const gchar *name, enum activate_type action, GError **error) {
+- gint rc = 0;
+- struct lib_context *lc;
+- struct raid_set *iter_rs;
+- struct raid_set *match_rs = NULL;
+-
+- lc = init_dmraid_stack (error);
+- if (!lc)
+- /* error is already populated */
+- return FALSE;
+-
+- for_each_raidset (lc, iter_rs) {
+- match_rs = find_in_raid_sets (iter_rs, (RSEvalFunc)rs_matches_name, (gchar *)name);
+- if (match_rs)
+- break;
+- }
+-
+- if (!match_rs) {
+- g_set_error (error, BD_DM_ERROR, BD_DM_ERROR_RAID_NO_EXIST,
+- "RAID set %s doesn't exist", name);
+- libdmraid_exit (lc);
+- return FALSE;
+- }
+-
+- rc = change_set (lc, action, match_rs);
+- if (!rc) {
+- g_set_error (error, BD_DM_ERROR, BD_DM_ERROR_RAID_FAIL,
+- "Failed to activate the RAID set '%s'", name);
+- libdmraid_exit (lc);
+- return FALSE;
+- }
+-
+- libdmraid_exit (lc);
+- return TRUE;
+-}
+-
+-/**
+- * bd_dm_activate_raid_set:
+- * @name: name of the DM RAID set to activate
+- * @error: (out): variable to store error (if any)
+- *
+- * Returns: whether the RAID set @name was successfully activate or not
+- */
+-gboolean bd_dm_activate_raid_set (const gchar *name, GError **error) {
+- guint64 progress_id = 0;
+- gchar *msg = NULL;
+- gboolean ret = FALSE;
+-
+- msg = g_strdup_printf ("Activating DM RAID set '%s'", name);
+- progress_id = bd_utils_report_started (msg);
+- g_free (msg);
+- ret = change_set_by_name (name, A_ACTIVATE, error);
+- bd_utils_report_finished (progress_id, "Completed");
+- return ret;
+-}
+-
+-/**
+- * bd_dm_deactivate_raid_set:
+- * @name: name of the DM RAID set to deactivate
+- * @error: (out): variable to store error (if any)
+- *
+- * Returns: whether the RAID set @name was successfully deactivate or not
+- */
+-gboolean bd_dm_deactivate_raid_set (const gchar *name, GError **error) {
+- guint64 progress_id = 0;
+- gchar *msg = NULL;
+- gboolean ret = FALSE;
+-
+- msg = g_strdup_printf ("Deactivating DM RAID set '%s'", name);
+- progress_id = bd_utils_report_started (msg);
+- g_free (msg);
+- ret = change_set_by_name (name, A_DEACTIVATE, error);
+- bd_utils_report_finished (progress_id, "Completed");
+- return ret;
+-}
+-
+-/**
+- * bd_dm_get_raid_set_type:
+- * @name: name of the DM RAID set to get the type of
+- * @error: (out): variable to store error (if any)
+- *
+- * Returns: string representation of the @name RAID set's type
+- */
+-gchar* bd_dm_get_raid_set_type (const gchar *name, GError **error) {
+- struct lib_context *lc;
+- struct raid_set *iter_rs;
+- struct raid_set *match_rs = NULL;
+- const gchar *type = NULL;
+-
+- lc = init_dmraid_stack (error);
+- if (!lc)
+- /* error is already populated */
+- return NULL;
+-
+- for_each_raidset (lc, iter_rs) {
+- match_rs = find_in_raid_sets (iter_rs, (RSEvalFunc)rs_matches_name, (gchar *)name);
+- if (match_rs)
+- break;
+- }
+-
+- if (!match_rs) {
+- g_set_error (error, BD_DM_ERROR, BD_DM_ERROR_RAID_NO_EXIST,
+- "RAID set %s doesn't exist", name);
+- libdmraid_exit (lc);
+- return NULL;
+- }
+-
+- type = get_set_type (lc, match_rs);
+- if (!type) {
+- g_set_error (error, BD_DM_ERROR, BD_DM_ERROR_RAID_FAIL,
+- "Failed to get RAID set's type");
+- libdmraid_exit (lc);
+- return NULL;
+- }
+-
+- libdmraid_exit (lc);
+- return g_strdup (type);
+-}
+diff --git a/src/plugins/dm.h b/src/plugins/dm.h
+index 859fb80..80acd49 100644
+--- a/src/plugins/dm.h
++++ b/src/plugins/dm.h
+@@ -1,5 +1,4 @@
+ #include <glib.h>
+-#include <dmraid/dmraid.h>
+
+ #ifndef BD_DM
+ #define BD_DM
+@@ -35,9 +34,5 @@ gboolean bd_dm_remove (const gchar *map_name, GError **error);
+ gchar* bd_dm_name_from_node (const gchar *dm_node, GError **error);
+ gchar* bd_dm_node_from_name (const gchar *map_name, GError **error);
+ gboolean bd_dm_map_exists (const gchar *map_name, gboolean live_only, gboolean active_only, GError **error);
+-gchar** bd_dm_get_member_raid_sets (const gchar *name, const gchar *uuid, gint major, gint minor, GError **error);
+-gboolean bd_dm_activate_raid_set (const gchar *name, GError **error);
+-gboolean bd_dm_deactivate_raid_set (const gchar *name, GError **error);
+-gchar* bd_dm_get_raid_set_type (const gchar *name, GError **error);
+
+ #endif /* BD_DM */
+diff --git a/src/python/gi/overrides/BlockDev.py b/src/python/gi/overrides/BlockDev.py
+index fb3ffb4..eed0a38 100644
+--- a/src/python/gi/overrides/BlockDev.py
++++ b/src/python/gi/overrides/BlockDev.py
+@@ -233,12 +233,6 @@ def dm_create_linear(map_name, device, length, uuid=None):
+ return _dm_create_linear(map_name, device, length, uuid)
+ __all__.append("dm_create_linear")
+
+-_dm_get_member_raid_sets = BlockDev.dm_get_member_raid_sets
+-@override(BlockDev.dm_get_member_raid_sets)
+-def dm_get_member_raid_sets(name=None, uuid=None, major=-1, minor=-1):
+- return _dm_get_member_raid_sets(name, uuid, major, minor)
+-__all__.append("dm_get_member_raid_sets")
+-
+
+ _loop_setup = BlockDev.loop_setup
+ @override(BlockDev.loop_setup)
+--
+1.8.3.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0004-fix-compile-failure-against-musl-C-library.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0004-fix-compile-failure-against-musl-C-library.patch
new file mode 100644
index 000000000..f18b56928
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0004-fix-compile-failure-against-musl-C-library.patch
@@ -0,0 +1,50 @@
+From 59fbd57acd1df25b1972a131dc6a77a4fe147729 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 27 Jul 2017 10:45:02 +0800
+Subject: [PATCH] fix compile failure against musl C library
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ src/plugins/crypto.c | 2 +-
+ src/plugins/part.c | 3 ++-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/plugins/crypto.c b/src/plugins/crypto.c
+index 8fbce4f..66e11e5 100644
+--- a/src/plugins/crypto.c
++++ b/src/plugins/crypto.c
+@@ -22,7 +22,7 @@
+ #include <libcryptsetup.h>
+ #include <nss.h>
+ #include <volume_key/libvolume_key.h>
+-#include <sys/fcntl.h>
++#include <fcntl.h>
+ #include <sys/ioctl.h>
+ #include <linux/random.h>
+ #include <locale.h>
+diff --git a/src/plugins/part.c b/src/plugins/part.c
+index 12d2ef7..3afe297 100644
+--- a/src/plugins/part.c
++++ b/src/plugins/part.c
+@@ -25,6 +25,7 @@
+ #include <inttypes.h>
+ #include <unistd.h>
+ #include <sys/file.h>
++#include <fcntl.h>
+ #include <blockdev/utils.h>
+ #include <part_err.h>
+
+@@ -1224,7 +1225,7 @@ static gboolean set_gpt_flags (const gchar *device, int part_num, guint64 flags,
+ real_flags |= 0x4000000000000000; /* 1 << 62 */
+ if (flags & BD_PART_FLAG_GPT_NO_AUTOMOUNT)
+ real_flags |= 0x8000000000000000; /* 1 << 63 */
+- mask_str = g_strdup_printf ("%.16"__PRI64_PREFIX"x", real_flags);
++ mask_str = g_strdup_printf ("%.16"__PRI64"x", real_flags);
+
+ args[2] = g_strdup_printf ("%d:=:%s", part_num, mask_str);
+ g_free (mask_str);
+--
+1.8.3.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0005-fix-a-clang-compiling-issue.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0005-fix-a-clang-compiling-issue.patch
new file mode 100644
index 000000000..381893608
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0005-fix-a-clang-compiling-issue.patch
@@ -0,0 +1,111 @@
+From 9b4a7a4d0653b627d747e00d6b3ada2990caa1d3 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 9 Aug 2017 13:57:57 +0800
+Subject: [PATCH] fix a clang compiling issue
+
+[snip]
+../../../git/src/plugins/fs.c:2617:26: error: missing field 'start'
+initializer [-Werror,-Wmissing-field-initializers]
+ PedGeometry geom = {0};
+ ^
+../../../git/src/plugins/fs.c:2618:30: error: missing field 'start'
+initializer [-Werror,-Wmissing-field-initializers]
+ PedGeometry new_geom = {0};
+[snip]
+
+Fix typo s/enum libvk_packet_format format/enum libvk_secret secret_type/
+
+Upstream-Status: Submitted [https://github.com/storaged-project/libblockdev/pull/266]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ src/plugins/crypto.c | 6 +++---
+ src/plugins/fs.c | 4 ++--
+ src/plugins/part.c | 4 ++--
+ src/utils/exec.c | 2 +-
+ 4 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/src/plugins/crypto.c b/src/plugins/crypto.c
+index 8fbce4f..7ee7cdc 100644
+--- a/src/plugins/crypto.c
++++ b/src/plugins/crypto.c
+@@ -881,7 +881,7 @@ gboolean bd_crypto_tc_open (const gchar *device, const gchar *name, const guint8
+ gint ret = 0;
+ guint64 progress_id = 0;
+ gchar *msg = NULL;
+- struct crypt_params_tcrypt params = {0};
++ struct crypt_params_tcrypt params = {NULL,0,NULL,0,NULL,NULL,NULL,0,0};
+
+ msg = g_strdup_printf ("Started opening '%s' TrueCrypt/VeraCrypt device", device);
+ progress_id = bd_utils_report_started (msg);
+@@ -999,7 +999,7 @@ static gchar *replace_char (gchar *str, gchar orig, gchar new) {
+ return str;
+ }
+
+-static gboolean write_escrow_data_file (struct libvk_volume *volume, struct libvk_ui *ui, enum libvk_packet_format format, const gchar *out_path,
++static gboolean write_escrow_data_file (struct libvk_volume *volume, struct libvk_ui *ui, enum libvk_secret secret_type, const gchar *out_path,
+ CERTCertificate *cert, GError **error) {
+ gpointer packet_data = NULL;
+ gsize packet_data_size = 0;
+@@ -1008,7 +1008,7 @@ static gboolean write_escrow_data_file (struct libvk_volume *volume, struct libv
+ gsize bytes_written = 0;
+ GError *tmp_error = NULL;
+
+- packet_data = libvk_volume_create_packet_asymmetric_with_format (volume, &packet_data_size, format, cert,
++ packet_data = libvk_volume_create_packet_asymmetric_with_format (volume, &packet_data_size, secret_type, cert,
+ ui, LIBVK_PACKET_FORMAT_ASYMMETRIC_WRAP_SECRET_ONLY, error);
+
+ if (!packet_data) {
+diff --git a/src/plugins/fs.c b/src/plugins/fs.c
+index c4b6ac8..647096d 100644
+--- a/src/plugins/fs.c
++++ b/src/plugins/fs.c
+@@ -2614,8 +2614,8 @@ BDFSVfatInfo* bd_fs_vfat_get_info (const gchar *device, GError **error) {
+ */
+ gboolean bd_fs_vfat_resize (const gchar *device, guint64 new_size, GError **error) {
+ PedDevice *ped_dev = NULL;
+- PedGeometry geom = {0};
+- PedGeometry new_geom = {0};
++ PedGeometry geom = {NULL, 0, 0, 0};
++ PedGeometry new_geom = {NULL, 0, 0, 0};
+ PedFileSystem *fs = NULL;
+ PedSector start = 0;
+ PedSector length = 0;
+diff --git a/src/plugins/part.c b/src/plugins/part.c
+index 12d2ef7..d277688 100644
+--- a/src/plugins/part.c
++++ b/src/plugins/part.c
+@@ -849,7 +849,7 @@ static PedPartition* add_part_to_disk (PedDevice *dev, PedDisk *disk, BDPartType
+ return NULL;
+ }
+
+- part = ped_partition_new (disk, type, NULL, geom->start, geom->end);
++ part = ped_partition_new (disk, (PedPartitionType)type, NULL, geom->start, geom->end);
+ if (!part) {
+ set_parted_error (error, BD_PART_ERROR_FAIL);
+ g_prefix_error (error, "Failed to create new partition on device '%s'", dev->path);
+@@ -1427,7 +1427,7 @@ gboolean bd_part_set_part_flags (const gchar *disk, const gchar *part, guint64 f
+ PedPartition *ped_part = NULL;
+ const gchar *part_num_str = NULL;
+ gint part_num = 0;
+- guint64 i = 0;
++ int i = 0;
+ gint status = 0;
+ gboolean ret = FALSE;
+ guint64 progress_id = 0;
+diff --git a/src/utils/exec.c b/src/utils/exec.c
+index 7ac44fd..0a3094c 100644
+--- a/src/utils/exec.c
++++ b/src/utils/exec.c
+@@ -354,7 +354,7 @@ gboolean bd_utils_exec_and_report_progress (const gchar **argv, const BDExtraArg
+ GIOStatus io_status = G_IO_STATUS_NORMAL;
+ guint i = 0;
+ guint8 completion = 0;
+- GPollFD fds[2] = {{0}, {0}};
++ GPollFD fds[2] = {{0,0,0}, {0,0,0}};
+ gboolean out_done = FALSE;
+ gboolean err_done = FALSE;
+ GString *stdout_data = g_string_new (NULL);
+--
+1.8.3.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.10.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.10.bb
new file mode 100644
index 000000000..2a923548a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.10.bb
@@ -0,0 +1,51 @@
+DESCRIPTION = "libblockdev is a C library supporting GObject introspection for manipulation of \
+block devices. It has a plugin-based architecture where each technology (like \
+LVM, Btrfs, MD RAID, Swap,...) is implemented in a separate plugin, possibly \
+with multiple implementations (e.g. using LVM CLI or the new LVM DBus API)."
+HOMEPAGE = "http://rhinstaller.github.io/libblockdev/"
+LICENSE = "LGPLv2+"
+SECTION = "devel/lib"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c07cb499d259452f324bb90c3067d85c"
+
+S = "${WORKDIR}/git"
+B = "${S}"
+
+SRCREV = "c1dda45001542edd7d7f1ffc6451c5a74623f805"
+SRC_URI = "git://github.com/rhinstaller/libblockdev;branch=master \
+ file://0001-fix-configure-and-compile-failures.patch \
+ file://0002-remove-python2-support.patch \
+ file://0003-remove-dmraid-while-compiling-with-with-dm.patch \
+ file://0005-fix-a-clang-compiling-issue.patch \
+"
+SRC_URI_append_libc-musl = " \
+ file://0004-fix-compile-failure-against-musl-C-library.patch \
+"
+
+inherit autotools python3native gobject-introspection
+
+DEPENDS += " \
+ cryptsetup \
+ nss \
+ volume-key \
+ libbytesize \
+ btrfs-tools \
+"
+RDEPENDS_${PN} += " \
+ lvm2 \
+"
+
+FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}"
+
+PACKAGECONFIG ??= "python3 lvm dm kmod parted fs"
+PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3"
+PACKAGECONFIG[lvm] = "--with-lvm, --without-lvm, multipath-tools"
+PACKAGECONFIG[dm] = "--with-dm, --without-dm"
+PACKAGECONFIG[kmod] = "--with-kbd, --without-kbd, kmod"
+PACKAGECONFIG[parted] = "--with-part, --without-part, parted"
+PACKAGECONFIG[fs] = "--with-fs, --without-fs, util-linux"
+PACKAGECONFIG[doc] = "--with-gtk-doc, --without-gtk-doc, gtk-doc-native"
+
+export STAGING_INCDIR
+export GIR_EXTRA_LIBS_PATH="${B}/src/utils/.libs"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libexecinfo/libexecinfo_1.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/libexecinfo/libexecinfo_1.1.bb
index 13a38ab49..d4bad38b7 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/libexecinfo/libexecinfo_1.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libexecinfo/libexecinfo_1.1.bb
@@ -15,8 +15,7 @@ SRC_URI = "http://distcache.freebsd.org/local-distfiles/itetcu/${BP}.tar.bz2 \
SRC_URI[md5sum] = "8e9e81c554c1c5d735bc877448e92b91"
SRC_URI[sha256sum] = "c9a21913e7fdac8ef6b33250b167aa1fc0a7b8a175145e26913a4c19d8a59b1f"
-CFLAGS += "-fno-omit-frame-pointer"
-CFLAGS += " -D_GNU_SOURCE"
+CFLAGS += "-fno-omit-frame-pointer -D_GNU_SOURCE"
do_install() {
install -D -m 0744 ${S}/execinfo.h ${D}${includedir}/execinfo.h
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile_1.09.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile_1.09.bb
index e5655b505..0c41afa3c 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile_1.09.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile_1.09.bb
@@ -1,4 +1,5 @@
SUMMARY = "File locking library"
+HOMEPAGE = "http://packages.qa.debian.org/libl/liblockfile.html"
SECTION = "libs"
LICENSE = "LGPLv2+ & GPLv2+"
LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=ac284a60d48eaa4bc811cddc377fa341"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libpwquality/files/add-missing-python-include-dir-for-cross.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/libpwquality/files/add-missing-python-include-dir-for-cross.patch
new file mode 100644
index 000000000..d12492f02
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libpwquality/files/add-missing-python-include-dir-for-cross.patch
@@ -0,0 +1,48 @@
+From 1ea09e09ab2387c326bb7170835361ece6e25477 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 3 Aug 2015 13:43:14 +0800
+Subject: [PATCH] setup.py.in: add missing python include dir for cross
+ compiling
+
+Upstream-Status: inappropriate [oe-core specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ python/Makefile.am | 2 +-
+ python/setup.py.in | 3 ++-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/python/Makefile.am b/python/Makefile.am
+index abc5cd3..e35ba71 100644
+--- a/python/Makefile.am
++++ b/python/Makefile.am
+@@ -14,4 +14,4 @@ all-local:
+ CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-lib=.
+
+ install-exec-local:
+- CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py install --prefix=${DESTDIR}${prefix}
++ CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py install --prefix=${DESTDIR}${prefix} --install-lib=${DESTDIR}/${PYTHONSITEDIR}
+diff --git a/python/setup.py.in b/python/setup.py.in
+index 6457595..d3db0e5 100755
+--- a/python/setup.py.in
++++ b/python/setup.py.in
+@@ -6,6 +6,7 @@
+
+ from distutils.core import setup, Extension
+ from distutils.command.build_ext import build_ext as _build_ext
++import os
+
+ class build_ext(_build_ext):
+ def genconstants(self, headerfile, outputfile):
+@@ -23,7 +24,7 @@ class build_ext(_build_ext):
+
+ pwqmodule = Extension('pwquality',
+ sources = ['pwquality.c'],
+- include_dirs = ['../src'],
++ include_dirs = ['../src', os.path.join(os.environ['STAGING_INCDIR'], os.environ['PYTHON_DIR'])],
+ library_dirs = ['../src/.libs'],
+ libraries = ['pwquality'])
+
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.0.bb
new file mode 100644
index 000000000..2c96063f1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.0.bb
@@ -0,0 +1,45 @@
+DESCRIPTION = "Library for password quality checking and generating random passwords"
+HOMEPAGE = "https://github.com/libpwquality/libpwquality"
+SECTION = "devel/lib"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6bd2f1386df813a459a0c34fde676fc2"
+
+SRCNAME = "libpwquality"
+SRC_URI = "https://github.com/${SRCNAME}/${SRCNAME}/releases/download/${SRCNAME}-${PV}/${SRCNAME}-${PV}.tar.bz2 \
+ file://add-missing-python-include-dir-for-cross.patch \
+"
+
+SRC_URI[md5sum] = "b8defcc7280a90e9400d6689c93a279c"
+SRC_URI[sha256sum] = "1de6ff046cf2172d265a2cb6f8da439d894f3e4e8157b056c515515232fade6b"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+DEPENDS = "cracklib virtual/gettext python3"
+RDEPENDS_python3-libpwquality = "${PN}"
+
+inherit autotools python3native gettext
+
+B = "${S}"
+
+export PYTHON_DIR
+export BUILD_SYS
+export HOST_SYS
+export STAGING_LIBDIR
+export STAGING_INCDIR
+
+EXTRA_OECONF += "--with-python-rev=${PYTHON_BASEVERSION} \
+ --with-python-binary=${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} \
+ --with-pythonsitedir=${PYTHON_SITEPACKAGES_DIR} \
+ --libdir=${libdir} \
+"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
+PACKAGECONFIG[pam] = "--enable-pam, --disable-pam, libpam"
+
+PACKAGES += "python3-libpwquality python3-libpwquality-dbg"
+FILES_${PN} += "${libdir}/security/pam_pwquality.so"
+FILES_${PN}-dbg += "${libdir}/security/.debug"
+FILES_${PN}-staticdev += "${libdir}/security/pam_pwquality.a"
+FILES_${PN}-dev += "${libdir}/security/pam_pwquality.la"
+FILES_python3-${PN} = "${PYTHON_SITEPACKAGES_DIR}/*"
+FILES_python3-${PN}-dbg = "${PYTHON_SITEPACKAGES_DIR}/.debug"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.1.bb
deleted file mode 100644
index e26bb7c19..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.1.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "An IPC library for high performance servers"
-DESCRIPTION = "libqb is a library with the primary purpose of providing high performance client server reusable features. \
-It provides high performance logging, tracing, ipc, and poll."
-
-HOMEPAGE = "https://github.com/clusterlabs/libqb/wiki"
-SECTION = "libs"
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=321bf41f280cf805086dd5a720b37785"
-
-inherit autotools pkgconfig
-
-PV .= "+git${SRCPV}"
-
-SRCREV = "0a329683a76bc6aeb36f20f2bf6b43ba0440c4dc"
-SRC_URI = "git://github.com/ClusterLabs/${BPN}.git \
- file://0001-Remove-runtime-check-for-CLOCK_MONOTONIC.patch \
- "
-S = "${WORKDIR}/git"
-
-do_configure_prepend() {
- ( cd ${S}
- ${S}/autogen.sh )
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.2.bb
new file mode 100644
index 000000000..574f6601c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.2.bb
@@ -0,0 +1,23 @@
+SUMMARY = "An IPC library for high performance servers"
+DESCRIPTION = "libqb is a library with the primary purpose of providing high performance client server reusable features. \
+It provides high performance logging, tracing, ipc, and poll."
+
+HOMEPAGE = "https://github.com/clusterlabs/libqb/wiki"
+SECTION = "libs"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=321bf41f280cf805086dd5a720b37785"
+
+inherit autotools pkgconfig
+
+PV .= "+git${SRCPV}"
+
+SRCREV = "608de6d59a3de0eef0fbcbd8f284acbc018daa9a"
+SRC_URI = "git://github.com/ClusterLabs/${BPN}.git \
+ file://0001-Remove-runtime-check-for-CLOCK_MONOTONIC.patch \
+ "
+S = "${WORKDIR}/git"
+
+do_configure_prepend() {
+ ( cd ${S}
+ ${S}/autogen.sh )
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libreport/files/0001-Makefile.am-remove-doc-and-apidoc.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/libreport/files/0001-Makefile.am-remove-doc-and-apidoc.patch
new file mode 100644
index 000000000..9b328a10a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libreport/files/0001-Makefile.am-remove-doc-and-apidoc.patch
@@ -0,0 +1,28 @@
+From db32ba60ca75d288d3ac08b54256cb74d9e1581a Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 26 Apr 2017 03:47:58 -0400
+Subject: [PATCH 1/3] Makefile.am: remove doc and apidoc
+
+There was a failure at do_install time, so remove doc to workaround.
+
+Upstream-Status: Inappropriate workaround
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index c6ab640..fb09fc1 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,5 +1,5 @@
+ ACLOCAL_AMFLAGS = -I m4
+-SUBDIRS = po src tests doc apidoc
++SUBDIRS = po src tests
+
+ EXTRA_DIST = \
+ libreport.pc.in \
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libreport/files/0002-configure.ac-remove-prog-test-of-xmlto-and-asciidoc.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/libreport/files/0002-configure.ac-remove-prog-test-of-xmlto-and-asciidoc.patch
new file mode 100644
index 000000000..146510e3c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libreport/files/0002-configure.ac-remove-prog-test-of-xmlto-and-asciidoc.patch
@@ -0,0 +1,48 @@
+From d8c49e6a15ab28f4ca94e03b2a53ed8df63346cd Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 26 Apr 2017 03:49:45 -0400
+Subject: [PATCH 2/3] configure.ac: remove prog test of xmlto and asciidoc
+
+The prog of xmlto and asciidoc were used to generate documents,
+and since the doc module has already been disabled, so we should
+remove the prog test.
+
+Upstream-Status: Inappropriate workaround
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ configure.ac | 18 ------------------
+ 1 file changed, 18 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index ccefe50..ed48c88 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -68,24 +68,6 @@ if test -z "$PYTHON3"; then
+ exit 1
+ fi
+
+-AC_PATH_PROG([ASCIIDOC], [asciidoc], [no])
+-[if test "$ASCIIDOC" = "no"]
+-[then]
+- [echo "The asciidoc program was not found in the search path. Please ensure"]
+- [echo "that it is installed and its directory is included in the search path."]
+- [echo "Then run configure again before attempting to build libreport."]
+- [exit 1]
+-[fi]
+-
+-AC_PATH_PROG([XMLTO], [xmlto], [no])
+-[if test "$XMLTO" = "no"]
+-[then]
+- [echo "The xmlto program was not found in the search path. Please ensure"]
+- [echo "that it is installed and its directory is included in the search path."]
+- [echo "Then run configure again before attempting to build libreport."]
+- [exit 1]
+-[fi]
+-
+ AC_ARG_WITH(bugzilla,
+ AS_HELP_STRING([--with-bugzilla],[use Bugzilla plugin (default is YES)]),
+ LIBREPORT_PARSE_WITH([bugzilla]))
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libreport/files/0003-without-build-plugins.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/libreport/files/0003-without-build-plugins.patch
new file mode 100644
index 000000000..3ad777464
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libreport/files/0003-without-build-plugins.patch
@@ -0,0 +1,26 @@
+From 0e96d9f23b2b166e7444e7c8e0a6d4b83c2eccd7 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 26 Apr 2017 03:51:03 -0400
+Subject: [PATCH 3/3] without build plugins
+
+Upstream-Status: Inappropriate workaround
+
+Rebase to 2.9.1
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ src/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index c15928c..bac02b1 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -8,4 +8,4 @@ if BUILD_NEWT
+ sub_dirs += report-newt
+ endif
+
+-SUBDIRS = include lib plugins report-python cli client-python workflows $(sub_dirs)
++SUBDIRS = include lib report-python cli client-python workflows $(sub_dirs)
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libreport/files/0004-configure.ac-remove-prog-test-of-augparse.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/libreport/files/0004-configure.ac-remove-prog-test-of-augparse.patch
new file mode 100644
index 000000000..9839e5a9f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libreport/files/0004-configure.ac-remove-prog-test-of-augparse.patch
@@ -0,0 +1,36 @@
+From cf3b646facc19078ed29f828e36dd2e552283518 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 27 Apr 2017 02:15:02 -0400
+Subject: [PATCH] configure.ac: remove prog test of augparse
+
+The build time does not require it.
+
+Upstream-Status: Inappropriate workaround
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ configure.ac | 8 --------
+ 1 file changed, 8 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index c06af2d..b90f49e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -288,14 +288,6 @@ AC_ARG_WITH(augeaslenslibdir,
+ [Directory for librepor lens (default: /usr/share/augeas/lenses)])],
+ [], [with_augeaslenslibdir="/usr/share/augeas/lenses"])
+ AC_SUBST([AUGEAS_LENS_LIB_DIR], [$with_augeaslenslibdir])
+-AC_PATH_PROG(AUGPARSE, augparse, no)
+-[if test "$AUGPARSE" = "no"]
+-[then]
+- [echo "The augparse program was not found in the search path. Please ensure"]
+- [echo "that it is installed and its directory is included in the search path."]
+- [echo "Then run configure again before attempting to build libreport."]
+- [exit 1]
+-[fi]
+
+ AC_ARG_WITH([defaultdumpdirmode],
+ AS_HELP_STRING([--with-defaultdumpdirmode=OCTAL-MODE],
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libreport/files/0005-remove-python2-support.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/libreport/files/0005-remove-python2-support.patch
new file mode 100644
index 000000000..9770f077c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libreport/files/0005-remove-python2-support.patch
@@ -0,0 +1,142 @@
+From 06710ab89fc7d7a82a378289aa3fcd92d33074f2 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 27 Apr 2017 03:31:00 -0400
+Subject: [PATCH] remove python2 support
+
+We do not require python2, so remove it.
+
+Upstream-Status: Inappropriate workaround
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ configure.ac | 15 ---------------
+ src/client-python/reportclient/Makefile.am | 9 ---------
+ src/report-python/Makefile.am | 19 -------------------
+ 3 files changed, 43 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index eb50382..826d0fe 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -166,15 +166,6 @@ do
+ done
+ fi dnl end NO_MANTISBT
+
+-AC_PATH_PROG([PYTHON_CONFIG], [python-config], [no])
+-[if test "$PYTHON_CONFIG" = "no"]
+-[then]
+- [echo "The python-config program was not found in the search path. Please ensure"]
+- [echo "that it is installed and its directory is included in the search path."]
+- [echo "Then run configure again before attempting to build libreport."]
+- [exit 1]
+-[fi]
+-
+ AC_PATH_PROG([PYTHON3_CONFIG], [python3-config], [no])
+ [if test "$PYTHON3_CONFIG" = "no"]
+ [then]
+@@ -184,9 +175,6 @@ AC_PATH_PROG([PYTHON3_CONFIG], [python3-config], [no])
+ [exit 1]
+ [fi]
+
+-PYTHON_CFLAGS=`python-config --cflags 2> /dev/null`
+-PYTHON_LIBS=`python-config --libs 2> /dev/null`
+-
+ PYTHON3_CFLAGS=`python3-config --cflags 2> /dev/null`
+ PYTHON3_LIBS=`python3-config --libs 2> /dev/null`
+
+@@ -198,9 +186,6 @@ PYTHON3_DIR=`$PYTHON3 -c "import distutils.sysconfig; \
+ PYTHON3_EXECDIR=`$PYTHON3 -c "import distutils.sysconfig; \
+ print(distutils.sysconfig.get_python_lib(1,0,prefix='$PYTHON3_EXEC_PREFIX'))"`
+
+-AC_SUBST(PYTHON_CFLAGS)
+-AC_SUBST(PYTHON_LIBS)
+-
+ AC_SUBST(PYTHON3_CFLAGS)
+ AC_SUBST(PYTHON3_LIBS)
+ AC_SUBST(python3dir, $PYTHON3_DIR)
+diff --git a/src/client-python/reportclient/Makefile.am b/src/client-python/reportclient/Makefile.am
+index 46ac42f..fb5216a 100644
+--- a/src/client-python/reportclient/Makefile.am
++++ b/src/client-python/reportclient/Makefile.am
+@@ -4,13 +4,10 @@ PYFILES = \
+ dnfdebuginfo.py \
+ yumdebuginfo.py
+
+-py2clientdir = $(pyexecdir)/reportclient
+ py3clientdir = $(py3execdir)/reportclient
+
+-py2client_PYTHON = $(PYFILES)
+ py3client_PYTHON = $(PYFILES)
+
+-py2client_LTLIBRARIES = _reportclient.la
+ py3client_LTLIBRARIES = _reportclient3.la
+
+ PYEXTFILES = \
+@@ -33,12 +30,6 @@ PYEXTLDFLAGS = \
+ -avoid-version \
+ -Wl,-z,relro -Wl,-z,now
+
+-_reportclient_la_SOURCES = $(PYEXTFILES)
+-_reportclient_la_CPPFLAGS = $(PYEXTCPPFLAGS) $(PYTHON_CFLAGS)
+-_reportclient_la_LDFLAGS = $(PYEXTLDFLAGS) \
+- -export-symbols-regex init_reportclient
+-_reportclient_la_LIBADD = ../../lib/libreport.la
+-
+ _reportclient3_la_SOURCES = $(PYEXTFILES)
+ _reportclient3_la_CPPFLAGS = $(PYEXTCPPFLAGS) $(PYTHON3_CFLAGS)
+ _reportclient3_la_LDFLAGS = $(PYEXTLDFLAGS) \
+diff --git a/src/report-python/Makefile.am b/src/report-python/Makefile.am
+index 793cebd..241dcb7 100644
+--- a/src/report-python/Makefile.am
++++ b/src/report-python/Makefile.am
+@@ -1,12 +1,9 @@
+ PYFILES = __init__.py accountmanager.py
+
+-pyreportexecdir = $(pyexecdir)/report
+ py3reportexecdir = $(py3execdir)/report
+
+-pyreportexec_PYTHON = $(PYFILES)
+ py3reportexec_PYTHON = $(PYFILES)
+
+-pyreportexec_LTLIBRARIES = _pyreport.la
+ py3reportexec_LTLIBRARIES = _py3report.la
+
+ PYEXTFILES = \
+@@ -34,20 +31,6 @@ PYEXTLDFLAGS = \
+ -avoid-version \
+ -Wl,-z,relro -Wl,-z,now
+
+-_pyreport_la_SOURCES = $(PYEXTFILES)
+-
+-_pyreport_la_CPPFLAGS = \
+- $(PYEXTCPPFLAGS) \
+- $(PYTHON_CFLAGS)
+-
+-_pyreport_la_LDFLAGS = \
+- $(PYEXTLDFLAGS) \
+- -export-symbols-regex init_pyreport
+-
+-_pyreport_la_LIBADD = \
+- ../lib/libreport.la \
+- $(PYTHON2_LIBS)
+-
+ _py3report_la_SOURCES = $(PYEXTFILES)
+
+ _py3report_la_CPPFLAGS = \
+@@ -64,7 +47,6 @@ _py3report_la_LIBADD = \
+
+ # report compat:
+
+-pyreportioexecdir = $(pyexecdir)/report/io
+ py3reportioexecdir = $(py3execdir)/report/io
+
+ PYIOFILES = \
+@@ -73,5 +55,4 @@ PYIOFILES = \
+ io/NewtIO.py \
+ io/TextIO.py
+
+-pyreportioexec_PYTHON = $(PYIOFILES)
+ py3reportioexec_PYTHON = $(PYIOFILES)
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.9.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.9.2.bb
new file mode 100644
index 000000000..525437bdb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.9.2.bb
@@ -0,0 +1,42 @@
+DESCRIPTION = "Libraries providing API for reporting different problems in applications \
+to different bug targets like Bugzilla, ftp, trac, etc..."
+SUMMARY = "Generic library for reporting various problems"
+HOMEPAGE = "https://abrt.readthedocs.org/"
+LICENSE = "GPLv2+"
+DEPENDS = "xmlrpc-c xmlrpc-c-native intltool-native \
+ json-c libtar libnewt libproxy rpm \
+ augeas satyr systemd gtk+3 \
+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+
+SRC_URI = "git://github.com/abrt/libreport.git;protocol=https"
+SRC_URI += "file://0001-Makefile.am-remove-doc-and-apidoc.patch \
+ file://0002-configure.ac-remove-prog-test-of-xmlto-and-asciidoc.patch \
+ file://0003-without-build-plugins.patch \
+ file://0004-configure.ac-remove-prog-test-of-augparse.patch \
+ file://0005-remove-python2-support.patch \
+"
+SRCREV = "cfff49f06d9d17e269d463ee71b3d94c8bfb0c58"
+S = "${WORKDIR}/git"
+
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+inherit gettext autotools python3native pkgconfig
+
+RDEPENDS_python3-libreport += "${PN}"
+
+do_patch[prefuncs] += "do_gen_version"
+do_gen_version() {
+ cd ${S}
+ ./gen-version
+}
+
+PACKAGES += "python3-libreport"
+
+FILES_${PN} += "${datadir}/*"
+FILES_${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/*/.debug"
+FILES_python3-libreport = "${PYTHON_SITEPACKAGES_DIR}/*"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/logcheck/logcheck_1.3.17.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/logcheck/logcheck_1.3.17.bb
deleted file mode 100644
index ba4c2ab9a..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/logcheck/logcheck_1.3.17.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-SUMMARY = "Analyzes log files and sends noticeable events as email"
-DESCRIPTION = "\
-Logcheck is a simple utility which is designed to allow a system administrator \
-to view the log-files which are produced upon hosts under their control. \
-It does this by mailing summaries of the log-files to them, after first \
-filtering out "normal" entries. \
-Normal entries are entries which match one of the many included regular \
-expression files contain in the database."
-SECTION = "Applications/System"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c93c0550bd3173f4504b2cbd8991e50b"
-
-SRC_URI = "git://git.debian.org/git/logcheck/logcheck.git"
-SRCREV = "2429e67ad875fee8a0234c64d504277b038c89cd"
-
-S = "${WORKDIR}/git"
-
-do_install() {
- # Fix QA Issue
- sed -i '/install -d $(DESTDIR)\/var\/lock\/logcheck/s/^/#/' Makefile
-
- # "make install" do not install the manpages. Install them manually.
- install -m 755 -d ${D}${mandir}/man1
- install -m 755 -d ${D}${mandir}/man8
- install -m 644 docs/logcheck-test.1 ${D}${mandir}/man1/
- install -m 644 docs/logtail.8 ${D}${mandir}/man8/
- install -m 644 docs/logtail2.8 ${D}${mandir}/man8/
- sed -i "s/syslog/messages/" etc/logcheck.logfiles
- sed -i "s/auth\.log/secure/" etc/logcheck.logfiles
- install -m 755 -d ${D}${sysconfdir}/cron.d
- install -m 644 debian/logcheck.cron.d ${D}${sysconfdir}/cron.d/logcheck
- install -m 755 -d ${D}/var/lib/logcheck
- oe_runmake install DESTDIR=${D}
-}
-
-RDEPENDS_${PN} = "perl"
-
-FILES_${PN} += "${datadir}/logtail"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0001-Don-t-reuse-weak-symbol-optopt-to-fix-FTBFS-on-mips.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0001-Don-t-reuse-weak-symbol-optopt-to-fix-FTBFS-on-mips.patch
new file mode 100644
index 000000000..77da33321
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0001-Don-t-reuse-weak-symbol-optopt-to-fix-FTBFS-on-mips.patch
@@ -0,0 +1,59 @@
+From: Luk Claes <luk@debian.org>
+Date: Sat, 4 Jul 2009 10:54:53 +0200
+Subject: Don't reuse weak symbol optopt to fix FTBFS on mips*
+
+This patch is taken from
+ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
+
+Upstream-Status: Inappropriate [upstream is dead]
+---
+ getopt.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/getopt.c b/getopt.c
+index 83ce628..82e983c 100644
+--- a/getopt.c
++++ b/getopt.c
+@@ -43,7 +43,7 @@ typedef int ssize_t;
+ char *optarg;
+ int optind = 1;
+ int opterr = 1;
+-int optopt;
++int optoptc;
+
+ static void
+ error(const char *s, int c)
+@@ -69,7 +69,7 @@ error(const char *s, int c)
+ *bp++ = *s++;
+ while (*msg)
+ *bp++ = *msg++;
+- *bp++ = optopt;
++ *bp++ = optoptc;
+ *bp++ = '\n';
+ write(2, buf, bp - buf);
+ ac_free(buf);
+@@ -101,13 +101,13 @@ getopt(int argc, char *const argv[], const char *optstring)
+ }
+ curp = &argv[optind][1];
+ }
+- optopt = curp[0] & 0377;
++ optoptc = curp[0] & 0377;
+ while (optstring[0]) {
+ if (optstring[0] == ':') {
+ optstring++;
+ continue;
+ }
+- if ((optstring[0] & 0377) == optopt) {
++ if ((optstring[0] & 0377) == optoptc) {
+ if (optstring[1] == ':') {
+ if (curp[1] != '\0') {
+ optarg = (char *)&curp[1];
+@@ -127,7 +127,7 @@ getopt(int argc, char *const argv[], const char *optstring)
+ optind++;
+ optarg = 0;
+ }
+- return optopt;
++ return optoptc;
+ }
+ optstring++;
+ }
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0002-Patched-out-SSL2-support-since-it-is-no-longer-suppo.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0002-Patched-out-SSL2-support-since-it-is-no-longer-suppo.patch
new file mode 100644
index 000000000..6bad433ea
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0002-Patched-out-SSL2-support-since-it-is-no-longer-suppo.patch
@@ -0,0 +1,41 @@
+From: Hilko Bengen <bengen@debian.org>
+Date: Wed, 27 Apr 2011 00:18:42 +0200
+Subject: Patched out SSL2 support since it is no longer supported by OpenSSL.
+
+This patch is taken from
+ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
+
+Upstream-Status: Inappropriate [upstream is dead]
+---
+ mailx.1 | 2 +-
+ openssl.c | 4 +---
+ 2 files changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/mailx.1 b/mailx.1
+index 417ea04..a02e430 100644
+--- a/mailx.1
++++ b/mailx.1
+@@ -3575,7 +3575,7 @@ Only applicable if SSL/TLS support is built using OpenSSL.
+ .TP
+ .B ssl-method
+ Selects a SSL/TLS protocol version;
+-valid values are `ssl2', `ssl3', and `tls1'.
++valid values are `ssl3', and `tls1'.
+ If unset, the method is selected automatically,
+ if possible.
+ .TP
+diff --git a/openssl.c b/openssl.c
+index b4e33fc..44fe4e5 100644
+--- a/openssl.c
++++ b/openssl.c
+@@ -216,9 +216,7 @@ ssl_select_method(const char *uhp)
+
+ cp = ssl_method_string(uhp);
+ if (cp != NULL) {
+- if (equal(cp, "ssl2"))
+- method = SSLv2_client_method();
+- else if (equal(cp, "ssl3"))
++ if (equal(cp, "ssl3"))
+ method = SSLv3_client_method();
+ else if (equal(cp, "tls1"))
+ method = TLSv1_client_method();
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0003-Fixed-Lintian-warning-warning-macro-N-not-defined.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0003-Fixed-Lintian-warning-warning-macro-N-not-defined.patch
new file mode 100644
index 000000000..13b73ae59
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0003-Fixed-Lintian-warning-warning-macro-N-not-defined.patch
@@ -0,0 +1,25 @@
+From: Hilko Bengen <bengen@debian.org>
+Date: Sat, 14 Apr 2012 20:22:43 +0200
+Subject: Fixed Lintian warning (warning: macro `N' not defined)
+
+This patch is taken from
+ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
+
+Upstream-Status: Inappropriate [upstream is dead]
+---
+ mailx.1 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mailx.1 b/mailx.1
+index a02e430..b0723bd 100644
+--- a/mailx.1
++++ b/mailx.1
+@@ -3781,7 +3781,7 @@ you could examine the first message by giving the command:
+ .sp
+ .fi
+ which might cause
+-.N mailx
++.I mailx
+ to respond with, for example:
+ .nf
+ .sp
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0011-outof-Introduce-expandaddr-flag.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0011-outof-Introduce-expandaddr-flag.patch
new file mode 100644
index 000000000..13b955c4b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0011-outof-Introduce-expandaddr-flag.patch
@@ -0,0 +1,71 @@
+From 9984ae5cb0ea0d61df1612b06952a61323c083d9 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Mon, 17 Nov 2014 11:13:38 +0100
+Subject: [PATCH 1/4] outof: Introduce expandaddr flag
+
+Document that address expansion is disabled unless the expandaddr
+binary option is set.
+
+This has been assigned CVE-2014-7844 for BSD mailx, but it is not
+a vulnerability in Heirloom mailx because this feature was documented.
+
+This patch is taken from
+ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
+
+Upstream-Status: Inappropriate [upstream is dead]
+CVE: CVE-2014-7844
+---
+ mailx.1 | 14 ++++++++++++++
+ names.c | 3 +++
+ 2 files changed, 17 insertions(+)
+
+diff --git a/mailx.1 b/mailx.1
+index 70a7859..22a171b 100644
+--- a/mailx.1
++++ b/mailx.1
+@@ -656,6 +656,14 @@ but any reply returned to the machine
+ will have the system wide alias expanded
+ as all mail goes through sendmail.
+ .SS "Recipient address specifications"
++If the
++.I expandaddr
++option is not set (the default), recipient addresses must be names of
++local mailboxes or Internet mail addresses.
++.PP
++If the
++.I expandaddr
++option is set, the following rules apply:
+ When an address is used to name a recipient
+ (in any of To, Cc, or Bcc),
+ names of local mail folders
+@@ -2391,6 +2399,12 @@ and exits immediately.
+ If this option is set,
+ \fImailx\fR starts even with an empty mailbox.
+ .TP
++.B expandaddr
++Causes
++.I mailx
++to expand message recipient addresses, as explained in the section,
++Recipient address specifications.
++.TP
+ .B flipr
+ Exchanges the
+ .I Respond
+diff --git a/names.c b/names.c
+index 66e976b..c69560f 100644
+--- a/names.c
++++ b/names.c
+@@ -268,6 +268,9 @@ outof(struct name *names, FILE *fo, struct header *hp)
+ FILE *fout, *fin;
+ int ispipe;
+
++ if (value("expandaddr") == NULL)
++ return names;
++
+ top = names;
+ np = names;
+ time(&now);
+--
+1.9.3
+
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0012-unpack-Disable-option-processing-for-email-addresses.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0012-unpack-Disable-option-processing-for-email-addresses.patch
new file mode 100644
index 000000000..8cdbfd8b0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0012-unpack-Disable-option-processing-for-email-addresses.patch
@@ -0,0 +1,79 @@
+From e34e2ac67b80497080ebecccec40c3b61456167d Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Mon, 17 Nov 2014 11:14:06 +0100
+Subject: [PATCH 2/4] unpack: Disable option processing for email addresses
+ when calling sendmail
+
+This patch is taken from
+ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
+
+Upstream-Status: Inappropriate [upstream is dead]
+---
+ extern.h | 2 +-
+ names.c | 8 ++++++--
+ sendout.c | 2 +-
+ 3 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/extern.h b/extern.h
+index 6b85ba0..8873fe8 100644
+--- a/extern.h
++++ b/extern.h
+@@ -396,7 +396,7 @@ struct name *outof(struct name *names, FILE *fo, struct header *hp);
+ int is_fileaddr(char *name);
+ struct name *usermap(struct name *names);
+ struct name *cat(struct name *n1, struct name *n2);
+-char **unpack(struct name *np);
++char **unpack(struct name *smopts, struct name *np);
+ struct name *elide(struct name *names);
+ int count(struct name *np);
+ struct name *delete_alternates(struct name *np);
+diff --git a/names.c b/names.c
+index c69560f..45bbaed 100644
+--- a/names.c
++++ b/names.c
+@@ -549,7 +549,7 @@ cat(struct name *n1, struct name *n2)
+ * Return an error if the name list won't fit.
+ */
+ char **
+-unpack(struct name *np)
++unpack(struct name *smopts, struct name *np)
+ {
+ char **ap, **top;
+ struct name *n;
+@@ -564,7 +564,7 @@ unpack(struct name *np)
+ * the terminating 0 pointer. Additional spots may be needed
+ * to pass along -f to the host mailer.
+ */
+- extra = 2;
++ extra = 3 + count(smopts);
+ extra++;
+ metoo = value("metoo") != NULL;
+ if (metoo)
+@@ -581,6 +581,10 @@ unpack(struct name *np)
+ *ap++ = "-m";
+ if (verbose)
+ *ap++ = "-v";
++ for (; smopts != NULL; smopts = smopts->n_flink)
++ if ((smopts->n_type & GDEL) == 0)
++ *ap++ = smopts->n_name;
++ *ap++ = "--";
+ for (; n != NULL; n = n->n_flink)
+ if ((n->n_type & GDEL) == 0)
+ *ap++ = n->n_name;
+diff --git a/sendout.c b/sendout.c
+index 7b7f2eb..c52f15d 100644
+--- a/sendout.c
++++ b/sendout.c
+@@ -835,7 +835,7 @@ start_mta(struct name *to, struct name *mailargs, FILE *input,
+ #endif /* HAVE_SOCKETS */
+
+ if ((smtp = value("smtp")) == NULL) {
+- args = unpack(cat(mailargs, to));
++ args = unpack(mailargs, to);
+ if (debug || value("debug")) {
+ printf(catgets(catd, CATSET, 181,
+ "Sendmail arguments:"));
+--
+1.9.3
+
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0013-fio.c-Unconditionally-require-wordexp-support.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0013-fio.c-Unconditionally-require-wordexp-support.patch
new file mode 100644
index 000000000..5558d8639
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0013-fio.c-Unconditionally-require-wordexp-support.patch
@@ -0,0 +1,113 @@
+From 2bae8ecf04ec2ba6bb9f0af5b80485dd0edb427d Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Mon, 17 Nov 2014 12:48:25 +0100
+Subject: [PATCH 3/4] fio.c: Unconditionally require wordexp support
+
+This patch is taken from
+ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
+
+Upstream-Status: Inappropriate [upstream is dead]
+---
+ fio.c | 67 +++++--------------------------------------------------------------
+ 1 file changed, 5 insertions(+), 62 deletions(-)
+
+diff --git a/fio.c b/fio.c
+index 65e8f10..1529236 100644
+--- a/fio.c
++++ b/fio.c
+@@ -43,12 +43,15 @@ static char sccsid[] = "@(#)fio.c 2.76 (gritter) 9/16/09";
+ #endif /* not lint */
+
+ #include "rcv.h"
++
++#ifndef HAVE_WORDEXP
++#error wordexp support is required
++#endif
++
+ #include <sys/stat.h>
+ #include <sys/file.h>
+ #include <sys/wait.h>
+-#ifdef HAVE_WORDEXP
+ #include <wordexp.h>
+-#endif /* HAVE_WORDEXP */
+ #include <unistd.h>
+
+ #if defined (USE_NSS)
+@@ -481,7 +484,6 @@ next:
+ static char *
+ globname(char *name)
+ {
+-#ifdef HAVE_WORDEXP
+ wordexp_t we;
+ char *cp;
+ sigset_t nset;
+@@ -527,65 +529,6 @@ globname(char *name)
+ }
+ wordfree(&we);
+ return cp;
+-#else /* !HAVE_WORDEXP */
+- char xname[PATHSIZE];
+- char cmdbuf[PATHSIZE]; /* also used for file names */
+- int pid, l;
+- char *cp, *shell;
+- int pivec[2];
+- extern int wait_status;
+- struct stat sbuf;
+-
+- if (pipe(pivec) < 0) {
+- perror("pipe");
+- return name;
+- }
+- snprintf(cmdbuf, sizeof cmdbuf, "echo %s", name);
+- if ((shell = value("SHELL")) == NULL)
+- shell = SHELL;
+- pid = start_command(shell, 0, -1, pivec[1], "-c", cmdbuf, NULL);
+- if (pid < 0) {
+- close(pivec[0]);
+- close(pivec[1]);
+- return NULL;
+- }
+- close(pivec[1]);
+-again:
+- l = read(pivec[0], xname, sizeof xname);
+- if (l < 0) {
+- if (errno == EINTR)
+- goto again;
+- perror("read");
+- close(pivec[0]);
+- return NULL;
+- }
+- close(pivec[0]);
+- if (wait_child(pid) < 0 && WTERMSIG(wait_status) != SIGPIPE) {
+- fprintf(stderr, catgets(catd, CATSET, 81,
+- "\"%s\": Expansion failed.\n"), name);
+- return NULL;
+- }
+- if (l == 0) {
+- fprintf(stderr, catgets(catd, CATSET, 82,
+- "\"%s\": No match.\n"), name);
+- return NULL;
+- }
+- if (l == sizeof xname) {
+- fprintf(stderr, catgets(catd, CATSET, 83,
+- "\"%s\": Expansion buffer overflow.\n"), name);
+- return NULL;
+- }
+- xname[l] = 0;
+- for (cp = &xname[l-1]; *cp == '\n' && cp > xname; cp--)
+- ;
+- cp[1] = '\0';
+- if (strchr(xname, ' ') && stat(xname, &sbuf) < 0) {
+- fprintf(stderr, catgets(catd, CATSET, 84,
+- "\"%s\": Ambiguous.\n"), name);
+- return NULL;
+- }
+- return savestr(xname);
+-#endif /* !HAVE_WORDEXP */
+ }
+
+ /*
+--
+1.9.3
+
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0014-globname-Invoke-wordexp-with-WRDE_NOCMD.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0014-globname-Invoke-wordexp-with-WRDE_NOCMD.patch
new file mode 100644
index 000000000..ae14b8acf
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0014-globname-Invoke-wordexp-with-WRDE_NOCMD.patch
@@ -0,0 +1,31 @@
+From 73fefa0c1ac70043ec84f2d8b8f9f683213f168d Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Mon, 17 Nov 2014 13:11:32 +0100
+Subject: [PATCH 4/4] globname: Invoke wordexp with WRDE_NOCMD (CVE-2004-2771)
+
+This patch is taken from
+ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
+
+Upstream-Status: Inappropriate [upstream is dead]
+CVE: CVE-2004-2771
+---
+ fio.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/fio.c b/fio.c
+index 1529236..774a204 100644
+--- a/fio.c
++++ b/fio.c
+@@ -497,7 +497,7 @@ globname(char *name)
+ sigemptyset(&nset);
+ sigaddset(&nset, SIGCHLD);
+ sigprocmask(SIG_BLOCK, &nset, NULL);
+- i = wordexp(name, &we, 0);
++ i = wordexp(name, &we, WRDE_NOCMD);
+ sigprocmask(SIG_UNBLOCK, &nset, NULL);
+ switch (i) {
+ case 0:
+--
+1.9.3
+
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0015-usr-sbin-sendmail.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0015-usr-sbin-sendmail.patch
new file mode 100644
index 000000000..2b5991425
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/0015-usr-sbin-sendmail.patch
@@ -0,0 +1,38 @@
+Description: Sendmail is at /usr/sbin/sendmail
+ As per Debian Policy §11.6
+Author: Ryan Kavanagh <rak@debian.org>
+Origin: Debian
+Forwarded: no
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: heirloom-mailx-12.5/Makefile
+===================================================================
+This patch is taken from
+ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
+
+Upstream-Status: Inappropriate [upstream is dead]
+
+--- heirloom-mailx-12.5.orig/Makefile 2011-04-26 17:23:22.000000000 -0400
++++ heirloom-mailx-12.5/Makefile 2015-01-27 13:20:04.733542801 -0500
+@@ -13,7 +13,7 @@
+
+ MAILRC = $(SYSCONFDIR)/nail.rc
+ MAILSPOOL = /var/mail
+-SENDMAIL = /usr/lib/sendmail
++SENDMAIL = /usr/sbin/sendmail
+
+ DESTDIR =
+
+Index: heirloom-mailx-12.5/mailx.1
+===================================================================
+--- heirloom-mailx-12.5.orig/mailx.1 2015-01-27 13:18:49.000000000 -0500
++++ heirloom-mailx-12.5/mailx.1 2015-01-27 13:20:32.382336867 -0500
+@@ -4922,7 +4922,7 @@
+ which just acts as a proxy.
+ .PP
+ \fIMailx\fR immediately contacts the SMTP server (or
+-.IR \%/usr/lib/sendmail )
++.IR \%/usr/sbin/sendmail )
+ even when operating in
+ .I disconnected
+ mode.
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/explicitly.disable.krb5.support.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/explicitly.disable.krb5.support.patch
new file mode 100644
index 000000000..b74fd0472
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/files/explicitly.disable.krb5.support.patch
@@ -0,0 +1,46 @@
+krb5 support is autodetected from sysroot making builds undeterministic
+feel free to improve this to support explicitly enabling/disabling it
+
+Upstream-Status: Pending
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+--- a/makeconfig 2013-07-21 15:06:11.177792334 +0200
++++ b/makeconfig 2013-07-21 15:07:20.028793994 +0200
+@@ -424,36 +424,6 @@
+ }
+ !
+
+-<$tmp2.c link_check gssapi 'for GSSAPI in libgss' \
+- '#define USE_GSSAPI' '-lgss' ||
+- <$tmp2.c link_check gssapi 'for GSSAPI in libgssapi_krb5' \
+- '#define USE_GSSAPI' '-lgssapi_krb5' ||
+- link_check gssapi 'for GSSAPI in libgssapi_krb5, old-style' \
+- '#define USE_GSSAPI
+-#define GSSAPI_OLD_STYLE' '-lgssapi_krb5' <<\! || \
+- link_check gssapi 'for GSSAPI in libgssapi' \
+- '#define USE_GSSAPI
+-#define GSSAPI_REG_INCLUDE' '-lgssapi' <<\%
+-#include <gssapi/gssapi.h>
+-#include <gssapi/gssapi_generic.h>
+-
+-int main(void)
+-{
+- gss_import_name(0, 0, gss_nt_service_name, 0);
+- gss_init_sec_context(0,0,0,0,0,0,0,0,0,0,0,0,0);
+- return 0;
+-}
+-!
+-#include <gssapi.h>
+-
+-int main(void)
+-{
+- gss_import_name(0, 0, GSS_C_NT_HOSTBASED_SERVICE, 0);
+- gss_init_sec_context(0,0,0,0,0,0,0,0,0,0,0,0,0);
+- return 0;
+-}
+-%
+-
+ cat >$tmp2.c <<\!
+ #include "config.h"
+ #ifdef HAVE_NL_LANGINFO
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/mailx_12.5-5.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/mailx_12.5-5.bb
new file mode 100644
index 000000000..0a191a00c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/mailx/mailx_12.5-5.bb
@@ -0,0 +1,53 @@
+SUMMARY = "mailx is the traditional command-line-mode mail user agent"
+
+DESCRIPTION = "Mailx is derived from Berkeley Mail and is intended provide the \
+functionality of the POSIX mailx command with additional support \
+for MIME, IMAP, POP3, SMTP, and S/MIME."
+
+HOMEPAGE = "http://heirloom.sourceforge.net/mailx.html"
+SECTION = "console/network"
+LICENSE = "BSD & MPL-1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4202a0a62910cf94f7af8a3436a2a2dd"
+
+DEPENDS = "openssl10"
+
+SRC_URI = "http://snapshot.debian.org/archive/debian/20160728T043443Z/pool/main/h/heirloom-mailx/heirloom-mailx_12.5.orig.tar.gz;name=archive \
+ file://0001-Don-t-reuse-weak-symbol-optopt-to-fix-FTBFS-on-mips.patch \
+ file://0002-Patched-out-SSL2-support-since-it-is-no-longer-suppo.patch \
+ file://0003-Fixed-Lintian-warning-warning-macro-N-not-defined.patch \
+ file://0011-outof-Introduce-expandaddr-flag.patch \
+ file://0012-unpack-Disable-option-processing-for-email-addresses.patch \
+ file://0013-fio.c-Unconditionally-require-wordexp-support.patch \
+ file://0014-globname-Invoke-wordexp-with-WRDE_NOCMD.patch \
+ file://0015-usr-sbin-sendmail.patch \
+ file://explicitly.disable.krb5.support.patch \
+ "
+
+SRC_URI[archive.md5sum] = "29a6033ef1412824d02eb9d9213cb1f2"
+SRC_URI[archive.sha256sum] = "015ba4209135867f37a0245d22235a392b8bbed956913286b887c2e2a9a421ad"
+
+# for this package we're mostly interested in tracking debian patches,
+# and not in the upstream version where all development has effectively stopped
+UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/h/heirloom-mailx/"
+UPSTREAM_CHECK_REGEX = "(?P<pver>((\d+\.*)+)-((\d+\.*)+))\.(diff|debian\.tar)\.(gz|xz)"
+
+S = "${WORKDIR}/heirloom-mailx-12.5"
+
+inherit autotools-brokensep
+
+CFLAGS_append = " -D_BSD_SOURCE -DDEBIAN -I${S}/EXT"
+
+# "STRIP=true" means that 'true' command will be used to 'strip' files which will achieve the effect of not stripping them
+# mailx's Makefile doesn't allow a more straightforward way to avoid stripping
+EXTRA_OEMAKE = "SENDMAIL=${sbindir}/sendmail IPv6=-DHAVE_IPv6_FUNCS PREFIX=/usr UCBINSTALL=/usr/bin/install STRIP=true"
+
+# The makeconfig can't run parallelly, otherwise the checking results
+# might be incorrect and lead to errors:
+# fio.c:56:17: fatal error: ssl.h: No such file or directory
+# #include <ssl.h>
+PARALLEL_MAKE = ""
+
+# Causes gcc to get stuck and eat all available memory in qemuarm builds
+# http://errors.yoctoproject.org/Errors/Details/20488/
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
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 b6744395f..49b7f156e 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
@@ -1,4 +1,5 @@
SUMMARY = "SpiderMonkey is Mozilla's JavaScript engine written in C/C++"
+HOMEPAGE = "http://www.mozilla.org/js/"
LICENSE = "MPL-2.0"
LIC_FILES_CHKSUM = "file://../../LICENSE;md5=815ca599c9df247a0c7f619bab123dad"
@@ -51,6 +52,9 @@ PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${ST
# mozjs requires autoreconf 2.13
do_configure() {
+ export HOST_CFLAGS="${BUILD_CFLAGS}"
+ export HOST_CXXFLAGS="${BUILD_CPPFLAGS}"
+ export HOST_LDFLAGS="${BUILD_LDFLAGS}"
( cd ${S}
gnu-configize --force
mv config.guess config.sub build/autoconf )
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb
new file mode 100644
index 000000000..616048fac
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb
@@ -0,0 +1,51 @@
+SUMMARY = "Linux Library for low speed I/O Communication"
+HOMEPAGE = "https://github.com/intel-iot-devkit/mraa"
+SECTION = "libs"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=66493d54e65bfc12c7983ff2e884f37f"
+
+SRCREV = "8ddbcde84e2d146bc0f9e38504d6c89c14291480"
+PV = "1.7.0-git${SRCPV}"
+
+SRC_URI = "git://github.com/intel-iot-devkit/${BPN}.git;protocol=http"
+
+S = "${WORKDIR}/git"
+
+# CMakeLists.txt checks the architecture, only x86 and ARM supported for now
+COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux"
+
+inherit cmake distutils3-base
+
+DEPENDS += "json-c"
+
+EXTRA_OECMAKE_append = " -DINSTALLTOOLS:BOOL=ON -DFIRMATA=ON -DCMAKE_SKIP_RPATH=ON"
+
+# Prepend mraa-utils to make sure bindir ends up in there
+PACKAGES =+ "${PN}-utils"
+
+FILES_${PN}-doc += "${datadir}/mraa/examples/"
+
+FILES_${PN}-utils = "${bindir}/"
+
+# override this in local.conf to get needed bindings.
+# BINDINGS_pn-mraa="python"
+# will result in only the python bindings being built/packaged.
+BINDINGS ??= "python ${@ 'nodejs' if oe.types.boolean(d.getVar('HAVE_NODEJS') or '0') else '' }"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('PACKAGES', 'node-${PN}', 'nodejs', '', d)} \
+ ${@bb.utils.contains('PACKAGES', '${PYTHON_PN}-${PN}', 'python', '', d)}"
+
+PACKAGECONFIG[python] = "-DBUILDSWIGPYTHON=ON, -DBUILDSWIGPYTHON=OFF, swig-native ${PYTHON_PN},"
+PACKAGECONFIG[nodejs] = "-DBUILDSWIGNODE=ON, -DBUILDSWIGNODE=OFF, swig-native nodejs-native,"
+PACKAGECONFIG[ft4222] = "-DUSBPLAT=ON -DFTDI4222=ON, -DUSBPLAT=OFF -DFTDI4222=OFF,, libft4222"
+
+FILES_${PYTHON_PN}-${PN} = "${PYTHON_SITEPACKAGES_DIR}/"
+RDEPENDS_${PYTHON_PN}-${PN} += "${PYTHON_PN}"
+
+FILES_node-${PN} = "${prefix}/lib/node_modules/"
+RDEPENDS_node-${PN} += "nodejs"
+
+### Include desired language bindings ###
+PACKAGES =+ "${@bb.utils.contains('BINDINGS', 'nodejs', 'node-${PN}', '', d)}"
+PACKAGES =+ "${@bb.utils.contains('BINDINGS', 'python', '${PYTHON_PN}-${PN}', '', d)}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/nicstat/nicstat/0001-nicstat.c-Do-not-define-uint64_t-and-uint32_t.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/nicstat/nicstat/0001-nicstat.c-Do-not-define-uint64_t-and-uint32_t.patch
new file mode 100644
index 000000000..a208f97eb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/nicstat/nicstat/0001-nicstat.c-Do-not-define-uint64_t-and-uint32_t.patch
@@ -0,0 +1,37 @@
+From 52590fbf735cef3fec85a042458aa89a02c52b57 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 15 Jul 2017 11:33:12 -0700
+Subject: [PATCH] nicstat.c: Do not define uint64_t and uint32_t
+
+Use the defines from platform
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ nicstat.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/nicstat.c b/nicstat.c
+index 83ad557..2a6e0c1 100644
+--- a/nicstat.c
++++ b/nicstat.c
+@@ -32,6 +32,7 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <stdint.h>
+ #include <unistd.h>
+ #include <string.h>
+ #include <ctype.h>
+@@ -88,8 +89,6 @@
+ #define PROC_NET_BUFSIZ (128 * 1024)
+ #define PROC_UPTIME "/proc/uptime"
+ /* Needs to be fixed if not built under ILP32 */
+-typedef unsigned long long uint64_t;
+-typedef unsigned int uint32_t;
+ extern char *optarg;
+ extern int optind, opterr, optopt;
+ #endif /* OS_LINUX */
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb
index 5126a31cd..3875f0f60 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb
@@ -5,7 +5,9 @@ HOMEPAGE = "http://nicstat.sourceforge.net"
LICENSE = "Artistic-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b4a94da2a1f918b217ef5156634fc9e0"
-SRC_URI = "http://softlayer-sng.dl.sourceforge.net/project/${BPN}/${BP}.tar.gz"
+SRC_URI = "http://softlayer-sng.dl.sourceforge.net/project/${BPN}/${BP}.tar.gz \
+ file://0001-nicstat.c-Do-not-define-uint64_t-and-uint32_t.patch \
+ "
SRC_URI[md5sum] = "9a0b87bbc670c1e738e5b40c7afd184d"
SRC_URI[sha256sum] = "c4cc33f8838f4523f27c3d7584eedbe59f4c587f0821612f5ac2201adc18b367"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-networking/0001-fix-lib64-can-not-be-shiped-in-64bit-target.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-networking/0001-fix-lib64-can-not-be-shiped-in-64bit-target.patch
deleted file mode 100644
index c23820094..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-networking/0001-fix-lib64-can-not-be-shiped-in-64bit-target.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 336bb5a031077461ec6b2e5438738bf100f0dd2f Mon Sep 17 00:00:00 2001
-From: Lei Maohui <leimaohui@cn.fujitsu.com>
-Date: Mon, 3 Aug 2015 02:37:46 +0900
-Subject: [PATCH] fix lib64 can not be shiped in 64bit target
-
-Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
----
- CMakeLists.txt | 7 -------
- 1 file changed, 7 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 1ba3cd3..2411745 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -35,13 +35,6 @@ if (DEBUG)
- add_definitions("-DDEBUG_ENABLED")
- endif (DEBUG)
-
--# Set LIB_SUFFIX to 64 on 64bit architectures
--if(CMAKE_SIZEOF_VOID_P EQUAL 4)
-- set(LIB_SUFFIX "")
--else(CMAKE_SIZEOF_VOID_P EQUAL 4)
-- SET(LIB_SUFFIX 64)
--endif(CMAKE_SIZEOF_VOID_P EQUAL 4)
--
- # Find OpenLMIMacros when installed in other prefix than /usr (e.g. /usr/local)
- set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_INSTALL_PREFIX})
- include(OpenLMIMacros RESULT_VARIABLE LMIMACROS)
---
-1.8.4.2
-
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
deleted file mode 100644
index 081bd3bc0..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-networking_0.3.1.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "CIM providers for network management"
-DESCRIPTION = "\
-openlmi-networking is set of CMPI providers for network management using \
-Common Information Model (CIM)."
-HOMEPAGE = "http://www.openlmi.org/"
-LICENSE = "LGPL-2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=7c13b3376cea0ce68d2d2da0a1b3a72c"
-SECTION = "System/Management"
-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 \
- "
-SRC_URI[md5sum] = "f20de8c76fb6a80001b14c1eb035953e"
-SRC_URI[sha256sum] = "578eaa5c65fe924b5d7aeb635509dd46443166cd6a88b019bc42646e3518a460"
-
-inherit cmake
-
-EXTRA_OECMAKE = "${@base_conditional("libdir", "/usr/lib64", "-DLIB_SUFFIX=64", "", d)} \
- ${@base_conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \
- "
-
-
-do_configure_prepend() {
- export CMAKE_INSTALL_DATDIR="${STAGING_DATADIR}"
-}
-
-
-FILES_${PN} =+ "${libdir}/cmpi/libcmpiLMI_Networking.so ${prefix}/libexec*"
-FILES_${PN}-dbg =+ "${libdir}/cmpi/.debug*"
-
-PNBLACKLIST[openlmi-networking] ?= "Depends on blacklisted openlmi-providers - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-providers/0001-fix-error.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-providers/0001-fix-error.patch
deleted file mode 100644
index 4bcd1c4d9..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-providers/0001-fix-error.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 764171866b84e0198b67538f63022abde3e628ad Mon Sep 17 00:00:00 2001
-From: Qian Lei <qianl.fnst@cn.fujitsu.com>
-Date: Fri, 16 Jan 2015 14:15:25 +0800
-Subject: [PATCH] fix error
-
-Signed-off-by: Qian Lei <qianl.fnst@cn.fujitsu.com>
----
- cmake/modules/OpenLMIMacros.cmake | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cmake/modules/OpenLMIMacros.cmake b/cmake/modules/OpenLMIMacros.cmake
-index d55f983..dbc32ec 100644
---- a/cmake/modules/OpenLMIMacros.cmake
-+++ b/cmake/modules/OpenLMIMacros.cmake
-@@ -89,7 +89,7 @@ macro(konkretcmpi_generate MOFS CIM_PROVIDERS CIM_HEADERS CIM_CLASSES)
- endforeach(CLASS ${CIM_CLASS_NAMES})
-
- # Generate headers for CIM classes
-- set(ENV{KONKRET_SCHEMA_DIR} "/usr/share/mof/cim-current")
-+ set(ENV{KONKRET_SCHEMA_DIR} "$ENV{CMAKE_INSTALL_DATDIR}/mof/cim-current")
- execute_process(COMMAND ${KONKRETCMPI_KONKRET}
- ${KONKRET_MOF_FILES}
- ${GENERATE_PROVIDERS}
---
-1.8.3.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-providers/0001-fix-lib64-can-not-be-shiped-in-64bit-target.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-providers/0001-fix-lib64-can-not-be-shiped-in-64bit-target.patch
deleted file mode 100644
index 9c8ebe4c0..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-providers/0001-fix-lib64-can-not-be-shiped-in-64bit-target.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 7cecfa95f033b33a1c3260c214b2d0e5e81b4fd3 Mon Sep 17 00:00:00 2001
-From: Lei Maohui <leimaohui@cn.fujitsu.com>
-Date: Mon, 3 Aug 2015 02:05:56 +0900
-Subject: [PATCH] fix lib64 can not be shiped in 64bit target
-
-Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
----
- CMakeLists.txt | 7 -------
- 1 file changed, 7 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 48ae206..3ead9c6 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -21,13 +21,6 @@ else(HAS_STACK_PROTECTOR_STRONG)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fstack-protector")
- endif()
-
--# Set LIB_SUFFIX to 64 on 64bit architectures
--if(CMAKE_SIZEOF_VOID_P EQUAL 4)
-- set(LIB_SUFFIX "")
--else(CMAKE_SIZEOF_VOID_P EQUAL 4)
-- SET(LIB_SUFFIX 64)
--endif(CMAKE_SIZEOF_VOID_P EQUAL 4)
--
- if(NOT SYSCONF_INSTALL_DIR)
- set(SYSCONF_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/etc)
- endif(NOT SYSCONF_INSTALL_DIR)
---
-1.8.4.2
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-providers_0.6.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-providers_0.6.0.bb
deleted file mode 100644
index 2eda65320..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-providers_0.6.0.bb
+++ /dev/null
@@ -1,56 +0,0 @@
-SUMMARY = "Set of basic CIM providers"
-DESCRIPTION = "\
-openlmi-providers is set of (usually) small CMPI providers (agents) for \
-basic monitoring and management of host system using Common Information \
-Model (CIM)."
-HOMEPAGE = "http://www.openlmi.org/"
-LICENSE = "LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=7c13b3376cea0ce68d2d2da0a1b3a72c"
-SECTION = "System/Management"
-DEPENDS = "konkretcmpi-native konkretcmpi sblim-sfcb sblim-cmpi-devel cim-schema-exper lmsensors libuser swig swig-native dbus udev systemd-systemctl-native pciutils"
-
-SRC_URI = "http://fedorahosted.org/released/${BPN}/${BP}.tar.gz \
- file://0001-fix-error.patch \
- file://0001-fix-lib64-can-not-be-shiped-in-64bit-target.patch \
- "
-SRC_URI[md5sum] = "5904f23cf494946237cfbbdbe644a3cd"
-SRC_URI[sha256sum] = "e2b2fbeaec45a83905d0da3b87da83904d9cd94c1b86312f844587b3fff11f56"
-
-inherit cmake
-LDFLAGS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
-EXTRA_OECMAKE = " \
- -DWITH-DEVASSISTANT=OFF \
- -DWITH-JOURNALD=OFF \
- -DWITH-SERVICE=OFF \
- -DWITH-SERVICE-LEGACY=ON \
- -DWITH-ACCOUNT=OFF \
- -DWITH-PCP=OFF \
- -DWITH-REALMD=OFF \
- -DWITH-FAN=OFF \
- -DWITH-LOCALE=OFF \
- -DWITH-INDSENDER=OFF \
- -DWITH-JOBMANAGER=OFF \
- -DWITH-SSSD=OFF \
- -DWITH-SELINUX=OFF \
- -DWITH-SOFTWARE-DBUS=ON \
- ${@base_conditional("libdir", "/usr/lib64", "-DLIB_SUFFIX=64", "", d)} \
- ${@base_conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \
- "
-
-do_configure_prepend() {
- export CMAKE_INSTALL_DATDIR="${STAGING_DATADIR}"
-}
-
-do_install_append() {
- if [ -d ${D}${prefix}${sysconfidr} ]; then
- mv ${D}${prefix}${sysconfdir} ${D}${sysconfdir}
- fi
-}
-
-FILES_${PN} =+ "${libdir}/cmpi/libcmpiLMI* ${prefix}/libexec*"
-FILES_${PN}-dev =+ "${datadir}/cmake*"
-FILES_${PN}-dbg =+ "${libdir}/cmpi/.debug*"
-
-RDEPENDS_${PN} = "python"
-
-PNBLACKLIST[openlmi-providers] ?= "Depends on blacklisted lmsensors - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-storage_0.8.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-storage_0.8.1.bb
deleted file mode 100644
index f99b77ca4..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-storage_0.8.1.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-SUMMARY = "CIM providers for storage management"
-DESCRIPTION = "\
-The openlmi-storage package contains CMPI providers for management of storage \
-using Common Information Managemen (CIM) protocol. \
-\
-The providers can be registered in any CMPI-aware CIMOM, both OpenPegasus and \
-SFCB were tested."
-HOMEPAGE = "http://www.openlmi.org/"
-LICENSE = "LGPL-2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-SECTION = "System/Management"
-DEPENDS = "openlmi-providers pywbem cmpi-bindings"
-RDEPENDS_${PN} += "bash"
-
-SRC_URI = "http://fedorahosted.org/released/${BPN}/${BP}.tar.gz"
-SRC_URI[md5sum] = "898cf0d8c03b8ad6b45d65f335ddee0d"
-SRC_URI[sha256sum] = "4a1ba9957750f94ea58a89cea28985564f38d7cc9aa00fcae20c51e7b32bd0a8"
-
-inherit setuptools
-
-do_install_append() {
- install -m 755 -d ${D}${datadir}/${BPN}
- install -m 644 ${S}/mof/* ${D}${datadir}/${BPN}/
-
- install -m 755 -d ${D}${sysconfdir}/openlmi/storage
- install -m 644 storage.conf ${D}${sysconfdir}/openlmi/storage/storage.conf
-
- install -m 755 -d ${D}${libexecdir}/pegasus
- install -m 755 pycmpiLMI_Storage-cimprovagt ${D}${libexecdir}/pegasus/
-}
-
-FILES_${PN} =+ "${sysconfdir}/openlmi/storage/storage.conf ${datadir}/${BPN}/*"
-
-PNBLACKLIST[openlmi-storage] ?= "Depends on blacklisted pywbem - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-tools_0.10.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-tools_0.10.5.bb
index b23869d76..13e67cba1 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-tools_0.10.5.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-tools_0.10.5.bb
@@ -21,3 +21,8 @@ do_compile_prepend() {
do_install_prepend() {
cd cli
}
+
+python() {
+ if 'meta-python' not in d.getVar('BBFILE_COLLECTIONS').split():
+ raise bb.parse.SkipRecipe('Requires meta-python to be present.')
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0001-lock.c-Define-PTHREAD_MUTEX_RECURSIVE_NP-if-undefine.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0001-lock.c-Define-PTHREAD_MUTEX_RECURSIVE_NP-if-undefine.patch
new file mode 100644
index 000000000..7823fde7a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0001-lock.c-Define-PTHREAD_MUTEX_RECURSIVE_NP-if-undefine.patch
@@ -0,0 +1,29 @@
+From e05bad73f5fe4be1626560d92465893a5fc931e5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 15 Sep 2017 00:01:19 -0700
+Subject: [PATCH] lock.c: Define PTHREAD_MUTEX_RECURSIVE_NP if undefined
+
+Check for PTHREAD_MUTEX_RECURSIVE_NP being defined instead of
+checking for OS
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/lib/u/lock.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/lib/u/lock.c b/src/lib/u/lock.c
+index 025eea4c..b31c77b5 100644
+--- a/src/lib/u/lock.c
++++ b/src/lib/u/lock.c
+@@ -50,7 +50,7 @@
+ extern int pthread_mutexattr_settype(pthread_mutexattr_t *attr, int type);
+ #endif
+
+-#if defined (__SVR4) && defined (__sun)
++#ifndef PTHREAD_MUTEX_RECURSIVE_NP
+ #define PTHREAD_MUTEX_RECURSIVE_NP PTHREAD_MUTEX_RECURSIVE
+ #endif
+
+--
+2.14.1
+
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
deleted file mode 100644
index 2925f4b9e..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.2.bb
+++ /dev/null
@@ -1,65 +0,0 @@
-SUMMARY = "Opensource Implementation of WS-Management"
-DESCRIPTION = "Openwsman is a project intended to provide an open-source \
-implementation of the Web Services Management specipication \
-(WS-Management) and to expose system management information on the \
-Linux operating system using the WS-Management protocol. WS-Management \
-is based on a suite of web services specifications and usage \
-requirements that exposes a set of operations focused on and covers \
-all system management aspects. \
-Openwsman Server and service libraries"
-HOMEPAGE = "http://www.openwsman.org/"
-SECTION = "Applications/System"
-
-DEPENDS = "curl libxml2 openssl libpam"
-
-SRCREV = "feb7ec9b004fcaea0dbe65ce8a1a79cc29dd994c"
-PV = "2.6.3"
-
-SRC_URI = "git://github.com/Openwsman/openwsman.git \
- file://libssl-is-required-if-eventint-supported.patch \
- file://openwsmand.service"
-
-S = "${WORKDIR}/git"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d4f53d4c6cf73b9d43186ce3be6dd0ba"
-
-inherit systemd cmake pkgconfig pythonnative perlnative
-
-SYSTEMD_SERVICE_${PN} = "openwsmand.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-LDFLAGS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', " -fuse-ld=bfd ", '', d)}"
-
-EXTRA_OECMAKE = "-DBUILD_BINDINGS=NO \
- -DBUILD_LIBCIM=NO \
- -DBUILD_PERL=YES \
- -DCMAKE_INSTALL_PREFIX=${prefix} \
- -DLIB=${baselib} \
- "
-
-do_configure_prepend() {
- export STAGING_INCDIR=${STAGING_INCDIR}
- export STAGING_LIBDIR=${STAGING_LIBDIR}
-}
-
-do_install_append() {
- install -d ${D}/${sysconfdir}/init.d
- install -m 755 ${B}/etc/init/openwsmand.sh ${D}/${sysconfdir}/init.d/openwsmand
- ln -sf ${sysconfdir}/init.d/openwsmand ${D}/${sbindir}/rcopenwsmand
- chmod 755 ${D}/${sysconfdir}/openwsman/owsmangencert.sh
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}/${systemd_unitdir}/system
- install -m 644 ${WORKDIR}/openwsmand.service ${D}/${systemd_unitdir}/system
-
- sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/openwsmand.service
- sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/openwsmand.service
- sed -i -e 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${systemd_unitdir}/system/openwsmand.service
- fi
-}
-
-FILES_${PN}-dbg += "${libdir}/openwsman/plugins/.debug/ \
- ${libdir}/openwsman/authenticators/.debug/ \
- "
-
-INSANE_SKIP_${PN} = "dev-so"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.3.bb
new file mode 100644
index 000000000..c4778ca38
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.3.bb
@@ -0,0 +1,67 @@
+SUMMARY = "Opensource Implementation of WS-Management"
+DESCRIPTION = "Openwsman is a project intended to provide an open-source \
+implementation of the Web Services Management specipication \
+(WS-Management) and to expose system management information on the \
+Linux operating system using the WS-Management protocol. WS-Management \
+is based on a suite of web services specifications and usage \
+requirements that exposes a set of operations focused on and covers \
+all system management aspects. \
+Openwsman Server and service libraries"
+HOMEPAGE = "http://www.openwsman.org/"
+SECTION = "Applications/System"
+
+DEPENDS = "curl libxml2 openssl libpam"
+
+SRCREV = "feb7ec9b004fcaea0dbe65ce8a1a79cc29dd994c"
+PV = "2.6.3"
+
+SRC_URI = "git://github.com/Openwsman/openwsman.git \
+ file://libssl-is-required-if-eventint-supported.patch \
+ file://openwsmand.service \
+ file://0001-lock.c-Define-PTHREAD_MUTEX_RECURSIVE_NP-if-undefine.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d4f53d4c6cf73b9d43186ce3be6dd0ba"
+
+inherit systemd cmake pkgconfig pythonnative perlnative
+
+SYSTEMD_SERVICE_${PN} = "openwsmand.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+LDFLAGS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', " -fuse-ld=bfd ", '', d)}"
+
+EXTRA_OECMAKE = "-DBUILD_BINDINGS=NO \
+ -DBUILD_LIBCIM=NO \
+ -DBUILD_PERL=YES \
+ -DCMAKE_INSTALL_PREFIX=${prefix} \
+ -DLIB=${baselib} \
+ "
+
+do_configure_prepend() {
+ export STAGING_INCDIR=${STAGING_INCDIR}
+ export STAGING_LIBDIR=${STAGING_LIBDIR}
+}
+
+do_install_append() {
+ install -d ${D}/${sysconfdir}/init.d
+ install -m 755 ${B}/etc/init/openwsmand.sh ${D}/${sysconfdir}/init.d/openwsmand
+ ln -sf ${sysconfdir}/init.d/openwsmand ${D}/${sbindir}/rcopenwsmand
+ chmod 755 ${D}/${sysconfdir}/openwsman/owsmangencert.sh
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}/${systemd_unitdir}/system
+ install -m 644 ${WORKDIR}/openwsmand.service ${D}/${systemd_unitdir}/system
+
+ sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/openwsmand.service
+ sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/openwsmand.service
+ sed -i -e 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${systemd_unitdir}/system/openwsmand.service
+ fi
+}
+
+FILES_${PN}-dbg += "${libdir}/openwsman/plugins/.debug/ \
+ ${libdir}/openwsman/authenticators/.debug/ \
+ "
+
+INSANE_SKIP_${PN} = "dev-so"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb
new file mode 100644
index 000000000..ff88533ff
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb
@@ -0,0 +1,48 @@
+SUMMARY = "pam-ssh-agent-auth"
+DESCRIPTION = "A PAM module which permits authentication via ssh-agent."
+HOMEPAGE = "http://sourceforge.net/projects/pamsshagentauth/"
+SECTION = "libs"
+LICENSE = "openssl & BSD"
+LIC_FILES_CHKSUM = "file://LICENSE.OpenSSL;md5=8ab01146141ded59b75f8ba7811ed05a \
+ file://OPENSSH_LICENSE;md5=7ae09218173be1643c998a4b71027f9b \
+"
+
+SRC_URI = "http://sourceforge.net/projects/pamsshagentauth/files/pam_ssh_agent_auth/v${PV}/pam_ssh_agent_auth-${PV}.tar.bz2"
+SRC_URI[md5sum] = "8dbe90ab3625e545036333e6f51ccf1d"
+SRC_URI[sha256sum] = "3c53d358d6eaed1b211239df017c27c6f9970995d14102ae67bae16d4f47a763"
+
+DEPENDS += "libpam openssl"
+
+# This gets us ssh-agent, which we are almost certain to want.
+#
+RDEPENDS_${PN} += "openssh-misc"
+
+# Kind of unfortunate to have underscores in the name.
+#
+S = "${WORKDIR}/pam_ssh_agent_auth-${PV}"
+
+inherit autotools-brokensep
+
+# Avoid autoreconf. Override the --libexec oe_runconf specifies so that
+# the module is put with the other pam modules. Because it cannot, in general,
+# do a runtime test, configure wants to use rpl_malloc() and rpl_realloc()
+# instead of malloc() and realloc(). We set variables to tell it not to because
+# these functions do not exist.
+#
+do_configure () {
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
+ oe_runconf --without-openssl-header-check --libexecdir=${base_libdir}/security \
+ ac_cv_func_malloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes
+}
+
+# Link with CC. Configure cannot figure out the correct AR.
+#
+do_compile () {
+ oe_runmake LD="${CC}" AR="${AR}"
+}
+
+# This stuff is not any place looked at by default.
+#
+FILES_${PN} += "${base_libdir}/security/pam*"
+FILES_${PN}-dbg += "${base_libdir}/security/.debug"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/perl/libfile-fnmatch-perl_0.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/perl/libfile-fnmatch-perl_0.02.bb
new file mode 100644
index 000000000..035fe9f65
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/perl/libfile-fnmatch-perl_0.02.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Perl module that provides simple filename and pathname matching"
+DESCRIPTION = "File::FnMatch::fnmatch() provides simple, shell-like pattern \
+matching. \
+Though considerably less powerful than regular expressions, shell patterns \
+are nonetheless useful and familiar to a large audience of end-users."
+
+HOMEPAGE = "http://search.cpan.org/dist/File-FnMatch/"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+
+LIC_FILES_CHKSUM = "file://README;beginline=34;endline=37;md5=54fdfac62963b7cece5583ab38f2cf0d"
+
+SRC_URI = "https://cpan.metacpan.org/authors/id/M/MJ/MJP/File-FnMatch-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "22f77c20d0fb5af01a3165e2df2fe34c"
+SRC_URI[sha256sum] = "962454b8e86bea8b132bf8af35757d0c6a8f5d599015bd6a5d68cb7ae7a9e916"
+
+S = "${WORKDIR}/File-FnMatch-${PV}"
+
+inherit cpan
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule-datetime.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule-datetime.bb
index eced4b6de..934a53e5c 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule-datetime.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule-datetime.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "Create usergroup datetime. All members off this group are allowed set date/time/timezone via system dbus"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
require polkit-group-rule.inc
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule-network.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule-network.bb
index 551ed3eb8..66a73eaaf 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule-network.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule-network.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "Create usergroup network. All members off this group are allowed to modify networkmanager settings"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
require polkit-group-rule.inc
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 326c9340e..f34928fe3 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
@@ -10,7 +10,9 @@ DEPENDS = "expat glib-2.0 intltool-native mozjs"
inherit autotools gtk-doc pkgconfig useradd systemd gobject-introspection
PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', 'consolekit', d)}"
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', \
+ bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \
+ "
PACKAGECONFIG[pam] = "--with-authfw=pam,--with-authfw=shadow,libpam,libpam"
PACKAGECONFIG[systemd] = "--enable-libsystemd-login=yes --with-systemdsystemunitdir=${systemd_unitdir}/system/,--enable-libsystemd-login=no --with-systemdsystemunitdir=,systemd"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/rocksdb/rocksdb_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/rocksdb/rocksdb_git.bb
new file mode 100644
index 000000000..9b19c1a5f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/rocksdb/rocksdb_git.bb
@@ -0,0 +1,31 @@
+SUMMARY = "RocksDB an embeddable, persistent key-value store"
+DESCRIPTION = "RocksDB is library that provides an embeddable, persistent key-value store for fast storage."
+HOMEPAGE = "http://rocksdb.org/"
+LICENSE = "(Apache-2.0 | GPL-2.0) & BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.Apache;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSE.leveldb;md5=fb04ff57a14f308f2eed4a9b87d45837"
+
+SRCREV = "266ac245affd69555643b735d19d3715c4eff91a"
+PV = "5.8+git${SRCPV}"
+
+SRC_URI = "git://github.com/facebook/${BPN}.git"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+PACKAGECONFIG ??= "bzip2 zlib lz4"
+PACKAGECONFIG[bzip2] = "-DWITH_BZ2=ON,-DWITH_BZ2=OFF,bzip2"
+PACKAGECONFIG[lz4] = "-DWITH_LZ4=ON,-DWITH_LZ4=OFF,lz4"
+PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON,-DWITH_ZLIB=OFF,zlib"
+PACKAGECONFIG[lite] = "-DROCKSDB_LITE=ON,-DROCKSDB_LITE=OFF"
+
+# Tools and tests currently don't compile on armv5 so we disable them
+EXTRA_OECMAKE = "\
+ -DPORTABLE=ON \
+ -DWITH_TESTS=OFF \
+ -DWITH_TOOLS=OFF \
+"
+
+FILES_${PN}-dev += "${libdir}/cmake"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.6.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.6.0.bb
index a3aac45dd..797bcaaee 100644
--- 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
@@ -22,7 +22,7 @@ BBCLASSEXTEND = "native"
SYSTEMD_PACKAGES = "rrdcached"
SYSTEMD_SERVICE_rrdcached = "rrdcached.socket rrdcached.service"
-EXTRA_AUTORECONF = "-I m4"
+EXTRA_AUTORECONF = "-I m4 --exclude=autopoint"
PACKAGECONFIG ??= "python perl ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
@@ -49,6 +49,7 @@ EXTRA_OECONF = " \
--disable-lua \
--disable-tcl \
--disable-rpath \
+ --enable-nls=${USE_NLS} \
"
export STAGING_LIBDIR
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
deleted file mode 100644
index 84c258331..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.2.12.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-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/librelp_1.2.14.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.2.14.bb
new file mode 100644
index 000000000..28047eb54
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.2.14.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 = "fc512e337bfc7c92770246dbff5f482b879498b9"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
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
deleted file mode 100644
index d1d391bd2..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.22.0.bb
+++ /dev/null
@@ -1,150 +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 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_append_libc-musl = " \
- file://0001-Undefine-GLOB_BRACE.patch \
- file://0001-Include-sys-time-h.patch \
-"
-
-SRC_URI[md5sum] = "ad0f25f429aa2daa326732950a5eeb6c"
-SRC_URI[sha256sum] = "06e2884181333dccecceaca82827ae24ca7a258b4fbf7b1e07a80d4caae640ca"
-
-inherit autotools pkgconfig systemd update-rc.d ptest
-
-EXTRA_OECONF += "--disable-generate-man-pages ap_cv_atomic_builtins=yes"
-
-# first line is default yes in configure
-PACKAGECONFIG ??= " \
- rsyslogd rsyslogrt klog inet regexp uuid libgcrypt \
- imdiag gnutls imfile \
- ${@bb.utils.filter('DISTRO_FEATURES', 'snmp 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
- 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"
-
-CONFFILES_${PN} = "${sysconfdir}/rsyslog.conf"
-
-RCONFLICTS_${PN} = "busybox-syslog sysklogd syslog-ng"
-
-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}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.29.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.29.0.bb
new file mode 100644
index 000000000..7056e1c6a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.29.0.bb
@@ -0,0 +1,151 @@
+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_append_libc-musl = " \
+ file://0001-Undefine-GLOB_BRACE.patch \
+ file://0001-Include-sys-time-h.patch \
+"
+
+SRC_URI[md5sum] = "3805617f65a4b4bea34606487a5255a0"
+SRC_URI[sha256sum] = "220ba30b5afb0f3ddb328613fea7aa3966b01e4d0c52d6de9ab27b0858f19738"
+
+inherit autotools pkgconfig systemd update-rc.d ptest
+
+EXTRA_OECONF += "--disable-generate-man-pages ap_cv_atomic_builtins=yes"
+
+# first line is default yes in configure
+PACKAGECONFIG ??= " \
+ rsyslogd rsyslogrt klog inet regexp uuid libgcrypt \
+ imdiag gnutls imfile \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'snmp 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 --enable-omstdout,--disable-testbench --disable-omstdout,,"
+
+# 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 -d "${D}${sysconfdir}/logrotate.d"
+ install -m 755 ${WORKDIR}/initscript ${D}${sysconfdir}/init.d/syslog
+ install -m 644 ${WORKDIR}/rsyslog.conf ${D}${sysconfdir}/rsyslog.conf
+ install -m 644 ${WORKDIR}/rsyslog.logrotate ${D}${sysconfdir}/logrotate.d/logrotate.rsyslog
+}
+
+FILES_${PN} += "${bindir}"
+
+INITSCRIPT_NAME = "syslog"
+INITSCRIPT_PARAMS = "defaults"
+
+CONFFILES_${PN} = "${sysconfdir}/rsyslog.conf"
+
+RCONFLICTS_${PN} = "busybox-syslog sysklogd syslog-ng"
+
+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}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/sblim-sfcc/sblim-sfcc/0001-cimxml-Include-sys-select.h-for-fd_set.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/sblim-sfcc/sblim-sfcc/0001-cimxml-Include-sys-select.h-for-fd_set.patch
new file mode 100644
index 000000000..19e50ec79
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/sblim-sfcc/sblim-sfcc/0001-cimxml-Include-sys-select.h-for-fd_set.patch
@@ -0,0 +1,37 @@
+From 9981542cb443cdaf9134500b78fe7eda9f99861f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 7 Sep 2017 21:43:26 -0700
+Subject: [PATCH] cimxml: Include sys/select.h for fd_set
+
+define __SOCKADDR_ARG on linux when libc != glibc
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+ backend/cimxml/indicationlistener.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/backend/cimxml/indicationlistener.c b/backend/cimxml/indicationlistener.c
+index 0d7d9fe..37c45ae 100755
+--- a/backend/cimxml/indicationlistener.c
++++ b/backend/cimxml/indicationlistener.c
+@@ -25,6 +25,7 @@
+
+ #include <pthread.h>
+ #include <sys/socket.h>
++#include <sys/select.h>
+ #include <netinet/in.h>
+ #include <fcntl.h>
+ #include <errno.h>
+@@ -36,7 +37,7 @@ static int do_listen=1;
+ #define hdrBufsize 5000
+ #define hdrLimmit 5000
+
+-#ifdef __APPLE__
++#if defined(__APPLE__) || (defined(__linux__) && !defined(__GLIBC__))
+ # define __SOCKADDR_ARG struct sockaddr *__restrict
+ #endif
+
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/sblim-sfcc/sblim-sfcc_2.2.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/sblim-sfcc/sblim-sfcc_2.2.8.bb
index 1ec99404a..df55a6799 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/sblim-sfcc/sblim-sfcc_2.2.8.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/sblim-sfcc/sblim-sfcc_2.2.8.bb
@@ -2,7 +2,9 @@ SUMMARY = "Small Footprint CIM Client Library"
DESCRIPTION = "Small Footprint CIM Client Library Runtime Libraries"
HOMEPAGE = "http://www.sblim.org"
-SRC_URI = "http://netcologne.dl.sourceforge.net/project/sblim/${BPN}/${BPN}-${PV}.tar.bz2"
+SRC_URI = "http://netcologne.dl.sourceforge.net/project/sblim/${BPN}/${BPN}-${PV}.tar.bz2 \
+ file://0001-cimxml-Include-sys-select.h-for-fd_set.patch \
+ "
SRC_URI[md5sum] = "0bac0dec19f17ec065b6c332a56d7bae"
SRC_URI[sha256sum] = "1b8f187583bc6c6b0a63aae0165ca37892a2a3bd4bb0682cd76b56268b42c3d6"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools/mdadm.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools/mdadm.patch
new file mode 100644
index 000000000..6edda08cd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools/mdadm.patch
@@ -0,0 +1,13 @@
+--- mdadm.d/mdadm-1.3.0/mdadm.h.org 2017-06-20 00:35:55.366978372 -0700
++++ mdadm.d/mdadm-1.3.0/mdadm.h 2017-06-20 00:36:41.244363348 -0700
+@@ -29,8 +29,9 @@
+
+ #define __USE_LARGEFILE64
+ #include <unistd.h>
+-extern __off64_t lseek64 __P ((int __fd, __off64_t __offset, int __whence));
++//extern __off64_t lseek64 __P ((int __fd, __off64_t __offset, int __whence));
+
++#include <sys/sysmacros.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <stdlib.h>
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools/print-format.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools/print-format.patch
new file mode 100644
index 000000000..ac8178058
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools/print-format.patch
@@ -0,0 +1,218 @@
+Index: scsirastools-1.6.6/src/sgcommon.c
+===================================================================
+--- scsirastools-1.6.6.orig/src/sgcommon.c
++++ scsirastools-1.6.6/src/sgcommon.c
+@@ -304,8 +304,8 @@ void showit(char *buf)
+ fdlog = stderr;
+ }
+ }
+- if (flogopen) fprintf(fdlog, buf); /*write to log */
+- fprintf(fdmsg, buf); /*defaults to stdout */
++ if (flogopen) fprintf(fdlog, "%s", buf); /*write to log */
++ fprintf(fdmsg, "%s", buf); /*defaults to stdout */
+ }
+
+ void showlog(const char * format, ...)
+Index: scsirastools-1.6.6/src/sgdefects.c
+===================================================================
+--- scsirastools-1.6.6.orig/src/sgdefects.c
++++ scsirastools-1.6.6/src/sgdefects.c
+@@ -226,7 +226,7 @@ int main(int argc, char **argv)
+ (" ******************************************\n");
+ if (flogopen)
+ printf("Log file %s is open\n", logfile);
+- printf(HeaderStr);
++ printf("%s", HeaderStr);
+ /* get SCSI Device Info */
+ idev = 0;
+ flags = O_RDWR; /* could use OPEN_FLAG if read-only. */
+Index: scsirastools-1.6.6/src/sgdiag.c
+===================================================================
+--- scsirastools-1.6.6.orig/src/sgdiag.c
++++ scsirastools-1.6.6/src/sgdiag.c
+@@ -250,7 +250,7 @@ int main(int argc, char **argv)
+ printf(" ******************************************\n");
+ if (flogopen)
+ printf("Log file %s is open, debug=%d\n", logfile,fdebug);
+- printf(HeaderStr);
++ printf("%s", HeaderStr);
+ }
+ /* get SCSI Device Info */
+ idev = 0;
+@@ -356,12 +356,12 @@ int main(int argc, char **argv)
+ case 'F':
+ case 'f':
+ func = 'f';
+- printf(erase_msg);
++ printf("%s", erase_msg);
+ break;
+ case 'W':
+ case 'w':
+ func = 'w';
+- printf(erase_msg);
++ printf("%s", erase_msg);
+ break;
+ case 'S':
+ case 's':
+Index: scsirastools-1.6.6/src/sgdiskmon.c
+===================================================================
+--- scsirastools-1.6.6.orig/src/sgdiskmon.c
++++ scsirastools-1.6.6/src/sgdiskmon.c
+@@ -197,9 +197,9 @@ void showit(char *buf)
+ }
+ }
+ if (flogopen)
+- fprintf(fdlog, buf); /*write to log */
++ fprintf(fdlog, "%s", buf); /*write to log */
+ if (!background)
+- fprintf(fdmsg, buf); /*message display defaults to stdout */
++ fprintf(fdmsg, "%s", buf); /*message display defaults to stdout */
+ }
+
+ /*
+@@ -235,7 +235,7 @@ rem_scsi_dev(int bus, int ch, int id, in
+ fp = fopen("/proc/scsi/scsi","r+");
+ if (fp == NULL) return(errno);
+ sprintf(cmd,"remove-single-device %d %d %d %d",bus,ch,id,lun);
+- n = fprintf(fp,cmd);
++ n = fprintf(fp,"%s", cmd);
+ fclose(fp);
+ strcat(cmd,"\n");
+ showit(cmd);
+@@ -256,7 +256,7 @@ add_scsi_dev(int bus, int ch, int id, in
+ fp = fopen("/proc/scsi/scsi","r+");
+ if (fp == NULL) return(errno);
+ sprintf(cmd,"add-single-device %d %d %d %d",bus,ch,id,lun);
+- n = fprintf(fp,cmd);
++ n = fprintf(fp, "%s", cmd);
+ fclose(fp);
+ strcat(cmd,"\n");
+ showit(cmd);
+@@ -1233,7 +1233,7 @@ main(int argc, char **argv)
+ interval = atoi(optarg);
+ break;
+ default:
+- printf(output2); /*prog header*/
++ printf("%s", output2); /*prog header*/
+ printf("Usage: %s [-bemnrx -t time]\n",progname);
+ printf(" -b Run in Background as a daemon\n");
+ printf(" -e Do not write to any files.\n");
+@@ -1246,7 +1246,7 @@ main(int argc, char **argv)
+ exit(1);
+ }
+ }
+- if (!background) printf(output2); /*prog header*/
++ if (!background) printf("%s", output2); /*prog header*/
+
+ /* only run this as superuser */
+ i = geteuid();
+Index: scsirastools-1.6.6/src/sgmode.c
+===================================================================
+--- scsirastools-1.6.6.orig/src/sgmode.c
++++ scsirastools-1.6.6/src/sgmode.c
+@@ -303,7 +303,7 @@ int main(int argc, char **argv)
+ (" ******************************************\n");
+ if (flogopen)
+ printf("Log file %s is open\n", logfile);
+- printf(HeaderStr);
++ printf("%s", HeaderStr);
+ /* get SCSI Device Info */
+ idev = 0;
+ flags = O_RDWR; /* could use OPEN_FLAG if read-only. */
+@@ -585,8 +585,8 @@ int do_modeselect(int idx)
+ if (!foverwrite) {
+ /* use existing capacity from mode sense */
+ memcpy(sel_buffer + 4, out_buffer + 4, 8);
+- sprintf(scratch, "Using existing capacity instead\n");
+- printf(scratch);
++ sprintf(scratch, "%s", "Using existing capacity instead\n");
++ printf("%s",scratch);
+ showlog( scratch);
+ } else { /* foverwrite==1, changing something */
+ /* usually only change num blks, if change blk size, flag it. */
+Index: scsirastools-1.6.6/src/sgraidmon.c
+===================================================================
+--- scsirastools-1.6.6.orig/src/sgraidmon.c
++++ scsirastools-1.6.6/src/sgraidmon.c
+@@ -269,9 +269,9 @@ void showit(char *buf)
+ }
+ }
+ if (flogopen)
+- fprintf(fdlog, buf); /*write to log */
++ fprintf(fdlog, "%s", buf); /*write to log */
+ if (!background)
+- fprintf(fdmsg, buf); /*message display defaults to stdout */
++ fprintf(fdmsg, "%s", buf); /*message display defaults to stdout */
+ }
+
+ /*
+@@ -563,7 +563,7 @@ add_scsi_dev(int bus, int ch, int id, in
+ fp = fopen("/proc/scsi/scsi","r+");
+ if (fp == NULL) return(errno);
+ sprintf(cmd,"add-single-device %d %d %d %d",bus,ch,id,lun);
+- fprintf(fp,cmd);
++ fprintf(fp, "%s", cmd);
+ fclose(fp);
+ strcat(cmd,"\n");
+ showit(cmd);
+@@ -1585,7 +1585,7 @@ main(int argc, char **argv)
+ interval = atoi(optarg);
+ break;
+ default:
+- printf(output2); /*prog header*/
++ printf("%s", output2); /*prog header*/
+ printf("Usage: %s [-bemnrx -t time]\n",progname);
+ printf(" -b Run in Background as a daemon\n");
+ printf(" -e Do not write to any files.\n");
+@@ -1598,7 +1598,7 @@ main(int argc, char **argv)
+ exit(1);
+ }
+ }
+- if (!background) printf(output2); /*prog header*/
++ if (!background) printf("%s", output2); /*prog header*/
+
+ /* only run this as superuser */
+ i = geteuid();
+Index: scsirastools-1.6.6/src/sgsafte.c
+===================================================================
+--- scsirastools-1.6.6.orig/src/sgsafte.c
++++ scsirastools-1.6.6/src/sgsafte.c
+@@ -174,9 +174,9 @@ void showit(char *buf)
+ }
+ }
+ if (flogopen)
+- fprintf(fdlog, buf); /*write to log */
++ fprintf(fdlog, "%s", buf); /*write to log */
+ if (!background)
+- fprintf(fdmsg, buf); /*message display defaults to stdout */
++ fprintf(fdmsg, "%s", buf); /*message display defaults to stdout */
+ }
+
+ /*
+@@ -384,7 +384,7 @@ add_scsi_dev(int bus, int ch, int id, in
+ fp = fopen("/proc/scsi/scsi","r+");
+ if (fp == NULL) return(errno);
+ sprintf(cmd,"add-single-device %d %d %d %d",bus,ch,id,lun);
+- fprintf(fp,cmd);
++ fprintf(fp, "%s", cmd);
+ fclose(fp);
+ strcat(cmd,"\n");
+ showit(cmd);
+@@ -1261,7 +1261,7 @@ main(int argc, char **argv)
+ do_numeric = 0;
+ break;
+ default:
+- printf(output2); /*prog header*/
++ printf("%s", output2); /*prog header*/
+ printf("Usage: %s [-d num -rf -emnx]\n",progname);
+ printf(" -d drive number to set (0, 1, ...)\n");
+ printf(" -r set SAF-TE status to ready\n");
+@@ -1273,7 +1273,7 @@ main(int argc, char **argv)
+ exit(1);
+ }
+ }
+- if (!background) printf(output2); /*prog header*/
++ if (!background) printf("%s", output2); /*prog header*/
+
+ if (setval != 0 && drivenum == -1) drivenum = 0; /*default to first drive*/
+
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
deleted file mode 100644
index d0c36e472..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.4.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "Linux SCSi tools to service maintain disk storage devices"
-DESCRIPTION = "scsirastools were designed to add to the Serviceability of \
- SCSI devices under Linux so that the system does not have \
- to be rebooted or taken out of service to perform common \
- maintenance or service functions. It handles SCSI, \
- Linux SW RAID, SAS, SATA, and USB devices via SCSI emulation."
-HOMEPAGE = "http://scsirastools.sourceforge.net/"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=687ea108478d26152ae46eb29d9d1545"
-
-DEPENDS += "groff-native"
-
-SRC_URI = "http://prdownloads.sourceforge.net/scsirastools/scsirastools-${PV}.tar.gz"
-SRC_URI[md5sum] = "2d775111b62e2dfc1960a722f5fda211"
-SRC_URI[sha256sum] = "38d2c6c9b04a2c594e528927b950754f94c0522718d17c78e6589ba778339bf8"
-
-inherit autotools update-rc.d
-
-# mdadm Makefile has CC set to gcc, hence override CC to ${CC}
-EXTRA_OEMAKE += "CC='${CC}'"
-
-INITSCRIPT_PACKAGES = "${PN}-diskmon ${PN}-raidmon"
-INITSCRIPT_NAME_${PN}-diskmon = "sgdisk"
-INITSCRIPT_PARAMS_${PN}-diskmon = "defaults 80 20"
-INITSCRIPT_NAME_${PN}-raidmon = "sgraid"
-INITSCRIPT_PARAMS_${PN}-raidmon = "defaults 80 20"
-
-PACKAGES =+ "${PN}-diskmon ${PN}-diskmon-dbg"
-PACKAGES =+ "${PN}-raidmon ${PN}-raidmon-dbg"
-
-FILES_${PN}-dbg += "/usr/share/scsirastools/.debug"
-
-FILES_${PN}-diskmon = "${sbindir}/sgdiskmon ${sysconfdir}/init.d/sgdisk"
-FILES_${PN}-diskmon-dbg = "${sbindir}/.debug/sgdiskmon"
-
-FILES_${PN}-raidmon = "${sbindir}/sgraidmon ${sysconfdir}/init.d/sgraid"
-FILES_${PN}-raidmon-dbg = "${sbindir}/.debug/sgraidmon"
-
-RDEPENDS_${PN} += "bash"
-RDEPENDS_${PN}-diskmon += "${PN}"
-RDEPENDS_${PN}-raidmon += "${PN}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb
new file mode 100644
index 000000000..e202d16eb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb
@@ -0,0 +1,49 @@
+SUMMARY = "Linux SCSi tools to service maintain disk storage devices"
+DESCRIPTION = "scsirastools were designed to add to the Serviceability of \
+ SCSI devices under Linux so that the system does not have \
+ to be rebooted or taken out of service to perform common \
+ maintenance or service functions. It handles SCSI, \
+ Linux SW RAID, SAS, SATA, and USB devices via SCSI emulation."
+HOMEPAGE = "http://scsirastools.sourceforge.net/"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=687ea108478d26152ae46eb29d9d1545"
+
+DEPENDS += "groff-native"
+
+SRC_URI = "http://prdownloads.sourceforge.net/scsirastools/scsirastools-${PV}.tar.gz \
+ file://mdadm.patch;apply=no \
+ file://print-format.patch \
+"
+SRC_URI[md5sum] = "6271a61b2ce40aaf33ef61775148cda1"
+SRC_URI[sha256sum] = "e7b997e75decb06a650c42c35cd63d0c94c34e39cf133c723337b0eeabbfdf6a"
+
+inherit autotools update-rc.d
+
+# mdadm Makefile has CC set to gcc, hence override CC to ${CC}
+EXTRA_OEMAKE += "CC='${CC}'"
+
+
+do_configure_append() {
+ oe_runmake -C mdadm.d mdadm-1.3.0
+ patch -p0 < ${WORKDIR}/mdadm.patch
+}
+INITSCRIPT_PACKAGES = "${PN}-diskmon ${PN}-raidmon"
+INITSCRIPT_NAME_${PN}-diskmon = "sgdisk"
+INITSCRIPT_PARAMS_${PN}-diskmon = "defaults 80 20"
+INITSCRIPT_NAME_${PN}-raidmon = "sgraid"
+INITSCRIPT_PARAMS_${PN}-raidmon = "defaults 80 20"
+
+PACKAGES =+ "${PN}-diskmon ${PN}-diskmon-dbg"
+PACKAGES =+ "${PN}-raidmon ${PN}-raidmon-dbg"
+
+FILES_${PN}-dbg += "/usr/share/scsirastools/.debug"
+
+FILES_${PN}-diskmon = "${sbindir}/sgdiskmon ${sysconfdir}/init.d/sgdisk"
+FILES_${PN}-diskmon-dbg = "${sbindir}/.debug/sgdiskmon"
+
+FILES_${PN}-raidmon = "${sbindir}/sgraidmon ${sysconfdir}/init.d/sgraid"
+FILES_${PN}-raidmon-dbg = "${sbindir}/.debug/sgraidmon"
+
+RDEPENDS_${PN} += "bash"
+RDEPENDS_${PN}-diskmon += "${PN}"
+RDEPENDS_${PN}-raidmon += "${PN}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/sgpio/sgpio_1.2.0.10.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/sgpio/sgpio_1.2.0.10.bb
index ee7bcdabb..63e8d36d0 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/sgpio/sgpio_1.2.0.10.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/sgpio/sgpio_1.2.0.10.bb
@@ -1,4 +1,5 @@
SUMMARY = "SGPIO captive backplane tool"
+HOMEPAGE = "http://sources.redhat.com/lvm2/wiki/DMRAID_Eventing"
DESCRIPTION = "Intel SGPIO enclosure management utility"
SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/${BPN}/${BPN}-1.2-0.10-src.tar.gz/a417bf68da4e9bd79a4664c11d7debd1/${BPN}-1.2-0.10-src.tar.gz \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb
index 931e33289..a2d62c366 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://include/linux/can.h;endline=43;md5=390a2c9a3c5e3595a0
DEPENDS = "libsocketcan"
SRC_URI = "git://github.com/linux-can/${BPN}.git;protocol=git;branch=master"
-SRCREV = "67a2bdcd336e6becfa5784742e18c88dbeddc973"
+SRCREV = "4c8fb05cb4d6ddcd67299008db54af423f86fd05"
PV = "0.0+gitr${SRCPV}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/subsurface/subsurface_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/subsurface/subsurface_git.bb
deleted file mode 100644
index 90adaf487..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/subsurface/subsurface_git.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Subsurface is an open source dive log program"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = "libdivecomputer gtk+ libxml2 glib-2.0 gconf"
-
-PNBLACKLIST[subsurface] ?= "Needs to be upgraded for compatibility with new libdivecomputer - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-inherit gtk-icon-cache cmake
-
-inherit gitpkgv
-PKGV = "${GITPKGVTAG}"
-PV = "4.2"
-
-SRCREV = "f61ee20ba356ecfc4c5b247f548f52d588179c94"
-SRC_URI = "git://subsurface.hohndel.org/subsurface.git"
-S = "${WORKDIR}/git"
-
-#FILES_${PN} += "${datadir}/icons/hicolor/scalable/apps/subsurface.svg"
-RRECOMMENDS_${PN}_append_libc-glibc = " glibc-gconv-iso8859-15"
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb
index b7157b432..720aa3c2b 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb
@@ -17,6 +17,8 @@ inherit autotools pkgconfig
DEPENDS += "libdaemon"
+RDEPENDS_${PN} = "iproute2-tipc"
+
S = "${WORKDIR}/git"
do_configure_prepend() {
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/upm/files/ads1x15-fixed-case-logic-in-getThresh-function.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/upm/files/ads1x15-fixed-case-logic-in-getThresh-function.patch
new file mode 100644
index 000000000..c617d14a1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/upm/files/ads1x15-fixed-case-logic-in-getThresh-function.patch
@@ -0,0 +1,54 @@
+From c64d04d084f47b4cb3e1cdee6e96348fcc6a756e Mon Sep 17 00:00:00 2001
+From: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
+Date: Tue, 30 May 2017 15:14:09 -0700
+Subject: [PATCH 1/1] ads1x15: fixed case logic in getThresh() function
+
+Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
+
+Upstream-Status: Backported [c64d04d084f47b4cb3e1cdee6e96348fcc6a756e]
+
+Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
+
+---
+ src/ads1x15/ads1x15.cxx | 4 ++--
+ src/ads1x15/ads1x15.hpp | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/ads1x15/ads1x15.cxx b/src/ads1x15/ads1x15.cxx
+index 35782709..47701b2a 100644
+--- a/src/ads1x15/ads1x15.cxx
++++ b/src/ads1x15/ads1x15.cxx
+@@ -116,7 +116,7 @@ ADS1X15::setContinuous(bool mode){
+
+ float
+ ADS1X15::getThresh(ADSTHRESH reg){
+- if( THRESH_HIGH && THRESH_LOW) return getLastSample(reg);
++ if(reg == THRESH_HIGH || reg == THRESH_LOW) return getLastSample(reg);
+ else return 0.0;
+ }
+
+@@ -137,7 +137,7 @@ ADS1X15::setThresh(ADSTHRESH reg, float value){
+ case 2:
+ case 3:
+ set_value = value / getMultiplier();
+- set_value = set_value << m_bitShift;
++ set_value = set_value << m_bitShift;
+ if(i2c->writeWordReg(reg, swapWord(set_value)) != mraa::SUCCESS){
+ throw std::runtime_error(std::string(__FUNCTION__) + ": I2c.write() failed");
+ return;
+diff --git a/src/ads1x15/ads1x15.hpp b/src/ads1x15/ads1x15.hpp
+index 7524572d..efd8c8ec 100644
+--- a/src/ads1x15/ads1x15.hpp
++++ b/src/ads1x15/ads1x15.hpp
+@@ -390,7 +390,7 @@ namespace upm {
+ * @param reg ADSTHRES enum value.
+ * Returns 0.0 unless THRESH_HIGH or THRESH_LOW requested.
+ */
+- float getThresh(ADSTHRESH reg = THRESH_LOW);
++ float getThresh(ADSTHRESH reg = THRESH_DEFAULT);
+
+ /**
+ * Sets threshold levels or configures for conversion ready
+--
+2.11.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb
new file mode 100644
index 000000000..38065ce53
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb
@@ -0,0 +1,45 @@
+SUMMARY = "Sensor/Actuator repository for Mraa"
+HOMEPAGE = "https://github.com/intel-iot-devkit/upm"
+SECTION = "libs"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=66493d54e65bfc12c7983ff2e884f37f"
+
+DEPENDS = "libjpeg-turbo mraa"
+
+SRCREV = "106b6c706268522ab0168a4ddb19e89ce832e084"
+PV = "1.3.0-git${SRCPV}"
+
+SRC_URI = " \
+ git://github.com/intel-iot-devkit/${BPN}.git;protocol=http \
+ file://ads1x15-fixed-case-logic-in-getThresh-function.patch \
+"
+
+S = "${WORKDIR}/git"
+
+# Depends on mraa which only supports x86 and ARM for now
+COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux"
+
+inherit distutils3-base cmake
+
+
+# override this in local.conf to get needed bindings.
+# BINDINGS_pn-upm="python"
+# will result in only the python bindings being built/packaged.
+BINDINGS ??= "python ${@ 'nodejs' if oe.types.boolean(d.getVar('HAVE_NODEJS') or '0') else '' }"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('PACKAGES', 'node-${PN}', 'nodejs', '', d)} \
+ ${@bb.utils.contains('PACKAGES', '${PYTHON_PN}-${PN}', 'python', '', d)}"
+
+PACKAGECONFIG[python] = "-DBUILDSWIGPYTHON=ON, -DBUILDSWIGPYTHON=OFF, swig-native ${PYTHON_PN},"
+PACKAGECONFIG[nodejs] = "-DBUILDSWIGNODE=ON, -DBUILDSWIGNODE=OFF, swig-native nodejs-native,"
+
+FILES_${PYTHON_PN}-${PN} = "${PYTHON_SITEPACKAGES_DIR}"
+RDEPENDS_${PYTHON_PN}-${PN} += "${PYTHON_PN}"
+
+FILES_node-${PN} = "${prefix}/lib/node_modules/"
+RDEPENDS_node-${PN} += "nodejs"
+
+### Include desired language bindings ###
+PACKAGES =+ "${@bb.utils.contains('BINDINGS', 'nodejs', 'node-${PN}', '', d)}"
+PACKAGES =+ "${@bb.utils.contains('BINDINGS', 'python', '${PYTHON_PN}-${PN}', '', d)}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/disable_vlockrc.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/disable_vlockrc.patch
new file mode 100644
index 000000000..ee0d074de
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/disable_vlockrc.patch
@@ -0,0 +1,37 @@
+Upstream-Status: Inappropriate [configuration]
+
+written by: Jeff Polk <jeff.polk@windriver.com>
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+
+Index: vlock-2.2.2/man/vlock.1
+===================================================================
+--- vlock-2.2.2.orig/man/vlock.1 2010-07-26 14:12:42.000000000 -0400
++++ vlock-2.2.2/man/vlock.1 2010-07-26 14:13:06.000000000 -0400
+@@ -111,11 +111,6 @@
+ to an invalid value or 0 no timeout is used. \fBWarning\fR: If this value is
+ too low, you may not be able to unlock your session.
+ .PP
+-.SH FILES
+-.B ~/.vlockrc
+-.IP
+-This file is read by \fBvlock\fR on startup if it exists. All the variables
+-mentioned above can be set here.
+ .SH SECURITY
+ See the SECURITY file in the \fBvlock\fR distribution for more information.
+ .PP
+Index: vlock-2.2.2/src/vlock.sh
+===================================================================
+--- vlock-2.2.2.orig/src/vlock.sh 2010-07-26 14:12:32.000000000 -0400
++++ vlock-2.2.2/src/vlock.sh 2010-07-26 14:13:33.000000000 -0400
+@@ -35,11 +35,6 @@
+
+ ${VLOCK_ENTER_PROMPT}"
+
+-# Read user settings.
+-if [ -r "${HOME}/.vlockrc" ] ; then
+- . "${HOME}/.vlockrc"
+-fi
+-
+ # "Compile" time variables.
+ VLOCK_MAIN="%PREFIX%/sbin/vlock-main"
+ VLOCK_VERSION="%VLOCK_VERSION%"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/vlock-no_tally.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/vlock-no_tally.patch
new file mode 100644
index 000000000..6e8a6a9fd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/vlock-no_tally.patch
@@ -0,0 +1,107 @@
+Upstream-Status: Pending
+
+written by: Jeff Polk <jeff.polk@windriver.com>
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+
+--- a/Makefile
++++ b/Makefile
+@@ -126,6 +126,10 @@ ifeq ($(AUTH_METHOD),shadow)
+ vlock-main : override LDLIBS += $(CRYPT_LIB)
+ endif
+
++ifneq ($(ENABLE_FAIL_COUNT),yes)
++vlock-main.o : override CFLAGS += -DNO_FAIL_COUNT
++endif
++
+ ifeq ($(ENABLE_PLUGINS),yes)
+ vlock-main: plugins.o plugin.o module.o process.o script.o tsort.o list.o
+ # -rdynamic is needed so that the all plugin can access the symbols from console_switch.o
+--- a/configure
++++ b/configure
+@@ -44,6 +44,7 @@ Optional Features:
+ --enable-shadow enable shadow authentication [disabled]
+ --enable-root-password enable unlogging with root password [enabled]
+ --enable-debug enable debugging
++ --enable-fail-count enable failed login attempt summary [enabled]
+
+ Additional configuration:
+ --with-scripts=SCRIPTS enable the named scripts []
+@@ -78,6 +79,9 @@ enable_feature() {
+ root-password)
+ ENABLE_ROOT_PASSWORD="$2"
+ ;;
++ fail-count)
++ ENABLE_FAIL_COUNT="$2"
++ ;;
+ pam|shadow)
+ if [ "$2" = "yes" ] ; then
+ if [ -n "$auth_method" ] && [ "$auth_method" != "$1" ] ; then
+@@ -232,6 +232,7 @@ set_defaults() {
+ AUTH_METHOD="pam"
+ ENABLE_ROOT_PASSWORD="yes"
+ ENABLE_PLUGINS="yes"
++ ENABLE_FAIL_COUNT="yes"
+ SCRIPTS=""
+
+ VLOCK_GROUP="vlock"
+@@ -356,10 +356,14 @@ ENABLE_PLUGINS = ${ENABLE_PLUGINS}
+ # which plugins should be build
+ MODULES = ${MODULES}
+ # which scripts should be installed
+ SCRIPTS = ${SCRIPTS}
+
++# display a summary of failed authentication attempts after successfully
++# unlocking?
++ENABLE_FAIL_COUNT = ${ENABLE_FAIL_COUNT}
++
+ # root's group
+ ROOT_GROUP = ${ROOT_GROUP}
+
+ # group for privileged plugins
+ VLOCK_GROUP = ${VLOCK_GROUP}
+--- a/src/vlock-main.c
++++ b/src/vlock-main.c
+@@ -111,7 +111,9 @@ static void restore_terminal(void)
+ (void) tcsetattr(STDIN_FILENO, TCSANOW, &term);
+ }
+
++#ifdef ENABLE_FAIL_COUNT
+ static int auth_tries;
++#endif /* ENABLE_FAIL_COUNT */
+
+ static void auth_loop(const char *username)
+ {
+@@ -181,7 +183,9 @@ static void auth_loop(const char *userna
+ }
+ #endif
+
++#ifdef ENABLE_FAIL_COUNT
+ auth_tries++;
++#endif /* ENABLE_FAIL_COUNT */
+ }
+
+ /* Free timeouts memory. */
+@@ -189,11 +193,13 @@ static void auth_loop(const char *userna
+ free(prompt_timeout);
+ }
+
++#ifdef ENABLE_FAIL_COUNT
+ void display_auth_tries(void)
+ {
+ if (auth_tries > 0)
+ fprintf(stderr, "%d failed authentication %s.\n", auth_tries, auth_tries > 1 ? "tries" : "try");
+ }
++#endif /* ENABLE_FAIL_COUNT */
+
+ #ifdef USE_PLUGINS
+ static void call_end_hook(void)
+@@ -216,7 +222,9 @@ int main(int argc, char *const argv[])
+ if (username == NULL)
+ fatal_perror("vlock: could not get username");
+
++#ifdef ENABLE_FAIL_COUNT
+ ensure_atexit(display_auth_tries);
++#endif /* ENABLE_FAIL_COUNT */
+
+ #ifdef USE_PLUGINS
+ for (int i = 1; i < argc; i++)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/vlock_pam b/import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/vlock_pam
new file mode 100644
index 000000000..a919682b0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/vlock_pam
@@ -0,0 +1,3 @@
+# Use the default auth and account policies for vlock
+auth include common-auth
+account include common-account
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/vlock_pam_tally2_reset.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/vlock_pam_tally2_reset.patch
new file mode 100644
index 000000000..4ce0abc71
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/vlock_pam_tally2_reset.patch
@@ -0,0 +1,19 @@
+Upstream-Status: Pending
+
+written by: Jeff Polk <jeff.polk@windriver.com>
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+
+Index: vlock-2.2.2/src/auth-pam.c
+===================================================================
+--- vlock-2.2.2.orig/src/auth-pam.c 2010-06-14 14:38:51.000000000 -0400
++++ vlock-2.2.2/src/auth-pam.c 2010-06-14 14:39:12.000000000 -0400
+@@ -148,6 +148,9 @@
+
+ if (pam_status != PAM_SUCCESS) {
+ fprintf(stderr, "vlock: %s\n", pam_strerror(pamh, pam_status));
++ } else {
++ pam_status = pam_acct_mgmt(pamh, 0);
++ if (pam_status == PAM_SUCCESS) pam_setcred(pamh, PAM_REINITIALIZE_CRED);
+ }
+
+ end:
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock_2.2.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock_2.2.3.bb
new file mode 100644
index 000000000..259d3a5e1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock_2.2.3.bb
@@ -0,0 +1,59 @@
+SUMMARY = "Virtual Console lock program"
+DESCRIPTION = "Sometimes a malicious local user could cause more problems \
+ than a sophisticated remote one. vlock is a program that locks one or more \
+ sessions on the Linux console to prevent attackers from gaining physical \
+ access to the machine. \
+ "
+SECTION = "utils"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a17cb0a873d252440acfdf9b3d0e7fbf"
+
+SRC_URI = "${GENTOO_MIRROR}/${BP}.tar.gz \
+ file://disable_vlockrc.patch \
+ file://vlock_pam_tally2_reset.patch \
+ file://vlock-no_tally.patch \
+ file://vlock_pam \
+ "
+
+SRC_URI[md5sum] = "378175c7692a8f288e65fd4dbf8a38eb"
+SRC_URI[sha256sum] = "85aa5aed1ae49351378a0bd527a013078f0f969372a63164b1944174ae1a5e39"
+
+inherit autotools-brokensep update-alternatives
+
+# authentification method: either pam or shadow
+PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', 'shadow', d)}"
+PACKAGECONFIG[pam] = "--enable-pam,,libpam,"
+PACKAGECONFIG[shadow] = "--enable-shadow,,shadow,"
+
+CFLAGS += "-Wall -W -pedantic -std=gnu99"
+
+do_configure () {
+ # The configure tries to use 'getent' to get the group
+ # info from the host, which should be avoided.
+ sed -i 's/\(ROOT_GROUP=\).*/\1"root"/' ${CONFIGURE_SCRIPT}
+
+ ${CONFIGURE_SCRIPT} \
+ VLOCK_GROUP=root \
+ ROOT_GROUP=root \
+ CC="${CC}" \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ --prefix=${prefix} \
+ --libdir=${libdir} \
+ --mandir=${mandir} \
+ --with-modules="all.so new.so nosysrq.so ttyblank.so vesablank.so" \
+ --disable-root-password --enable-debug --disable-fail-count \
+ ${PACKAGECONFIG_CONFARGS}
+}
+
+do_install_append () {
+ if [ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'yes', '', d)} = yes ]; then
+ install -d -m 0755 ${D}/${sysconfdir}/pam.d
+ install -m 0644 ${WORKDIR}/vlock_pam ${D}${sysconfdir}/pam.d/vlock
+ fi
+}
+
+ALTERNATIVE_${PN} = "vlock"
+ALTERNATIVE_PRIORITY = "60"
+ALTERNATIVE_LINK_NAME[vlock] = "${bindir}/vlock"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/volume_key/files/0001-explicitly-support-python3-by-pkg-config.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/volume_key/files/0001-explicitly-support-python3-by-pkg-config.patch
new file mode 100644
index 000000000..03edb1390
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/volume_key/files/0001-explicitly-support-python3-by-pkg-config.patch
@@ -0,0 +1,56 @@
+From 18415c0b4c6e50ed9b99dfdae8d210590d0ab72e Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 28 Apr 2017 04:50:30 -0400
+Subject: [PATCH] explicitly support python3 by pkg-config
+
+The PYTHON_CPPFLAGS and -lpython$(PYTHON_VERSION) is hardcoded,
+use pkg-config to replace
+
+Upstream-Status: Inappropriate [wr-installer specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ Makefile.am | 5 ++---
+ configure.ac | 2 ++
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 4569bbf..7a8daf4 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -20,7 +20,6 @@ ACLOCAL_AMFLAGS = -I m4
+ AM_CPPFLAGS = $(blkid_CFLAGS) $(glib_CFLAGS) $(GPGME_CFLAGS) \
+ $(libcryptsetup_CFLAGS) $(nss_CFLAGS)
+ LOCALEDIR_CPPFLAGS = -DLOCALEDIR='"$(localedir)"'
+-PYTHON_CPPFLAGS = -I/usr/include/python$(PYTHON_VERSION)
+
+ ## Targets
+ SUBDIRS = po
+@@ -63,9 +62,9 @@ lib_libvolume_key_la_LIBADD = $(blkid_LIBS) $(glib_LIBS) $(GPGME_LIBS) \
+ $(LTLIBINTL) $(libcryptsetup_LIBS) $(nss_LIBS)
+
+ python__volume_key_la_SOURCES = python/volume_key_wrap.c
+-python__volume_key_la_CPPFLAGS = $(AM_CPPFLAGS) $(PYTHON_CPPFLAGS)
++python__volume_key_la_CPPFLAGS = $(AM_CPPFLAGS) $(python3_CFLAGS)
+ python__volume_key_la_LDFLAGS = -module -avoid-version $(glib_LIBS)
+-python__volume_key_la_LIBADD = lib/libvolume_key.la -lpython$(PYTHON_VERSION) \
++python__volume_key_la_LIBADD = lib/libvolume_key.la $(python3_LIBS) \
+ $(glib_LIBS) $(nss_LIBS)
+
+ src_volume_key_SOURCES = src/volume_key.c
+diff --git a/configure.ac b/configure.ac
+index ff35dd0..0928a6c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -27,6 +27,8 @@ AM_INIT_AUTOMAKE([no-dist-gzip dist-xz no-define subdir-objects -Wall])
+ AC_PROG_CC
+ AM_PROG_CC_C_O
+ LT_INIT([disable-static])
++
++PKG_CHECK_MODULES(python3, [python3])
+ AM_PATH_PYTHON
+
+ dnl Not gpg2, it cannot receive passphrases from gpgme
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.9.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.9.bb
new file mode 100644
index 000000000..febf3f256
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.9.bb
@@ -0,0 +1,34 @@
+DESCRIPTION = "The volume_key project provides a libvolume_key, a library for manipulating \
+storage volume encryption keys and storing them separately from volumes, and an \
+associated command-line tool, named volume_key."
+LICENSE = "GPLv2"
+SECTION = "devel/lib"
+
+HOMEPAGE = "https://pagure.io/volume_key"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "https://releases.pagure.org/volume_key/volume_key-${PV}.tar.xz \
+ file://0001-explicitly-support-python3-by-pkg-config.patch \
+"
+SRC_URI[md5sum] = "a2d14931177c660e1f3ebbcf5f47d8e2"
+SRC_URI[sha256sum] = "450a54fe9bf56acec6850c1e71371d3e4913c9ca1ef0cdc3a517b4b6910412a6"
+
+SRCNAME = "volume_key"
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit autotools python3native gettext
+
+DEPENDS += " \
+ util-linux \
+ glib-2.0 \
+ cryptsetup \
+ nss \
+ gpgme \
+"
+
+RDEPENDS_python3-${PN} += "${PN}"
+
+PACKAGES += "python3-${PN}"
+FILES_python3-${PN} = "${PYTHON_SITEPACKAGES_DIR}/*"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/zlog/zlog/0001-event.c-Cast-pthread_t-to-unsigned-long-instead-of-u.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/zlog/zlog/0001-event.c-Cast-pthread_t-to-unsigned-long-instead-of-u.patch
new file mode 100644
index 000000000..71a989103
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/zlog/zlog/0001-event.c-Cast-pthread_t-to-unsigned-long-instead-of-u.patch
@@ -0,0 +1,32 @@
+From b97f62fdf3b78eb5cfcb3a1b12c6fd62f735717b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 15 Jul 2017 09:29:33 -0700
+Subject: [PATCH] event.c: Cast pthread_t to unsigned long instead of unsigned
+ int
+
+On 64bit machines it ends up in errors
+
+event.c:85:67: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
+ a_event->tid_hex_str_len = sprintf(a_event->tid_hex_str, "0x%x", (unsigned int)a_event->tid);
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/event.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/event.c b/src/event.c
+index 8f988b5..c632c33 100644
+--- a/src/event.c
++++ b/src/event.c
+@@ -82,7 +82,7 @@ zlog_event_t *zlog_event_new(int time_cache_count)
+ a_event->tid = pthread_self();
+
+ a_event->tid_str_len = sprintf(a_event->tid_str, "%lu", (unsigned long)a_event->tid);
+- a_event->tid_hex_str_len = sprintf(a_event->tid_hex_str, "0x%x", (unsigned int)a_event->tid);
++ a_event->tid_hex_str_len = sprintf(a_event->tid_hex_str, "0x%lu", (unsigned long)a_event->tid);
+
+ //zlog_event_profile(a_event, ZC_DEBUG);
+ return a_event;
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_git.bb
index 51c746fd3..86e6d30e2 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_git.bb
@@ -6,7 +6,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
PV = "1.2.12+git${SRCPV}"
SRCREV = "13904dab2878aa2654d0c20fb8600a3dc5f2dd68"
-SRC_URI = "git://github.com/HardySimpson/zlog"
+SRC_URI = "git://github.com/HardySimpson/zlog \
+ file://0001-event.c-Cast-pthread_t-to-unsigned-long-instead-of-u.patch \
+ "
S = "${WORKDIR}/git"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/zram/zram_0.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/zram/zram_0.1.bb
index e07f570d1..dfd75e71c 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/zram/zram_0.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/zram/zram_0.1.bb
@@ -1,6 +1,6 @@
SUMMARY = "Linux zram compressed in-memory swap"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
inherit update-rc.d systemd
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/zsh/zsh_5.0.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/zsh/zsh_5.0.5.bb
deleted file mode 100644
index 39b2d95a6..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/zsh/zsh_5.0.5.bb
+++ /dev/null
@@ -1,61 +0,0 @@
-SUMMARY = "UNIX Shell similar to the Korn shell"
-DESCRIPTION = "Zsh is a shell designed for interactive use, although it is also a \
- powerful scripting language. Many of the useful features of bash, \
- ksh, and tcsh were incorporated into zsh; many original features were added."
-HOMEPAGE = "http://www.zsh.org"
-SECTION = "base/shell"
-
-LICENSE = "zsh"
-LIC_FILES_CHKSUM = "file://LICENCE;md5=b7bc853894664be455a922db9805288e"
-
-DEPENDS = "ncurses bison-native libcap libpcre gdbm groff-native"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz"
-SRC_URI[md5sum] = "6fb0e3e52a0f8de5ca63138391b81ce0"
-SRC_URI[sha256sum] = "b35cf19e4a6ba39fd03c6372b8a8760a491cc2e2e4aba3d15023ff291c2894b4"
-
-inherit autotools gettext update-alternatives
-
-EXTRA_OECONF = " \
- --bindir=${base_bindir} \
- --enable-etcdir=${sysconfdir} \
- --enable-fndir=${datadir}/${PN}/${PV}/functions \
- --enable-site-fndir=${datadir}/${PN}/site-functions \
- --with-term-lib='ncursesw ncurses' \
- --with-tcsetpgrp \
- --enable-cap \
- --enable-multibyte \
- --disable-gdbm \
- --disable-dynamic \
- zsh_cv_shared_environ=yes \
-"
-
-EXTRA_OEMAKE = "-e MAKEFLAGS="
-
-ALTERNATIVE_${PN} = "sh"
-ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh"
-ALTERNATIVE_TARGET[sh] = "${base_bindir}/${BPN}"
-ALTERNATIVE_PRIORITY = "100"
-
-export AUTOHEADER = "true"
-
-do_configure () {
- gnu-configize --force ${S}
- oe_runconf
-}
-
-do_install_append () {
- rm -fr ${D}/usr/share
-}
-
-pkg_postinst_${PN} () {
- touch $D${sysconfdir}/shells
- grep -q "bin/zsh" $D${sysconfdir}/shells || echo /bin/zsh >> $D${sysconfdir}/shells
- grep -q "bin/sh" $D${sysconfdir}/shells || echo /bin/sh >> $D${sysconfdir}/shells
-}
-
-FILES_${PN}-dbg += "\
- ${libdir}/${PN}/${PV}/${PN}/.debug/*.so \
- ${libdir}/${PN}/${PV}/${PN}/db/.debug/*.so \
- ${libdir}/${PN}/${PV}/${PN}/net/.debug/*.so \
-"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/zsh/zsh_5.3.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/zsh/zsh_5.3.1.bb
new file mode 100644
index 000000000..1f5e39000
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/zsh/zsh_5.3.1.bb
@@ -0,0 +1,61 @@
+SUMMARY = "UNIX Shell similar to the Korn shell"
+DESCRIPTION = "Zsh is a shell designed for interactive use, although it is also a \
+ powerful scripting language. Many of the useful features of bash, \
+ ksh, and tcsh were incorporated into zsh; many original features were added."
+HOMEPAGE = "http://www.zsh.org"
+SECTION = "base/shell"
+
+LICENSE = "zsh"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=b7bc853894664be455a922db9805288e"
+
+DEPENDS = "ncurses bison-native libcap libpcre gdbm groff-native"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz"
+SRC_URI[md5sum] = "d583fbca0c2410bf9542ce8a651c26ca"
+SRC_URI[sha256sum] = "3d94a590ff3c562ecf387da78ac356d6bea79b050a9ef81e3ecb9f8ee513040e"
+
+inherit autotools gettext update-alternatives
+
+EXTRA_OECONF = " \
+ --bindir=${base_bindir} \
+ --enable-etcdir=${sysconfdir} \
+ --enable-fndir=${datadir}/${PN}/${PV}/functions \
+ --enable-site-fndir=${datadir}/${PN}/site-functions \
+ --with-term-lib='ncursesw ncurses' \
+ --with-tcsetpgrp \
+ --enable-cap \
+ --enable-multibyte \
+ --disable-gdbm \
+ --disable-dynamic \
+ zsh_cv_shared_environ=yes \
+"
+
+EXTRA_OEMAKE = "-e MAKEFLAGS="
+
+ALTERNATIVE_${PN} = "sh"
+ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh"
+ALTERNATIVE_TARGET[sh] = "${base_bindir}/${BPN}"
+ALTERNATIVE_PRIORITY = "100"
+
+export AUTOHEADER = "true"
+
+do_configure () {
+ gnu-configize --force ${S}
+ oe_runconf
+}
+
+do_install_append () {
+ rm -fr ${D}/usr/share
+}
+
+pkg_postinst_${PN} () {
+ touch $D${sysconfdir}/shells
+ grep -q "bin/zsh" $D${sysconfdir}/shells || echo /bin/zsh >> $D${sysconfdir}/shells
+ grep -q "bin/sh" $D${sysconfdir}/shells || echo /bin/sh >> $D${sysconfdir}/shells
+}
+
+FILES_${PN}-dbg += "\
+ ${libdir}/${PN}/${PV}/${PN}/.debug/*.so \
+ ${libdir}/${PN}/${PV}/${PN}/db/.debug/*.so \
+ ${libdir}/${PN}/${PV}/${PN}/net/.debug/*.so \
+"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb
new file mode 100644
index 000000000..06f3bb34c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Common macros for building GNOME applications"
+HOMEPAGE = "http://www.gnome.org/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SECTION = "x11/gnome"
+inherit gnomebase allarch
+
+SRC_URI[archive.md5sum] = "933258d9c23e218eb6eec9cc1951b053"
+SRC_URI[archive.sha256sum] = "22569e370ae755e04527b76328befc4c73b62bfd4a572499fde116b8318af8cf"
+
+EXTRA_AUTORECONF = ""
+DEPENDS = ""
+
+FILES_${PN} += "${datadir}/aclocal"
+FILES_${PN}-dev = ""
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtkextra/files/remove-tutorial.patch b/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtkextra/files/remove-tutorial.patch
deleted file mode 100644
index da4f3f441..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtkextra/files/remove-tutorial.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-diff --git a/docs/Makefile.am b/docs/Makefile.am
-index f5375f5..c306f23 100644
---- a/docs/Makefile.am
-+++ b/docs/Makefile.am
-@@ -1,4 +1,4 @@
--SUBDIRS = reference tutorial
-+SUBDIRS = reference
-
- EXTRA_DIST = \
- COPYING \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtkextra/gtkextra_3.0.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtkextra/gtkextra_3.0.5.bb
deleted file mode 100644
index 34b7aa64a..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtkextra/gtkextra_3.0.5.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Gtk+Extra is a set of custom widget for plots and images"
-HOMEPAGE = "http://gtkextra.sourceforge.net/"
-
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/gtkextra/${BP}.tar.gz \
- file://remove-tutorial.patch \
-"
-
-SRC_URI[md5sum] = "486cea93666020f85f101ed8341baf41"
-SRC_URI[sha256sum] = "9cab6c5d6b792eb828d17cec2b9c1baba2ef57f789a290464afab80b53969e65"
-
-DEPENDS = "gtk+"
-
-inherit autotools pkgconfig gobject-introspection
-
-# | ./.libs/libgtkextra-x11-3.0.so: error: undefined reference to 'roundint'
-PNBLACKLIST[gtkextra] ?= "BROKEN: Fails to build with gcc-5 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtkhtml2/files/0001-tests-main.c-fix-build-with-glib-2.36.patch b/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtkhtml2/files/0001-tests-main.c-fix-build-with-glib-2.36.patch
deleted file mode 100644
index b3eb3960c..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtkhtml2/files/0001-tests-main.c-fix-build-with-glib-2.36.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 4b17eed4b8588569d11ec4bd2b6fa3c063830e6e Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Thu, 16 May 2013 18:44:50 +0200
-Subject: [PATCH] tests/main.c: fix build with glib 2.36
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: project seems dead
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- tests/main.c | 2 ++
- 1 files changed, 2 insertions(+), 0 deletions(-)
-
-diff --git a/tests/main.c b/tests/main.c
-index 61cce82..18165ed 100644
---- a/tests/main.c
-+++ b/tests/main.c
-@@ -30,7 +30,9 @@ main (gint argc, gchar **argv)
- {
- GtkWidget *browser;
-
-+#if !GLIB_CHECK_VERSION (2, 36, 0)
- g_thread_init(NULL);
-+#endif
-
- gtk_init (&argc, &argv);
-
---
-1.7.6.5
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtkhtml2/gtkhtml2_svn.bb b/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtkhtml2/gtkhtml2_svn.bb
deleted file mode 100644
index 021b077de..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtkhtml2/gtkhtml2_svn.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SECTION = "libs"
-DEPENDS = "gtk+ glib-2.0 libxml2"
-SUMMARY = "A GTK+ HTML rendering library"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605"
-
-SRCREV = "1161"
-PV = "2.11.0+svnr${SRCPV}"
-PR = "r5"
-
-SRC_URI = "svn://svn.gnome.org/svn/gtkhtml2/;module=trunk;protocol=http \
- http://git.yoctoproject.org/cgit/cgit.cgi/web-patches/plain/css-stylesheet-user.patch;striplevel=0;name=patch2 \
- http://git.yoctoproject.org/cgit/cgit.cgi/web-patches/plain/css-media.patch;striplevel=0;name=patch3 \
- http://git.yoctoproject.org/cgit/cgit.cgi/web-patches/plain/add-end-element-signal.patch;striplevel=0;name=patch4 \
- http://git.yoctoproject.org/cgit/cgit.cgi/web-patches/plain/add-dom-functions.patch;striplevel=0;name=patch5 \
- http://git.yoctoproject.org/cgit/cgit.cgi/web-patches/plain/iain-mem-leak.patch;striplevel=0;name=patch6 \
- file://0001-tests-main.c-fix-build-with-glib-2.36.patch \
-"
-
-SRC_URI[patch2.md5sum] = "05fc3627ca364095702dc804f41c8391"
-SRC_URI[patch2.sha256sum] = "df5cca50a8f95333505d7920929fea251daea3be25be6834a1c50a742d9eb674"
-
-SRC_URI[patch3.md5sum] = "d3fe4cda3545f3e4718f1acc186608ab"
-SRC_URI[patch3.sha256sum] = "3aefaa17ffa38143bf5df1161c51ab402d35bfbee41ab4643c313edf569165d5"
-
-SRC_URI[patch4.md5sum] = "651b1601d8a1b21c8a3040fadb729043"
-SRC_URI[patch4.sha256sum] = "d067e8331bf9c6851f1c6067d991a7f54327f532900b405ebdf8e149c071f381"
-
-SRC_URI[patch5.md5sum] = "041be9711a16e629d01487664ba97152"
-SRC_URI[patch5.sha256sum] = "42956fb41341cf82ae8bce18b4cf96a7e2aa631b1b60657afb6d7e9be7cd138c"
-
-SRC_URI[patch6.md5sum] = "4e11dc7899d68f2be2e06ccee01d296d"
-SRC_URI[patch6.sha256sum] = "1e2cc080e654c1839c5cb4b4adf4c62a23e7da208427f3ba0b16cfed9e5cfa98"
-
-S = "${WORKDIR}/trunk"
-
-inherit pkgconfig autotools
-
-EXTRA_OECONF = " --disable-accessibility"
-
-PNBLACKLIST[gtkhtml2] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130633/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
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
deleted file mode 100644
index 4da3dc213..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/assimp/assimp_3.1.1.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-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 virtual/libgl"
-
-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/babl/babl_0.1.16.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/babl/babl_0.1.16.bb
deleted file mode 100644
index daea05212..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/babl/babl_0.1.16.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Babl is a dynamic, any to any, pixel format conversion library"
-LICENSE = "LGPL-3.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6"
-
-inherit gnomebase
-
-SRC_URI = "http://ftp.gimp.org/pub/${BPN}/0.1/${BP}.tar.bz2"
-SRC_URI[md5sum] = "a1c72e5f5d55a8b736ef2fa67ddb86ec"
-SRC_URI[sha256sum] = "7d6ba55ec53ee6f6bf6945beec28839d09ff72376f4d83035eb379cd4f3e980e"
-
-FILES_${PN} += "${libdir}/babl-*/*.so"
-FILES_${PN}-dev += "${libdir}/babl-*/*.la"
-FILES_${PN}-dbg += "${libdir}/babl-*/.debug/"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/babl/babl_0.1.28.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/babl/babl_0.1.28.bb
new file mode 100644
index 000000000..9d8c90fdb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/babl/babl_0.1.28.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Babl is a dynamic, any to any, pixel format conversion library"
+LICENSE = "LGPL-3.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6"
+
+inherit gnomebase
+
+SRC_URI = "http://ftp.gimp.org/pub/${BPN}/0.1/${BP}.tar.bz2"
+SRC_URI[md5sum] = "cc53d8474a43aafb7cdaccea56cfde44"
+SRC_URI[sha256sum] = "63f3ed23e72a857a0e6df53d9d968a325024177b01edbe314a0c98b499eb8603"
+
+FILES_${PN} += "${libdir}/babl-*/*.so"
+FILES_${PN}-dev += "${libdir}/babl-*/*.la"
+FILES_${PN}-dbg += "${libdir}/babl-*/.debug/"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/clutter/clutter-box2d.inc b/import-layers/meta-openembedded/meta-oe/recipes-graphics/clutter/clutter-box2d.inc
deleted file mode 100644
index 646b785ca..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/clutter/clutter-box2d.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-DESCRIPTION = "Clutter Box2D"
-HOMEPAGE = "http://www.clutter-project.org/"
-LICENSE = "LGPLv2.1+"
-
-# The main clutter lib is machine specific so we need to be too
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-inherit autotools pkgconfig gtk-doc
-
-do_install_append () {
- install -d ${D}${bindir}
- install ${S}/examples/.libs/blockbox ${D}${bindir}
-}
-
-FILESPATH = "${FILE_DIRNAME}/clutter-box2d"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/clutter/clutter-box2d_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/clutter/clutter-box2d_git.bb
deleted file mode 100644
index d73e2f15e..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/clutter/clutter-box2d_git.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-require clutter-box2d.inc
-
-LIC_FILES_CHKSUM = "file://box2d/License.txt;md5=e5d39ad91f7dc4692dcdb1d85139ec6b"
-
-# 0.12.1+gitAUTOINC+de5452e56b-r1/git/clutter-box2d/clutter-box2d.h:226:47:
-# fatal error: clutter-box2d/clutter-box2d-child.h: No such file or directory
-# | #include <clutter-box2d/clutter-box2d-child.h>
-PNBLACKLIST[clutter-box2d] ?= "BROKEN: doesn't build with B!=S - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-SRCREV = "de5452e56b537a11fd7f9453d048ff4b4793b5a2"
-PV = "0.12.1+git${SRCPV}"
-PR = "r1"
-
-SRC_URI = "git://git.gnome.org/clutter-box2d.git"
-
-S = "${WORKDIR}/git"
-
-DEPENDS += "clutter-1.0"
-PROVIDES = "clutter-box2d-1.6"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/dietsplash/dietsplash/0001-configure.ac-Do-not-demand-linker-hash-style.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/dietsplash/dietsplash/0001-configure.ac-Do-not-demand-linker-hash-style.patch
new file mode 100644
index 000000000..87e8637ee
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/dietsplash/dietsplash/0001-configure.ac-Do-not-demand-linker-hash-style.patch
@@ -0,0 +1,28 @@
+From 65e8e3c9c69f41778b6308c2f8f3262c82c6f3e1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 29 Jun 2017 13:57:53 -0700
+Subject: [PATCH] configure.ac: Do not demand linker hash-style
+
+This helps fixing on architectures e.g. mips where gnu hash
+is not supported
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index e1dba23..7bcc039 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -65,7 +65,6 @@ CC_CHECK_CFLAGS_APPEND([ \
+ -ffunction-sections \
+ -fdata-sections \
+ -Wl,-O1 \
+- -Wl,--hash-style=gnu \
+ -Wl,--as-needed \
+ -Wl,--gc-sections])
+
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb
index a88caf814..32f081592 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb
@@ -7,8 +7,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
PV = "0.3"
PR = "r1"
-SRCREV = "f7aadacbe3c19e37ea938e00a5141b577fb74a5e"
-SRC_URI = "git://github.com/lucasdemarchi/dietsplash.git"
+SRCREV = "ef2e1a390e768e21e6a6268977580ee129a96633"
+SRC_URI = "git://github.com/lucasdemarchi/dietsplash.git \
+ file://0001-configure.ac-Do-not-demand-linker-hash-style.patch \
+ "
inherit autotools
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/fim/files/cross_cc.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/fim/files/cross_cc.patch
deleted file mode 100644
index 85ab1ef4a..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/fim/files/cross_cc.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 9b0b322d86c7b2d2cddaa62f7dab4aa669739a48 Mon Sep 17 00:00:00 2001
-From: Matthieu Crapet <Matthieu.Crapet@ingenico.com>
-Date: Wed, 19 Mar 2014 13:18:21 +0100
-Subject: [PATCH] Upstream-Status: Pending
-
-b2ba should be built by BUILD_CC in cross environment
-This is only used when configured with --enable-hardcoded-font
-
-Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com>
----
- src/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index a1d4330..a8150b9 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -63,7 +63,7 @@ help-acm.cpp: fim.h
- $(ECHO) '//#endif' >> $@
-
- b2ba:
-- $(CC) -o b2ba b2ba.c
-+ $(BUILD_CC) -o b2ba b2ba.c
-
- if FIM_WANT_CUSTOM_HARDCODED_CONSOLEFONT
- default_font_byte_array.h: $(FIM_CUSTOM_HARDCODED_CONSOLEFONT) b2ba
---
-1.8.5.4
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/fim/fim_0.4-rc1.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/fim/fim_0.4-rc1.bb
deleted file mode 100644
index 7d1a3aaa8..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/fim/fim_0.4-rc1.bb
+++ /dev/null
@@ -1,52 +0,0 @@
-SUMMARY = "Framebuffer (scriptable) image viewer"
-DESCRIPTION = "FIM (Fbi IMproved) aims to be a highly customizable and scriptable \
- image viewer targeted at users who are comfortable with software \
- like the Vim text editor or the Mutt mail user agent."
-SECTION = "utils"
-HOMEPAGE = "http://www.autistici.org/dezperado/fim/"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fa01bff138cc98a62b8840a157951c88"
-
-PNBLACKLIST[fim] ?= "BROKEN: doesn't build with B!=S (flex: can't open lex.lex) - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-# flex with provide /usr/include/FlexLexer.h
-DEPENDS = "flex-native bison-native flex"
-
-SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/fbi-improved/${BPN}-${PV}.tar.gz \
- file://cross_cc.patch"
-SRC_URI[md5sum] = "d7362dde5541c2b6439c35c6e2bd5046"
-SRC_URI[sha256sum] = "3f6bf2de2952b9adcbeb3db12c2a979e999a81dd1e314a03bc58e24f1ea9f686"
-
-PARALLEL_MAKE = ""
-
-inherit autotools pkgconfig
-
-# Don't use provided regex.c
-EXTRA_OECONF = "fim_cv_regex=no fim_cv_regex_broken=no \
- --enable-framebuffer \
- --disable-djvu \
- --disable-ps \
- --disable-xcftopnm \
- --disable-convert \
- --disable-inkscape \
- --disable-xfig \
- --disable-dia \
- --disable-aa \
- --disable-sdl \
- --enable-read-dirs \
- --enable-recursive-dirs \
- --enable-custom-status-bar \
-"
-
-# Note: imlib2 is located in meta-efl layer.
-PACKAGECONFIG ?= "jpeg rl hf"
-PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng"
-PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg"
-PACKAGECONFIG[tiff] = "--enable-tiff,--disable-tiff,tiff"
-PACKAGECONFIG[gif] = "--enable-gif,--disable-gif,giflib"
-PACKAGECONFIG[pdf] = "--enable-poppler,--disable-poppler,poppler"
-PACKAGECONFIG[magick] = "--enable-graphicsmagick,--disable-graphicsmagick,imagemagick"
-PACKAGECONFIG[imlib2] = "--enable-imlib2,--disable-imlib2,imlib2"
-PACKAGECONFIG[rl] = "--enable-readline,--disable-readline,readline"
-PACKAGECONFIG[hf] = "--enable-hardcoded-font,--disable-hardcoded-font"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20161012.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20161012.bb
deleted file mode 100644
index 1c3376d42..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20161012.bb
+++ /dev/null
@@ -1,60 +0,0 @@
-SUMMARY = "A font editor"
-HOMEPAGE = "http://fontforge.github.io/en-US/"
-LICENSE = "BSD-3-Clause & GPLv3"
-LIC_FILES_CHKSUM = " \
- file://COPYING.gplv3;md5=d32239bcb673463ab874e80d47fae504 \
- file://LICENSE;md5=3f922b42ed0033fa0fd4cd3268f6429c \
-"
-
-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 gettext
-
-REQUIRED_DISTRO_FEATURES_append_class-target = " x11"
-
-SRC_URI = "git://github.com/${BPN}/${BPN}.git"
-# tag 20161012
-SRCREV = "072edb0235cd163d6c3391da9cc3754c3c66f47a"
-S = "${WORKDIR}/git"
-
-EXTRA_OECONF_append_class-native = " with_x=no"
-
-do_configure_prepend() {
- # uthash sources are expected in uthash/src
- currdir=`pwd`
- cd ${S}
-
- mkdir -p uthash/src
- cp ${STAGING_INCDIR}/ut*.h uthash/src
-
- # avoid bootstrap cloning gnulib on every configure
- cat >.gitmodules <<EOF
-[submodule "gnulib"]
- path = gnulib
- url = git://git.sv.gnu.org/gnulib
-EOF
- cp -rf ${STAGING_DATADIR}/gnulib ${S}
-
- # --force to avoid errors on reconfigure e.g if recipes changed we depend on
- # | bootstrap: running: libtoolize --quiet
- # | libtoolize: error: 'libltdl/COPYING.LIB' exists: use '--force' to overwrite
- # | ...
- ./bootstrap --force
-
- cd $currdir
-}
-
-PACKAGES =+ "${PN}-python-dbg ${PN}-python"
-
-FILES_${PN} += " \
- ${datadir}/mime \
- ${datadir}/icons \
-"
-
-FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR} ${datadir}/${PN}/python"
-FILES_${PN}-python-dbg = "${PYTHON_SITEPACKAGES_DIR}/.debug"
-RDEPENDS_${PN}-python = "python"
-
-# for e.g kde's oxygen-fonts
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20170731.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20170731.bb
new file mode 100644
index 000000000..d9f086749
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20170731.bb
@@ -0,0 +1,60 @@
+SUMMARY = "A font editor"
+HOMEPAGE = "http://fontforge.github.io/en-US/"
+LICENSE = "BSD-3-Clause & GPLv3"
+LIC_FILES_CHKSUM = " \
+ file://COPYING.gplv3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE;md5=3f922b42ed0033fa0fd4cd3268f6429c \
+"
+
+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 gettext
+
+REQUIRED_DISTRO_FEATURES_append_class-target = " x11"
+
+SRC_URI = "git://github.com/${BPN}/${BPN}.git"
+# tag 20170731
+SRCREV = "b9149c13e8f9464fc21473f1f676b36a2130775d"
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF_append_class-native = " with_x=no"
+
+do_configure_prepend() {
+ # uthash sources are expected in uthash/src
+ currdir=`pwd`
+ cd ${S}
+
+ mkdir -p uthash/src
+ cp ${STAGING_INCDIR}/ut*.h uthash/src
+
+ # avoid bootstrap cloning gnulib on every configure
+ cat >.gitmodules <<EOF
+[submodule "gnulib"]
+ path = gnulib
+ url = git://git.sv.gnu.org/gnulib
+EOF
+ cp -rf ${STAGING_DATADIR}/gnulib ${S}
+
+ # --force to avoid errors on reconfigure e.g if recipes changed we depend on
+ # | bootstrap: running: libtoolize --quiet
+ # | libtoolize: error: 'libltdl/COPYING.LIB' exists: use '--force' to overwrite
+ # | ...
+ ./bootstrap --force
+
+ cd $currdir
+}
+
+PACKAGES =+ "${PN}-python-dbg ${PN}-python"
+
+FILES_${PN} += " \
+ ${datadir}/mime \
+ ${datadir}/icons \
+"
+
+FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR} ${datadir}/${PN}/python"
+FILES_${PN}-python-dbg = "${PYTHON_SITEPACKAGES_DIR}/.debug"
+RDEPENDS_${PN}-python = "python"
+
+# for e.g kde's oxygen-fonts
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl_0.3.18.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl_0.3.18.bb
new file mode 100644
index 000000000..6cc20f5c6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl_0.3.18.bb
@@ -0,0 +1,32 @@
+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 intltool-native"
+
+EXTRA_OECONF = "--disable-docs"
+
+inherit gnomebase vala gobject-introspection
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[jasper] = "--with-jasper,--without-jasper,jasper"
+PACKAGECONFIG[avformat] = "--with-libavformat,--without-libavformat,libav"
+PACKAGECONFIG[lcms] = "--with-lcms,--without-lcms,lcms"
+PACKAGECONFIG[tiff] = "--with-libtiff,--without-libtiff,tiff"
+PACKAGECONFIG[webp] = "--with-webp,--without-webp,webp"
+
+SRC_URI = "http://ftp.gimp.org/pub/${BPN}/0.3/${BP}.tar.bz2 \
+ file://pkgconfig.patch "
+SRC_URI[md5sum] = "6e5c6f229261478dc436a38c84405b2a"
+SRC_URI[sha256sum] = "d7858ef26ede136d14e3de188a9e9c0de7707061a9fb96d7d615fab4958491fb"
+
+LDFLAGS += "-lm"
+
+# There are a couple of non-symlink .so files installed into libdir, which need to go into main package
+FILES_${PN}_append = " ${libdir}/gegl-0.3/*.so ${libdir}/gegl-0.3/*.json ${libdir}/libgegl-npd-0.3.so ${libdir}/libgegl-sc-0.3.so"
+FILES_${PN}-dev_append = " ${libdir}/gegl-0.3/*.la ${libdir}/libgegl-0.3.so"
+FILES_${PN}-dev_remove = "${libdir}/lib*.so"
+
+# Fails to build with thumb-1 (qemuarm)
+# gegl-0.2.0/operations/common/matting-global.c: In function 'matting_process':
+# gegl-0.2.0/operations/common/matting-global.c:463:1: internal compiler error: in patch_jump_insn, at cfgrtl.c:1275
+ARM_INSTRUCTION_SET = "arm"
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
deleted file mode 100644
index 90f02165c..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl_0.3.4.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-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 intltool-native"
-
-EXTRA_OECONF = "--disable-docs"
-
-inherit gnomebase vala gobject-introspection
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[jasper] = "--with-jasper,--without-jasper,jasper"
-PACKAGECONFIG[avformat] = "--with-libavformat,--without-libavformat,libav"
-PACKAGECONFIG[lcms] = "--with-lcms,--without-lcms,lcms"
-PACKAGECONFIG[tiff] = "--with-libtiff,--without-libtiff,tiff"
-PACKAGECONFIG[webp] = "--with-webp,--without-webp,webp"
-
-SRC_URI = "http://ftp.gimp.org/pub/${BPN}/0.3/${BP}.tar.bz2 \
- file://pkgconfig.patch "
-SRC_URI[md5sum] = "c19478321594d715a4cb324a0decda6f"
-SRC_URI[sha256sum] = "846290a790854d1e6b7c17a2d6f82ad7cb14c72e240bd3b81b98cc0ceddbc3ec"
-
-LDFLAGS += "-lm"
-
-# There are a couple of non-symlink .so files installed into libdir, which need to go into main package
-FILES_${PN}_append = " ${libdir}/gegl-0.3/*.so ${libdir}/gegl-0.3/*.json ${libdir}/libgegl-npd-0.3.so ${libdir}/libgegl-sc-0.3.so"
-FILES_${PN}-dev_append = " ${libdir}/gegl-0.3/*.la ${libdir}/libgegl-0.3.so"
-FILES_${PN}-dev_remove = "${libdir}/lib*.so"
-
-# Fails to build with thumb-1 (qemuarm)
-# gegl-0.2.0/operations/common/matting-global.c: In function 'matting_process':
-# gegl-0.2.0/operations/common/matting-global.c:463:1: internal compiler error: in patch_jump_insn, at cfgrtl.c:1275
-ARM_INSTRUCTION_SET = "arm"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/0003-Fix-use-of-gegl-API.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/0003-Fix-use-of-gegl-API.patch
new file mode 100644
index 000000000..7da78e205
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/0003-Fix-use-of-gegl-API.patch
@@ -0,0 +1,34 @@
+From e1c8f4b8323e3965271a93529eab5774c1a7083c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 29 Jun 2017 10:32:14 -0700
+Subject: [PATCH 3/3] Fix use of gegl API
+
+newer version of gegl does not define GEGL_IS_PARAM_SPEC_MULTILINE
+
+| core/libappcore.a(gimpparamspecs-duplicate.o): In function `gimp_param_spec_duplicate':
+| /usr/src/debug/gimp/2.8.22-r0/gimp-2.8.22/app/core/../../../../../../../../../workspace/sources/gimp/app/core/gimpparamspecs-duplicate.c:70: undefined reference to `GEGL_IS_PARAM_SPEC_MULTILINE'
+| collect2: error: ld returned 1 exit status
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ app/core/gimpparamspecs-duplicate.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/app/core/gimpparamspecs-duplicate.c b/app/core/gimpparamspecs-duplicate.c
+index c0b7426..2efaf23 100644
+--- a/app/core/gimpparamspecs-duplicate.c
++++ b/app/core/gimpparamspecs-duplicate.c
+@@ -67,7 +67,7 @@ gimp_param_spec_duplicate (GParamSpec *pspec)
+ spec->default_value,
+ pspec->flags);
+
+- if (GEGL_IS_PARAM_SPEC_MULTILINE (pspec))
++ if (gegl_param_spec_get_property_key(pspec, "multiline"))
+ {
+ g_param_spec_set_qdata (new, multiline_quark,
+ GINT_TO_POINTER (TRUE));
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.20.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.20.bb
deleted file mode 100644
index 9588ab016..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.20.bb
+++ /dev/null
@@ -1,50 +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 = " \
- gdk-pixbuf-native \
- intltool-native \
- libxslt-native \
- gtk+ \
- babl \
- gegl \
- libart-lgpl \
- jpeg \
- libpng \
- libexif \
- tiff \
- lcms \
- poppler \
- jasper \
- bzip2 \
- libgudev \
- libmng \
-"
-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] = "d405640c426b234d6efc36fb4f5bae57"
-SRC_URI[sha256sum] = "939ca1df70be865c672ffd654f4e20f188121d01601c5c90237214101533c805"
-
-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.22.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb
new file mode 100644
index 000000000..cd7e27a19
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb
@@ -0,0 +1,49 @@
+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 \
+ libxslt-native \
+ gtk+ \
+ babl \
+ gegl \
+ jpeg \
+ libpng \
+ libexif \
+ tiff \
+ lcms \
+ poppler \
+ jasper \
+ bzip2 \
+ libgudev \
+ libmng \
+"
+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 \
+ file://0003-Fix-use-of-gegl-API.patch \
+ "
+SRC_URI[md5sum] = "7e4fd7a53b1d3c32dff642ab1a94b44d"
+SRC_URI[sha256sum] = "9187a35cc52b110d78124d7b27b68a68ade14a794c2721314bac6134d2a5638a"
+
+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
deleted file mode 100644
index ffbc297f0..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench/0001-build-Specify-std-c-11-on-cmdline.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-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/0001-waf-Disable-errors-due-to-Wdeprecated.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench/0001-waf-Disable-errors-due-to-Wdeprecated.patch
deleted file mode 100644
index deb60161c..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench/0001-waf-Disable-errors-due-to-Wdeprecated.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 49297e2fbe0420a255cbe67989d0ec539125412c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 23 Apr 2017 10:38:24 -0700
-Subject: [PATCH] waf: Disable errors due to -Wdeprecated
-
-throw() has been deprecated in c++11 and removed
-from c++17, gcc7 is more pedandic about this warning
-we therefore add a workaround to ignore this warning
-for now.
-
-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 485a9fb..7f59761 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 -std=c++11 -Wextra'.split(' '))
-+ ctx.env.append_unique('CXXFLAGS', '-Wall -Werror -std=c++11 -Wextra -Wno-error=deprecated'.split(' '))
-
- # Prepend -O# and -g flags so that they can be overriden by the CFLAGS environment variable
- if Options.options.opt:
---
-2.12.2
-
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
deleted file mode 100755
index 4831c401f..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench/Fix-configure-for-sqrt-check.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-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
deleted file mode 100755
index 930c7cb50..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench/Fix_auto_ptr_deprecated.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-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
deleted file mode 100755
index 516baadae..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench/Fix_space_issues.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-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/glbench-compile-fix.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench/glbench-compile-fix.patch
deleted file mode 100644
index 374a6cf66..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench/glbench-compile-fix.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From c4bc44c3abf69f26e4c2b7684f4da4670a51f993 Mon Sep 17 00:00:00 2001
-From: Prabhu Sundararaj <prabhu.sundararaj@freescale.com>
-Date: Tue, 5 Nov 2013 11:03:04 -0600
-Subject: [PATCH] to make compilable
-
-Upstream Status: Inappropriate [workaround]
-
-Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@freescale.com>
----
- src/composite-test-simple-blur.cc | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/composite-test-simple-blur.cc b/src/composite-test-simple-blur.cc
-index 170ad64..d7f77cf 100644
---- a/src/composite-test-simple-blur.cc
-+++ b/src/composite-test-simple-blur.cc
-@@ -347,6 +347,7 @@ CompositeTestSimpleBlur::CompositeTestSimpleBlur() :
-
- CompositeTestSimpleBlur::~CompositeTestSimpleBlur()
- {
-+#if 0
- for (BlurWindowMapType::iterator winIt = priv_->windowMap.begin();
- winIt != priv_->windowMap.end();
- winIt++)
-@@ -354,6 +355,7 @@ CompositeTestSimpleBlur::~CompositeTestSimpleBlur()
- RenderWindowBlur* ro = winIt->second;
- delete ro;
- }
-+#endif
- delete priv_;
- }
-
---
-1.8.1.2
-
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
deleted file mode 100755
index e8465855d..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench_2012.08.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "A benchmark for GL(ES)2 based compositing operations"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
-
-DEPENDS = "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2 \
- 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://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 \
- file://0001-waf-Disable-errors-due-to-Wdeprecated.patch \
- "
-
-SRC_URI[md5sum] = "c939d9156fe940960098f38707fea827"
-SRC_URI[sha256sum] = "b04b738cec06c6786ceafa86e4735fd8b971c078265754854ef356b0379542ee"
-
-inherit pkgconfig waf distro_features_check
-# depends on virtual/libx11
-REQUIRED_DISTRO_FEATURES = "x11"
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 5e798efb3..4434af930 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
@@ -31,7 +31,7 @@ PACKAGECONFIG[gd] = ",--without-gdlib,gd"
PACKAGECONFIG[serial] = "--enable-serial,--disable-serial,lockdev"
do_configure_append() {
- cp ${STAGING_DATADIR}/gettext/po/Makefile.in.in ${S}/libgphoto2_port/po/
+ cp ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/libgphoto2_port/po/
cd ${S}/libgphoto2_port/
autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths
cd ${S}
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
deleted file mode 100644
index c32d24aca..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.73.bb
+++ /dev/null
@@ -1,18 +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"
-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/leptonica/leptonica_1.74.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.74.4.bb
new file mode 100644
index 000000000..91fa00cc9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.74.4.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=34aa579294e8284b7b848c8d5d361e8f"
+
+SRC_URI = "http://leptonica.com/source/leptonica-${PV}.tar.gz"
+SRC_URI[md5sum] = "4f32be9bd2e2c142ba018037ab5d746f"
+SRC_URI[sha256sum] = "29c35426a416bf454413c6fec24c24a0b633e26144a17e98351b6dffaa4a833b"
+
+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/libsexy/libsexy.inc b/import-layers/meta-openembedded/meta-oe/recipes-graphics/libsexy/libsexy.inc
deleted file mode 100644
index 5a11ca06a..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/libsexy/libsexy.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-DESCRIPTION = "Libsexy is a collection of GTK+ widgets that extend the functionality of such standard widgets as GtkEntry and GtkLabel"
-HOMEPAGE = "http://wiki.chipx86.com/wiki/Libsexy"
-AUTHOR = "Christian Hammond <chipx86@chipx86.com>"
-SECTION = "x11/libs"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
-
-DEPENDS = "gtk+ enchant libxml2"
-
-SRC_URI = "http://releases.chipx86.com/libsexy/${BPN}/${BP}.tar.gz \
- file://libsexy-pkgconfig-fixes.patch"
-
-inherit autotools pkgconfig
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/libsexy/libsexy/libsexy-pkgconfig-fixes.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/libsexy/libsexy/libsexy-pkgconfig-fixes.patch
deleted file mode 100644
index 61da9474d..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/libsexy/libsexy/libsexy-pkgconfig-fixes.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Index: libsexy-0.1.11/libsexy.pc.in
-===================================================================
---- libsexy-0.1.11.orig/libsexy.pc.in 2005-11-10 10:21:18.000000000 +0000
-+++ libsexy-0.1.11/libsexy.pc.in 2008-03-05 14:36:39.000000000 +0000
-@@ -6,7 +6,8 @@
- Name: libsexy
- Description: Doing naughty things to good widgets
- Version: @VERSION@
--Libs: -L${libdir} -lsexy @PACKAGE_LIBS@
--Cflags: -I${includedir} @PACKAGE_CFLAGS@
-
-+Requires: pango glib-2.0 gtk+-2.0 libxml-2.0
-+Libs: -L${libdir} -lsexy
-+Cflags: -I${includedir}
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/libsexy/libsexy_0.1.11.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/libsexy/libsexy_0.1.11.bb
deleted file mode 100644
index 2ba1ebbb7..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/libsexy/libsexy_0.1.11.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require libsexy.inc
-
-PR = "r2"
-
-SRC_URI[md5sum] = "33c079a253270ec8bfb9508e4bb30754"
-SRC_URI[sha256sum] = "8c4101a8cda5fccbba85ba1a15f46f2cf75deaa8b3c525ce5b135b9e1a8fe49e"
-
-PNBLACKLIST[libsexy] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130607/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver/0001-remove-webclients-build.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver/0001-remove-webclients-build.patch
deleted file mode 100644
index 8f4365c4b..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver/0001-remove-webclients-build.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff --git a/Makefile.am b/Makefile.am
-index 5c2a94d..f98038a 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -1,7 +1,7 @@
- ACLOCAL_AMFLAGS = -I m4
-
--SUBDIRS=libvncserver examples libvncclient webclients client_examples test
--DIST_SUBDIRS=libvncserver examples libvncclient webclients client_examples test
-+SUBDIRS=libvncserver examples libvncclient client_examples test
-+DIST_SUBDIRS=libvncserver examples libvncclient client_examples test
- EXTRA_DIST = CMakeLists.txt rfb/rfbint.h.cmake rfb/rfbconfig.h.cmake
-
- bin_SCRIPTS = libvncserver-config
-diff --git a/configure.ac b/configure.ac
-index ca9f3b3..9b464cf 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -600,9 +600,6 @@ AC_CONFIG_FILES([Makefile
- libvncserver/Makefile
- examples/Makefile
- examples/android/Makefile
-- webclients/Makefile
-- webclients/java-applet/Makefile
-- webclients/java-applet/ssl/Makefile
- libvncclient/Makefile
- client_examples/Makefile
- test/Makefile
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver/0002-common-add-sha1.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver/0002-common-add-sha1.patch
deleted file mode 100644
index 8b70d2fef..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver/0002-common-add-sha1.patch
+++ /dev/null
@@ -1,524 +0,0 @@
-diff --git a/common/sha1.c b/common/sha1.c
-new file mode 100644
-index 0000000..988b188
---- /dev/null
-+++ b/common/sha1.c
-@@ -0,0 +1,411 @@
-+/*
-+ * Copyright (C) The Internet Society (2001). All Rights Reserved.
-+ *
-+ * This document and translations of it may be copied and furnished to
-+ * others, and derivative works that comment on or otherwise explain it
-+ * or assist in its implementation may be prepared, copied, published
-+ * and distributed, in whole or in part, without restriction of any
-+ * kind, provided that the above copyright notice and this paragraph are
-+ * included on all such copies and derivative works. However, this
-+ * document itself may not be modified in any way, such as by removing
-+ * the copyright notice or references to the Internet Society or other
-+ * Internet organizations, except as needed for the purpose of
-+ * developing Internet standards in which case the procedures for
-+ * copyrights defined in the Internet Standards process must be
-+ * followed, or as required to translate it into languages other than
-+ * English.
-+ *
-+ * The limited permissions granted above are perpetual and will not be
-+ * revoked by the Internet Society or its successors or assigns.
-+ *
-+ * This document and the information contained herein is provided on an
-+ * "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
-+ * TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
-+ * BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
-+ * HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
-+ * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-+ */
-+
-+/*
-+ * sha1.c
-+ *
-+ * Description:
-+ * This file implements the Secure Hashing Algorithm 1 as
-+ * defined in FIPS PUB 180-1 published April 17, 1995.
-+ *
-+ * The SHA-1, produces a 160-bit message digest for a given
-+ * data stream. It should take about 2**n steps to find a
-+ * message with the same digest as a given message and
-+ * 2**(n/2) to find any two messages with the same digest,
-+ * when n is the digest size in bits. Therefore, this
-+ * algorithm can serve as a means of providing a
-+ * "fingerprint" for a message.
-+ *
-+ * Portability Issues:
-+ * SHA-1 is defined in terms of 32-bit "words". This code
-+ * uses <stdint.h> (included via "sha1.h" to define 32 and 8
-+ * bit unsigned integer types. If your C compiler does not
-+ * support 32 bit unsigned integers, this code is not
-+ * appropriate.
-+ *
-+ * Caveats:
-+ * SHA-1 is designed to work with messages less than 2^64 bits
-+ * long. Although SHA-1 allows a message digest to be generated
-+ * for messages of any number of bits less than 2^64, this
-+ * implementation only works with messages with a length that is
-+ * a multiple of the size of an 8-bit character.
-+ *
-+ */
-+
-+#include "sha1.h"
-+
-+/*
-+ * Define the SHA1 circular left shift macro
-+ */
-+#define SHA1CircularShift(bits,word) \
-+ (((word) << (bits)) | ((word) >> (32-(bits))))
-+
-+/* Local Function Prototyptes */
-+void SHA1PadMessage(SHA1Context *);
-+void SHA1ProcessMessageBlock(SHA1Context *);
-+
-+/*
-+ * SHA1Reset
-+ *
-+ * Description:
-+ * This function will initialize the SHA1Context in preparation
-+ * for computing a new SHA1 message digest.
-+ *
-+ * Parameters:
-+ * context: [in/out]
-+ * The context to reset.
-+ *
-+ * Returns:
-+ * sha Error Code.
-+ *
-+ */
-+int SHA1Reset(SHA1Context *context)
-+{
-+ if (!context)
-+ {
-+ return shaNull;
-+ }
-+
-+ context->Length_Low = 0;
-+ context->Length_High = 0;
-+ context->Message_Block_Index = 0;
-+
-+ context->Intermediate_Hash[0] = 0x67452301;
-+ context->Intermediate_Hash[1] = 0xEFCDAB89;
-+ context->Intermediate_Hash[2] = 0x98BADCFE;
-+ context->Intermediate_Hash[3] = 0x10325476;
-+ context->Intermediate_Hash[4] = 0xC3D2E1F0;
-+
-+ context->Computed = 0;
-+ context->Corrupted = 0;
-+ return shaSuccess;
-+}
-+
-+/*
-+ * SHA1Result
-+ *
-+ * Description:
-+ * This function will return the 160-bit message digest into the
-+ * Message_Digest array provided by the caller.
-+ * NOTE: The first octet of hash is stored in the 0th element,
-+ * the last octet of hash in the 19th element.
-+ *
-+ * Parameters:
-+ * context: [in/out]
-+ * The context to use to calculate the SHA-1 hash.
-+ * Message_Digest: [out]
-+ * Where the digest is returned.
-+ *
-+ * Returns:
-+ * sha Error Code.
-+ *
-+ */
-+int SHA1Result( SHA1Context *context,
-+ uint8_t Message_Digest[SHA1HashSize])
-+{
-+ int i;
-+
-+ if (!context || !Message_Digest)
-+ {
-+ return shaNull;
-+ }
-+
-+ if (context->Corrupted)
-+ {
-+ return context->Corrupted;
-+ }
-+
-+ if (!context->Computed)
-+ {
-+ SHA1PadMessage(context);
-+ for(i=0; i<64; ++i)
-+ {
-+ /* message may be sensitive, clear it out */
-+ context->Message_Block[i] = 0;
-+ }
-+ context->Length_Low = 0; /* and clear length */
-+ context->Length_High = 0;
-+ context->Computed = 1;
-+ }
-+
-+ for(i = 0; i < SHA1HashSize; ++i)
-+ {
-+ Message_Digest[i] = context->Intermediate_Hash[i>>2]
-+ >> 8 * ( 3 - ( i & 0x03 ) );
-+ }
-+
-+ return shaSuccess;
-+}
-+
-+/*
-+ * SHA1Input
-+ *
-+ * Description:
-+ * This function accepts an array of octets as the next portion
-+ * of the message.
-+ *
-+ * Parameters:
-+ * context: [in/out]
-+ * The SHA context to update
-+ * message_array: [in]
-+ * An array of characters representing the next portion of
-+ * the message.
-+ * length: [in]
-+ * The length of the message in message_array
-+ *
-+ * Returns:
-+ * sha Error Code.
-+ *
-+ */
-+int SHA1Input( SHA1Context *context,
-+ const uint8_t *message_array,
-+ unsigned length)
-+{
-+ if (!length)
-+ {
-+ return shaSuccess;
-+ }
-+
-+ if (!context || !message_array)
-+ {
-+ return shaNull;
-+ }
-+
-+ if (context->Computed)
-+ {
-+ context->Corrupted = shaStateError;
-+ return shaStateError;
-+ }
-+
-+ if (context->Corrupted)
-+ {
-+ return context->Corrupted;
-+ }
-+ while(length-- && !context->Corrupted)
-+ {
-+ context->Message_Block[context->Message_Block_Index++] =
-+ (*message_array & 0xFF);
-+
-+ context->Length_Low += 8;
-+ if (context->Length_Low == 0)
-+ {
-+ context->Length_High++;
-+ if (context->Length_High == 0)
-+ {
-+ /* Message is too long */
-+ context->Corrupted = 1;
-+ }
-+ }
-+
-+ if (context->Message_Block_Index == 64)
-+ {
-+ SHA1ProcessMessageBlock(context);
-+ }
-+
-+ message_array++;
-+ }
-+
-+ return shaSuccess;
-+}
-+
-+/*
-+ * SHA1ProcessMessageBlock
-+ *
-+ * Description:
-+ * This function will process the next 512 bits of the message
-+ * stored in the Message_Block array.
-+ *
-+ * Parameters:
-+ * None.
-+ *
-+ * Returns:
-+ * Nothing.
-+ *
-+ * Comments:
-+ * Many of the variable names in this code, especially the
-+ * single character names, were used because those were the
-+ * names used in the publication.
-+ *
-+ *
-+ */
-+void SHA1ProcessMessageBlock(SHA1Context *context)
-+{
-+ const uint32_t K[] = { /* Constants defined in SHA-1 */
-+ 0x5A827999,
-+ 0x6ED9EBA1,
-+ 0x8F1BBCDC,
-+ 0xCA62C1D6
-+ };
-+ int t; /* Loop counter */
-+ uint32_t temp; /* Temporary word value */
-+ uint32_t W[80]; /* Word sequence */
-+ uint32_t A, B, C, D, E; /* Word buffers */
-+
-+ /*
-+ * Initialize the first 16 words in the array W
-+ */
-+ for(t = 0; t < 16; t++)
-+ {
-+ W[t] = context->Message_Block[t * 4] << 24;
-+ W[t] |= context->Message_Block[t * 4 + 1] << 16;
-+ W[t] |= context->Message_Block[t * 4 + 2] << 8;
-+ W[t] |= context->Message_Block[t * 4 + 3];
-+ }
-+
-+ for(t = 16; t < 80; t++)
-+ {
-+ W[t] = SHA1CircularShift(1,W[t-3] ^ W[t-8] ^ W[t-14] ^ W[t-16]);
-+ }
-+
-+ A = context->Intermediate_Hash[0];
-+ B = context->Intermediate_Hash[1];
-+ C = context->Intermediate_Hash[2];
-+ D = context->Intermediate_Hash[3];
-+ E = context->Intermediate_Hash[4];
-+
-+ for(t = 0; t < 20; t++)
-+ {
-+ temp = SHA1CircularShift(5,A) +
-+ ((B & C) | ((~B) & D)) + E + W[t] + K[0];
-+ E = D;
-+ D = C;
-+ C = SHA1CircularShift(30,B);
-+ B = A;
-+ A = temp;
-+ }
-+
-+ for(t = 20; t < 40; t++)
-+ {
-+ temp = SHA1CircularShift(5,A) + (B ^ C ^ D) + E + W[t] + K[1];
-+ E = D;
-+ D = C;
-+ C = SHA1CircularShift(30,B);
-+ B = A;
-+ A = temp;
-+ }
-+
-+ for(t = 40; t < 60; t++)
-+ {
-+ temp = SHA1CircularShift(5,A) +
-+ ((B & C) | (B & D) | (C & D)) + E + W[t] + K[2];
-+ E = D;
-+ D = C;
-+ C = SHA1CircularShift(30,B);
-+ B = A;
-+ A = temp;
-+ }
-+
-+ for(t = 60; t < 80; t++)
-+ {
-+ temp = SHA1CircularShift(5,A) + (B ^ C ^ D) + E + W[t] + K[3];
-+ E = D;
-+ D = C;
-+ C = SHA1CircularShift(30,B);
-+ B = A;
-+ A = temp;
-+ }
-+
-+ context->Intermediate_Hash[0] += A;
-+ context->Intermediate_Hash[1] += B;
-+ context->Intermediate_Hash[2] += C;
-+ context->Intermediate_Hash[3] += D;
-+ context->Intermediate_Hash[4] += E;
-+
-+ context->Message_Block_Index = 0;
-+}
-+
-+
-+/*
-+ * SHA1PadMessage
-+ *
-+ * Description:
-+ * According to the standard, the message must be padded to an even
-+ * 512 bits. The first padding bit must be a '1'. The last 64
-+ * bits represent the length of the original message. All bits in
-+ * between should be 0. This function will pad the message
-+ * according to those rules by filling the Message_Block array
-+ * accordingly. It will also call the ProcessMessageBlock function
-+ * provided appropriately. When it returns, it can be assumed that
-+ * the message digest has been computed.
-+ *
-+ * Parameters:
-+ * context: [in/out]
-+ * The context to pad
-+ * ProcessMessageBlock: [in]
-+ * The appropriate SHA*ProcessMessageBlock function
-+ * Returns:
-+ * Nothing.
-+ *
-+ */
-+
-+void SHA1PadMessage(SHA1Context *context)
-+{
-+ /*
-+ * Check to see if the current message block is too small to hold
-+ * the initial padding bits and length. If so, we will pad the
-+ * block, process it, and then continue padding into a second
-+ * block.
-+ */
-+ if (context->Message_Block_Index > 55)
-+ {
-+ context->Message_Block[context->Message_Block_Index++] = 0x80;
-+ while(context->Message_Block_Index < 64)
-+ {
-+ context->Message_Block[context->Message_Block_Index++] = 0;
-+ }
-+
-+ SHA1ProcessMessageBlock(context);
-+
-+ while(context->Message_Block_Index < 56)
-+ {
-+ context->Message_Block[context->Message_Block_Index++] = 0;
-+ }
-+ }
-+ else
-+ {
-+ context->Message_Block[context->Message_Block_Index++] = 0x80;
-+ while(context->Message_Block_Index < 56)
-+ {
-+ context->Message_Block[context->Message_Block_Index++] = 0;
-+ }
-+ }
-+
-+ /*
-+ * Store the message length as the last 8 octets
-+ */
-+ context->Message_Block[56] = context->Length_High >> 24;
-+ context->Message_Block[57] = context->Length_High >> 16;
-+ context->Message_Block[58] = context->Length_High >> 8;
-+ context->Message_Block[59] = context->Length_High;
-+ context->Message_Block[60] = context->Length_Low >> 24;
-+ context->Message_Block[61] = context->Length_Low >> 16;
-+ context->Message_Block[62] = context->Length_Low >> 8;
-+ context->Message_Block[63] = context->Length_Low;
-+
-+ SHA1ProcessMessageBlock(context);
-+}
-diff --git a/common/sha1.h b/common/sha1.h
-new file mode 100644
-index 0000000..1d49b1b
---- /dev/null
-+++ b/common/sha1.h
-@@ -0,0 +1,101 @@
-+/*
-+ * Copyright (C) The Internet Society (2001). All Rights Reserved.
-+ *
-+ * This document and translations of it may be copied and furnished to
-+ * others, and derivative works that comment on or otherwise explain it
-+ * or assist in its implementation may be prepared, copied, published
-+ * and distributed, in whole or in part, without restriction of any
-+ * kind, provided that the above copyright notice and this paragraph are
-+ * included on all such copies and derivative works. However, this
-+ * document itself may not be modified in any way, such as by removing
-+ * the copyright notice or references to the Internet Society or other
-+ * Internet organizations, except as needed for the purpose of
-+ * developing Internet standards in which case the procedures for
-+ * copyrights defined in the Internet Standards process must be
-+ * followed, or as required to translate it into languages other than
-+ * English.
-+ *
-+ * The limited permissions granted above are perpetual and will not be
-+ * revoked by the Internet Society or its successors or assigns.
-+ *
-+ * This document and the information contained herein is provided on an
-+ * "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
-+ * TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
-+ * BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
-+ * HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
-+ * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-+ */
-+
-+/*
-+ * sha1.h
-+ *
-+ * Description:
-+ * This is the header file for code which implements the Secure
-+ * Hashing Algorithm 1 as defined in FIPS PUB 180-1 published
-+ * April 17, 1995.
-+ *
-+ * Many of the variable names in this code, especially the
-+ * single character names, were used because those were the names
-+ * used in the publication.
-+ *
-+ * Please read the file sha1.c for more information.
-+ *
-+ */
-+
-+
-+#ifndef _SHA1_H_
-+#define _SHA1_H_
-+
-+#include <stdint.h>
-+/*
-+ * If you do not have the ISO standard stdint.h header file, then you
-+ * must typdef the following:
-+ * name meaning
-+ * uint32_t unsigned 32 bit integer
-+ * uint8_t unsigned 8 bit integer (i.e., unsigned char)
-+ * int_least16_t integer of >= 16 bits
-+ *
-+ */
-+
-+#ifndef _SHA_enum_
-+#define _SHA_enum_
-+enum
-+{
-+ shaSuccess = 0,
-+ shaNull, /* Null pointer parameter */
-+ shaInputTooLong, /* input data too long */
-+ shaStateError /* called Input after Result */
-+};
-+#endif
-+#define SHA1HashSize 20
-+
-+/*
-+ * This structure will hold context information for the SHA-1
-+ * hashing operation
-+ */
-+typedef struct SHA1Context
-+{
-+ uint32_t Intermediate_Hash[SHA1HashSize/4]; /* Message Digest */
-+
-+ uint32_t Length_Low; /* Message length in bits */
-+ uint32_t Length_High; /* Message length in bits */
-+
-+ /* Index into message block array */
-+ int_least16_t Message_Block_Index;
-+ uint8_t Message_Block[64]; /* 512-bit message blocks */
-+
-+ int Computed; /* Is the digest computed? */
-+ int Corrupted; /* Is the message digest corrupted? */
-+} SHA1Context;
-+
-+/*
-+ * Function Prototypes
-+ */
-+int SHA1Reset( SHA1Context *);
-+int SHA1Input( SHA1Context *,
-+ const uint8_t *,
-+ unsigned int);
-+int SHA1Result( SHA1Context *,
-+ uint8_t Message_Digest[SHA1HashSize]);
-+
-+#endif
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver/0002-format_string.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver/0002-format_string.patch
deleted file mode 100644
index 566a2087c..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver/0002-format_string.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From: Luca Falavigna <dktrkranz@debian.org>
-Date: Tue, 27 Jan 2015 01:26:04 +0000
-Subject: format_string
-
----
- client_examples/gtkvncviewer.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/client_examples/gtkvncviewer.c b/client_examples/gtkvncviewer.c
-index 261b2da..861e4e3 100644
---- a/client_examples/gtkvncviewer.c
-+++ b/client_examples/gtkvncviewer.c
-@@ -588,7 +588,7 @@ static void GtkDefaultLog (const char *format, ...)
-
- time (&log_clock);
- strftime (buf, 255, "%d/%m/%Y %X ", localtime (&log_clock));
-- fprintf (stdout, buf);
-+ fprintf (stdout, "%s", buf);
-
- vfprintf (stdout, format, args);
- fflush (stdout);
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
deleted file mode 100644
index 0eba87c5b..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.10.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-DESCRIPTION = "library for easy implementation of a RDP/VNC server"
-HOMEPAGE = "https://libvnc.github.io"
-SECTION = "libs"
-PRIORITY = "optional"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=361b6b837cad26c6900a926b62aada5f"
-
-DEPENDS += "zlib libsdl jpeg libpng gtk+ libgcrypt nettle gnutls gmp"
-RDEPENDS_${PN} += "libpng gtk+ libgcrypt"
-
-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 \
- file://0002-format_string.patch \
-"
-
-SRC_URI[md5sum] = "e883b6c7bd339a5e1c48645051abe5c4"
-SRC_URI[sha256sum] = "583f28869b82aec57768d7d18cd7ff81bf092ecbbc1209b587c2c2cd68330250"
-
-S = "${WORKDIR}/${BPN}-LibVNCServer-${PV}"
-
-EXTRA_OECONF += "--without-libva"
-
-TARGET_LDFLAGS += "-lgcrypt"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.11.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.11.bb
new file mode 100644
index 000000000..457d72169
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.11.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "library for easy implementation of a RDP/VNC server"
+HOMEPAGE = "https://libvnc.github.io"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=361b6b837cad26c6900a926b62aada5f"
+
+DEPENDS += "zlib libsdl jpeg libpng gtk+ libgcrypt nettle gnutls gmp"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}"
+PACKAGECONFIG[systemd] = ",,systemd"
+
+RDEPENDS_${PN} += "libpng gtk+ libgcrypt"
+
+inherit autotools binconfig pkgconfig
+
+SRC_URI = "https://github.com/LibVNC/libvncserver/archive/LibVNCServer-${PV}.tar.gz"
+SRC_URI[md5sum] = "7f06104d5c009813e95142932c4ddb06"
+SRC_URI[sha256sum] = "193d630372722a532136fd25c5326b2ca1a636cbb8bf9bb115ef869c804d2894"
+
+S = "${WORKDIR}/${BPN}-LibVNCServer-${PV}"
+
+TARGET_LDFLAGS += "-lgcrypt"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb
index c98c3a132..8e7efcdad 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb
@@ -34,7 +34,7 @@ EXTRA_OECONF += "--enable-gtk3=no --enable-password=yes --with-x -with-xconn=xcb
"
do_configure_prepend() {
- cp ${STAGING_DATADIR}/gettext/po/Makefile.in.in ${S}/po/
+ cp ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po/
}
do_compile_append() {
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/openjpeg/files/0001-bmp_read_info_header-reject-bmp-files-with-biBitCoun.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/openjpeg/files/0001-bmp_read_info_header-reject-bmp-files-with-biBitCoun.patch
new file mode 100644
index 000000000..866d9aa41
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/openjpeg/files/0001-bmp_read_info_header-reject-bmp-files-with-biBitCoun.patch
@@ -0,0 +1,31 @@
+From 226f07e4b49c2757b181c62e6841000c512054e3 Mon Sep 17 00:00:00 2001
+From: Even Rouault <even.rouault@spatialys.com>
+Date: Mon, 14 Aug 2017 17:26:58 +0200
+Subject: [PATCH] bmp_read_info_header(): reject bmp files with biBitCount == 0
+ (#983)
+
+Upstream-Status: Backport [https://github.com/uclouvain/openjpeg/commit/baf0c1ad4572daa89caa3b12985bdd93530f0dd7]
+CVE: CVE-2017-12982
+Signed-off-by: Dengke Du <dengke.du@windriver.com>
+---
+ src/bin/jp2/convertbmp.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/bin/jp2/convertbmp.c b/src/bin/jp2/convertbmp.c
+index b49e7a0..2715fdf 100644
+--- a/src/bin/jp2/convertbmp.c
++++ b/src/bin/jp2/convertbmp.c
+@@ -392,6 +392,10 @@ static OPJ_BOOL bmp_read_info_header(FILE* IN, OPJ_BITMAPINFOHEADER* header)
+
+ header->biBitCount = (OPJ_UINT16)getc(IN);
+ header->biBitCount |= (OPJ_UINT16)((OPJ_UINT32)getc(IN) << 8);
++ if (header->biBitCount == 0) {
++ fprintf(stderr, "Error, invalid biBitCount %d\n", 0);
++ return OPJ_FALSE;
++ }
+
+ if (header->biSize >= 40U) {
+ header->biCompression = (OPJ_UINT32)getc(IN);
+--
+2.8.1
+
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
deleted file mode 100644
index fa4f7964a..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.1.1.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-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/openjpeg/openjpeg_2.2.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.2.0.bb
new file mode 100644
index 000000000..4ef1c408f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.2.0.bb
@@ -0,0 +1,21 @@
+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 \
+ file://0001-bmp_read_info_header-reject-bmp-files-with-biBitCoun.patch \
+ "
+SRC_URI[md5sum] = "269bb0b175476f3addcc0d03bd9a97b6"
+SRC_URI[sha256sum] = "6fddbce5a618e910e03ad00d66e7fcd09cc6ee307ce69932666d54c73b7c6e7b"
+
+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/slim/slim/0002-Fix-image-handling-integer-overflows.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/0002-Fix-image-handling-integer-overflows.patch
deleted file mode 100644
index de82d6303..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/0002-Fix-image-handling-integer-overflows.patch
+++ /dev/null
@@ -1,343 +0,0 @@
-From 24e548a222f0aab4313d5ba8b04f0840b173000f Mon Sep 17 00:00:00 2001
-From: iwamatsu <iwamatsu@7c53e7cc-98ea-0310-8f1f-a0b24da60408>
-Date: Mon, 30 Aug 2010 01:24:54 +0000
-Subject: [PATCH 2/8] Fix image handling integer overflows
-
-Image loading memory allocation is based on the image width and height:
- malloc(heigth * width * 3). Providing an image with large height and
-width values can cause the result of this calculation to exceed the
-maximum value of an unsigned int and thus causes an integer overflow.
-The result: too little memory is allocated and an heap overflow occurs.
-
-This patch was based by Niels Heinen <niels@freebsd.org>
-Thanks!
-
-Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
-
-git-svn-id: svn://svn.berlios.de/slim/trunk@176 7c53e7cc-98ea-0310-8f1f-a0b24da60408
----
- const.h | 3 ++
- jpeg.c | 51 +++++++++++++++-----------
- png.c | 122 ++++++++++++++++++++++++++++++++------------------------------
- 3 files changed, 96 insertions(+), 80 deletions(-)
-
-diff --git a/const.h b/const.h
-index df0989c..a18c6f3 100644
---- a/const.h
-+++ b/const.h
-@@ -42,4 +42,7 @@
- // variables replaced in pre-session_cmd and post-session_cmd
- #define USER_VAR "%user"
-
-+// max height/width for images
-+#define MAX_DIMENSION 10000
-+
- #endif
-diff --git a/jpeg.c b/jpeg.c
-index 1cf106c..e1f8352 100644
---- a/jpeg.c
-+++ b/jpeg.c
-@@ -22,16 +22,22 @@
- #include <string.h>
-
- #include <jpeglib.h>
-+#include "const.h"
-
- int
- read_jpeg(const char *filename, int *width, int *height, unsigned char **rgb)
- {
-+ int ret = 0;
- struct jpeg_decompress_struct cinfo;
- struct jpeg_error_mgr jerr;
- unsigned char *ptr = NULL;
- unsigned int i, ipos;
-
- FILE *infile = fopen(filename, "rb");
-+ if (infile == NULL) {
-+ fprintf(stderr, "Can not fopen file: %s\n",filename);
-+ return ret;
-+ }
-
- cinfo.err = jpeg_std_error(&jerr);
- jpeg_create_decompress(&cinfo);
-@@ -39,43 +45,39 @@ read_jpeg(const char *filename, int *width, int *height, unsigned char **rgb)
- jpeg_read_header(&cinfo, TRUE);
- jpeg_start_decompress(&cinfo);
-
-+ /* Prevent against integer overflow */
-+ if(cinfo.output_width >= MAX_DIMENSION || cinfo.output_height >= MAX_DIMENSION) {
-+ fprintf(stderr, "Unreasonable dimension found in file: %s\n",filename);
-+ goto close_file;
-+ }
-+
- *width = cinfo.output_width;
- *height = cinfo.output_height;
-
- rgb[0] = malloc(3 * cinfo.output_width * cinfo.output_height);
-- if (rgb[0] == NULL)
-- {
-+ if (rgb[0] == NULL) {
- fprintf(stderr, "Can't allocate memory for JPEG file.\n");
-- fclose(infile);
-- return(0);
-+ goto close_file;
- }
-
-- if (cinfo.output_components == 3)
-- {
-+ if (cinfo.output_components == 3) {
- ptr = rgb[0];
-- while (cinfo.output_scanline < cinfo.output_height)
-- {
-+ while (cinfo.output_scanline < cinfo.output_height) {
- jpeg_read_scanlines(&cinfo, &ptr, 1);
- ptr += 3 * cinfo.output_width;
- }
-- }
-- else if (cinfo.output_components == 1)
-- {
-+ } else if (cinfo.output_components == 1) {
- ptr = malloc(cinfo.output_width);
-- if (ptr == NULL)
-- {
-+ if (ptr == NULL) {
- fprintf(stderr, "Can't allocate memory for JPEG file.\n");
-- fclose(infile);
-- return(0);
-+ goto rgb_free;
- }
-
- ipos = 0;
-- while (cinfo.output_scanline < cinfo.output_height)
-- {
-+ while (cinfo.output_scanline < cinfo.output_height) {
- jpeg_read_scanlines(&cinfo, &ptr, 1);
-
-- for (i = 0; i < cinfo.output_width; i++)
-- {
-+ for (i = 0; i < cinfo.output_width; i++) {
- memset(rgb[0] + ipos, ptr[i], 3);
- ipos += 3;
- }
-@@ -85,9 +87,16 @@ read_jpeg(const char *filename, int *width, int *height, unsigned char **rgb)
- }
-
- jpeg_finish_decompress(&cinfo);
-- jpeg_destroy_decompress(&cinfo);
-
-+ ret = 1;
-+ goto close_file;
-+
-+rgb_free:
-+ free(rgb[0]);
-+
-+close_file:
-+ jpeg_destroy_decompress(&cinfo);
- fclose(infile);
-
-- return(1);
-+ return(ret);
- }
-diff --git a/png.c b/png.c
-index a2661c6..5c086c6 100644
---- a/png.c
-+++ b/png.c
-@@ -22,12 +22,13 @@
- #include <stdlib.h>
-
- #include <png.h>
-+#include "const.h"
-
- int
- read_png(const char *filename, int *width, int *height, unsigned char **rgb,
- unsigned char **alpha)
- {
-- FILE *infile = fopen(filename, "rb");
-+ int ret = 0;
-
- png_structp png_ptr;
- png_infop info_ptr;
-@@ -38,31 +39,27 @@ read_png(const char *filename, int *width, int *height, unsigned char **rgb,
- int bit_depth, color_type, interlace_type;
- int i;
-
-+ FILE *infile = fopen(filename, "rb");
-+ if (infile == NULL) {
-+ fprintf(stderr, "Can not fopen file: %s\n",filename);
-+ return ret;
-+ }
-+
- png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING,
- (png_voidp) NULL,
- (png_error_ptr) NULL,
- (png_error_ptr) NULL);
-- if (!png_ptr)
-- {
-- fclose(infile);
-- return(0);
-- }
-+ if (!png_ptr)
-+ goto file_close;
-
- info_ptr = png_create_info_struct(png_ptr);
-- if (!info_ptr)
-- {
-+ if (!info_ptr) {
- png_destroy_read_struct(&png_ptr, (png_infopp) NULL,
- (png_infopp) NULL);
-- fclose(infile);
-- return(0);
- }
-
- if (setjmp(png_ptr->jmpbuf))
-- {
-- png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp) NULL);
-- fclose(infile);
-- return(0);
-- }
-+ goto png_destroy;
-
- png_init_io(png_ptr, infile);
- png_read_info(png_ptr, info_ptr);
-@@ -70,18 +67,23 @@ read_png(const char *filename, int *width, int *height, unsigned char **rgb,
- png_get_IHDR(png_ptr, info_ptr, &w, &h, &bit_depth, &color_type,
- &interlace_type, (int *) NULL, (int *) NULL);
-
-+ /* Prevent against integer overflow */
-+ if(w >= MAX_DIMENSION || h >= MAX_DIMENSION) {
-+ fprintf(stderr, "Unreasonable dimension found in file: %s\n",filename);
-+ goto png_destroy;
-+ }
-+
- *width = (int) w;
- *height = (int) h;
-
- if (color_type == PNG_COLOR_TYPE_RGB_ALPHA
-- || color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
-- {
-- alpha[0] = malloc(*width * *height);
-- if (alpha[0] == NULL)
-- {
-- fprintf(stderr, "Can't allocate memory for alpha channel in PNG file.\n");
-- return(0);
-- }
-+ || color_type == PNG_COLOR_TYPE_GRAY_ALPHA) {
-+ alpha[0] = malloc(*width * *height);
-+ if (alpha[0] == NULL)
-+ {
-+ fprintf(stderr, "Can't allocate memory for alpha channel in PNG file.\n");
-+ goto png_destroy;
-+ }
- }
-
- /* Change a paletted/grayscale image to RGB */
-@@ -94,68 +96,70 @@ read_png(const char *filename, int *width, int *height, unsigned char **rgb,
- png_set_gray_to_rgb(png_ptr);
-
- /* If the PNG file has 16 bits per channel, strip them down to 8 */
-- if (bit_depth == 16) png_set_strip_16(png_ptr);
-+ if (bit_depth == 16)
-+ png_set_strip_16(png_ptr);
-
- /* use 1 byte per pixel */
- png_set_packing(png_ptr);
-
- row_pointers = malloc(*height * sizeof(png_bytep));
-- if (row_pointers == NULL)
-- {
-+ if (row_pointers == NULL) {
- fprintf(stderr, "Can't allocate memory for PNG file.\n");
-- return(0);
-+ goto png_destroy;
- }
-
-- for (i = 0; i < *height; i++)
-- {
-+ for (i = 0; i < *height; i++) {
- row_pointers[i] = malloc(4 * *width);
-- if (row_pointers == NULL)
-- {
-+ if (row_pointers == NULL) {
- fprintf(stderr, "Can't allocate memory for PNG line.\n");
-- return(0);
-+ goto rows_free;
- }
- }
-
- png_read_image(png_ptr, row_pointers);
-
- rgb[0] = malloc(3 * *width * *height);
-- if (rgb[0] == NULL)
-- {
-+ if (rgb[0] == NULL) {
- fprintf(stderr, "Can't allocate memory for PNG file.\n");
-- return(0);
-+ goto rows_free;
- }
-
- if (alpha[0] == NULL)
- {
-- ptr = rgb[0];
-- for (i = 0; i < *height; i++)
-- {
-- memcpy(ptr, row_pointers[i], 3 * *width);
-- ptr += 3 * *width;
-- }
-- }
-- else
-- {
-- int j;
-- ptr = rgb[0];
-- for (i = 0; i < *height; i++)
-- {
-- int ipos = 0;
-- for (j = 0; j < *width; j++)
-- {
-- *ptr++ = row_pointers[i][ipos++];
-- *ptr++ = row_pointers[i][ipos++];
-- *ptr++ = row_pointers[i][ipos++];
-- alpha[0][i * *width + j] = row_pointers[i][ipos++];
-+ ptr = rgb[0];
-+ for (i = 0; i < *height; i++) {
-+ memcpy(ptr, row_pointers[i], 3 * *width);
-+ ptr += 3 * *width;
-+ }
-+ } else {
-+ int j;
-+ ptr = rgb[0];
-+ for (i = 0; i < *height; i++) {
-+ int ipos = 0;
-+ for (j = 0; j < *width; j++) {
-+ *ptr++ = row_pointers[i][ipos++];
-+ *ptr++ = row_pointers[i][ipos++];
-+ *ptr++ = row_pointers[i][ipos++];
-+ alpha[0][i * *width + j] = row_pointers[i][ipos++];
-+ }
- }
-- }
- }
-
-- png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp) NULL);
-+ ret = 1; /* data reading is OK */
-+
-+rows_free:
-+ for (i = 0; i < *height; i++) {
-+ if (row_pointers[i] != NULL ) {
-+ free(row_pointers[i]);
-+ }
-+ }
-
-- for (i = 0; i < *height; i++) free(row_pointers[i]);
- free(row_pointers);
-
-+png_destroy:
-+ png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp) NULL);
-+
-+file_close:
- fclose(infile);
-- return(1);
-+ return(ret);
- }
---
-1.6.6.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/0003-Fix-build-failure-with-ld-as-needed.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/0003-Fix-build-failure-with-ld-as-needed.patch
deleted file mode 100644
index 471c4f51e..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/0003-Fix-build-failure-with-ld-as-needed.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 6aad913ddd5cdb473db9fa21a5e8ecec58de172b Mon Sep 17 00:00:00 2001
-From: iwamatsu <iwamatsu@7c53e7cc-98ea-0310-8f1f-a0b24da60408>
-Date: Wed, 12 Jan 2011 04:41:02 +0000
-Subject: [PATCH 3/8] Fix build failure with ld --as-needed.
-
-Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
-
-git-svn-id: svn://svn.berlios.de/slim/trunk@177 7c53e7cc-98ea-0310-8f1f-a0b24da60408
----
- Makefile | 4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 1219de4..fafa0ef 100644
---- a/Makefile
-+++ b/Makefile
-@@ -4,7 +4,7 @@
- # to fit into your operating system / distribution
- #######################################################
- CXX=/usr/bin/g++
--CC=/usr/bin/gcc
-+CC=/usr/bin/gcc-4.5
- CFLAGS=-Wall -I. -I/usr/include/freetype2 -I/usr/include/freetype2/config -I/usr/include/libpng12 -I/usr/include
- CXXFLAGS=$(CFLAGS)
- LDFLAGS=-lXft -lX11 -lfreetype -lXrender -lfontconfig -lpng12 -lz -lm -lcrypt -lXmu -lpng -ljpeg -lrt
-@@ -33,7 +33,7 @@ endif
- all: slim
-
- slim: $(OBJECTS)
-- $(CXX) $(LDFLAGS) $(OBJECTS) -o $(NAME)
-+ $(CXX) $(OBJECTS) $(LDFLAGS) -o $(NAME)
-
- .cpp.o:
- $(CXX) $(CXXFLAGS) $(DEFINES) $(CUSTOM) -c $< -o $@
---
-1.6.6.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/0004-Add-support-libpng15.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/0004-Add-support-libpng15.patch
deleted file mode 100644
index f2087c010..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/0004-Add-support-libpng15.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From c2067e8c16bfb721d339718ae0c99c70a994936b Mon Sep 17 00:00:00 2001
-From: iwamatsu <iwamatsu@7c53e7cc-98ea-0310-8f1f-a0b24da60408>
-Date: Fri, 17 Jun 2011 20:35:07 +0000
-Subject: [PATCH 4/8] Add support libpng15
-
-Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
-
-git-svn-id: svn://svn.berlios.de/slim/trunk@178 7c53e7cc-98ea-0310-8f1f-a0b24da60408
----
- Makefile | 4 ++--
- png.c | 6 +++++-
- 2 files changed, 7 insertions(+), 3 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index fafa0ef..1202614 100644
---- a/Makefile
-+++ b/Makefile
-@@ -5,9 +5,9 @@
- #######################################################
- CXX=/usr/bin/g++
- CC=/usr/bin/gcc-4.5
--CFLAGS=-Wall -I. -I/usr/include/freetype2 -I/usr/include/freetype2/config -I/usr/include/libpng12 -I/usr/include
-+CFLAGS=-Wall -I. -I/usr/include/freetype2 -I/usr/include/freetype2/config -I/usr/include
- CXXFLAGS=$(CFLAGS)
--LDFLAGS=-lXft -lX11 -lfreetype -lXrender -lfontconfig -lpng12 -lz -lm -lcrypt -lXmu -lpng -ljpeg -lrt
-+LDFLAGS=-lXft -lX11 -lfreetype -lXrender -lfontconfig -lpng -lz -lm -lcrypt -lXmu -lpng -ljpeg -lrt
- CUSTOM=-DHAVE_SHADOW
- ifdef USE_PAM
- LDFLAGS+= -lpam
-diff --git a/png.c b/png.c
-index 5c086c6..aa0f5e5 100644
---- a/png.c
-+++ b/png.c
-@@ -57,8 +57,12 @@ read_png(const char *filename, int *width, int *height, unsigned char **rgb,
- png_destroy_read_struct(&png_ptr, (png_infopp) NULL,
- (png_infopp) NULL);
- }
--
-+
-+#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
-+ if (setjmp(png_jmpbuf((data->png_ptr))))
-+#else
- if (setjmp(png_ptr->jmpbuf))
-+#endif
- goto png_destroy;
-
- png_init_io(png_ptr, infile);
---
-1.6.6.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/0005-Remove-path-of-gcc-amd-g-and-version-of-g.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/0005-Remove-path-of-gcc-amd-g-and-version-of-g.patch
deleted file mode 100644
index 566ae355e..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/0005-Remove-path-of-gcc-amd-g-and-version-of-g.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 4f69eb1aa85fbb395a0474b1f376505fab81ee22 Mon Sep 17 00:00:00 2001
-From: iwamatsu <iwamatsu@7c53e7cc-98ea-0310-8f1f-a0b24da60408>
-Date: Fri, 17 Jun 2011 20:35:10 +0000
-Subject: [PATCH 5/8] Remove path of gcc amd g++, and version of g++
-
-Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
-
-git-svn-id: svn://svn.berlios.de/slim/trunk@179 7c53e7cc-98ea-0310-8f1f-a0b24da60408
----
- Makefile | 4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 1202614..5c5fde1 100644
---- a/Makefile
-+++ b/Makefile
-@@ -3,8 +3,8 @@
- # Edit the following section to adjust the options
- # to fit into your operating system / distribution
- #######################################################
--CXX=/usr/bin/g++
--CC=/usr/bin/gcc-4.5
-+CXX=g++
-+CC=gcc
- CFLAGS=-Wall -I. -I/usr/include/freetype2 -I/usr/include/freetype2/config -I/usr/include
- CXXFLAGS=$(CFLAGS)
- LDFLAGS=-lXft -lX11 -lfreetype -lXrender -lfontconfig -lpng -lz -lm -lcrypt -lXmu -lpng -ljpeg -lrt
---
-1.6.6.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/0006-Remove-localhost-from-Authenticator-of-pam.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/0006-Remove-localhost-from-Authenticator-of-pam.patch
deleted file mode 100644
index a5b812584..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/0006-Remove-localhost-from-Authenticator-of-pam.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From e188d5fd3e3c0e40c3e35729fd8b81b138191a75 Mon Sep 17 00:00:00 2001
-From: iwamatsu <iwamatsu@7c53e7cc-98ea-0310-8f1f-a0b24da60408>
-Date: Fri, 17 Jun 2011 20:35:13 +0000
-Subject: [PATCH 6/8] Remove localhost from Authenticator of pam
-
-http://bugs.gentoo.org/346037
-https://developer.berlios.de/bugs/?func=detailbug&bug_id=17757&group_id=2663
-http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-misc/slim/files/346037-stop_setting_host_for_pam_ck_connector_so.patch?view=log
-
-Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
-
-git-svn-id: svn://svn.berlios.de/slim/trunk@180 7c53e7cc-98ea-0310-8f1f-a0b24da60408
----
- app.cpp | 2 --
- 1 files changed, 0 insertions(+), 2 deletions(-)
-
-diff --git a/app.cpp b/app.cpp
-index c80a73e..7177363 100644
---- a/app.cpp
-+++ b/app.cpp
-@@ -236,8 +236,6 @@ void App::Run() {
- pam.start("slim");
- pam.set_item(PAM::Authenticator::TTY, DisplayName);
- pam.set_item(PAM::Authenticator::Requestor, "root");
-- pam.set_item(PAM::Authenticator::Host, "localhost");
--
- }
- catch(PAM::Exception& e){
- cerr << APPNAME << ": " << e << endl;
---
-1.6.6.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/0007-Fix-tty-slowness.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/0007-Fix-tty-slowness.patch
deleted file mode 100644
index fa2502bf0..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/0007-Fix-tty-slowness.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From da172fd6234b3b2b487ab36d63da72758829cb1d Mon Sep 17 00:00:00 2001
-From: iwamatsu <iwamatsu@7c53e7cc-98ea-0310-8f1f-a0b24da60408>
-Date: Fri, 17 Jun 2011 20:35:15 +0000
-Subject: [PATCH 7/8] Fix tty slowness
-
-Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
-
-git-svn-id: svn://svn.berlios.de/slim/trunk@181 7c53e7cc-98ea-0310-8f1f-a0b24da60408
----
- app.cpp | 10 ++++++----
- 1 files changed, 6 insertions(+), 4 deletions(-)
-
-diff --git a/app.cpp b/app.cpp
-index 7177363..44ab099 100644
---- a/app.cpp
-+++ b/app.cpp
-@@ -278,21 +278,23 @@ void App::Run() {
- signal(SIGALRM, AlarmSignal);
-
- #ifndef XNEST_DEBUG
-- OpenLog();
--
- if (!force_nodaemon && cfg->getOption("daemon") == "yes") {
- daemonmode = true;
- }
-
- // Daemonize
- if (daemonmode) {
-- if (daemon(0, 1) == -1) {
-+ if (daemon(0, 0) == -1) {
- cerr << APPNAME << ": " << strerror(errno) << endl;
- exit(ERR_EXIT);
- }
-- UpdatePid();
- }
-
-+ OpenLog();
-+
-+ if (daemonmode)
-+ UpdatePid();
-+
- CreateServerAuth();
- StartServer();
- alarm(2);
---
-1.6.6.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/0008-restart-Xserver-if-killed.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/0008-restart-Xserver-if-killed.patch
deleted file mode 100644
index 0c5cfb742..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/0008-restart-Xserver-if-killed.patch
+++ /dev/null
@@ -1,161 +0,0 @@
-From ee77a3d154443d2823ecbf2141daa1b5924f629f Mon Sep 17 00:00:00 2001
-From: iwamatsu <iwamatsu@7c53e7cc-98ea-0310-8f1f-a0b24da60408>
-Date: Fri, 17 Jun 2011 20:38:34 +0000
-Subject: [PATCH 8/8] restart Xserver if killed
-
-Patch from http://developer.berlios.de/patch/?func=detailpatch&patch_id=2378&group_id=2663.
-
-Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
-
-git-svn-id: svn://svn.berlios.de/slim/trunk@182 7c53e7cc-98ea-0310-8f1f-a0b24da60408
----
- app.cpp | 36 +++++++++---------------------------
- app.h | 2 +-
- 2 files changed, 10 insertions(+), 28 deletions(-)
-
-diff --git a/app.cpp b/app.cpp
-index 44ab099..358a98f 100644
---- a/app.cpp
-+++ b/app.cpp
-@@ -104,6 +104,11 @@ int conv(int num_msg, const struct pam_message **msg,
-
- extern App* LoginApp;
-
-+int xioerror(Display *disp) {
-+ LoginApp->RestartServer();
-+ return 0;
-+}
-+
- void CatchSignal(int sig) {
- cerr << APPNAME << ": unexpected signal " << sig << endl;
-
-@@ -114,19 +119,6 @@ void CatchSignal(int sig) {
- exit(ERR_EXIT);
- }
-
--
--void AlarmSignal(int sig) {
-- int pid = LoginApp->GetServerPID();
-- if(waitpid(pid, NULL, WNOHANG) == pid) {
-- LoginApp->StopServer();
-- LoginApp->RemoveLock();
-- exit(OK_EXIT);
-- }
-- signal(sig, AlarmSignal);
-- alarm(2);
--}
--
--
- void User1Signal(int sig) {
- signal(sig, User1Signal);
- }
-@@ -275,7 +267,6 @@ void App::Run() {
- signal(SIGHUP, CatchSignal);
- signal(SIGPIPE, CatchSignal);
- signal(SIGUSR1, User1Signal);
-- signal(SIGALRM, AlarmSignal);
-
- #ifndef XNEST_DEBUG
- if (!force_nodaemon && cfg->getOption("daemon") == "yes") {
-@@ -297,7 +288,6 @@ void App::Run() {
-
- CreateServerAuth();
- StartServer();
-- alarm(2);
- #endif
-
- }
-@@ -613,6 +603,8 @@ void App::Login() {
- int status;
- while (wpid != pid) {
- wpid = wait(&status);
-+ if (wpid == ServerPID)
-+ xioerror(Dpy); // Server died, simulate IO error
- }
- if (WIFEXITED(status) && WEXITSTATUS(status)) {
- LoginPanel->Message("Failed to execute login command");
-@@ -658,9 +650,6 @@ void App::Login() {
-
-
- void App::Reboot() {
-- // Stop alarm clock
-- alarm(0);
--
- #ifdef USE_PAM
- try{
- pam.end();
-@@ -683,9 +672,6 @@ void App::Reboot() {
-
-
- void App::Halt() {
-- // Stop alarm clock
-- alarm(0);
--
- #ifdef USE_PAM
- try{
- pam.end();
-@@ -771,6 +757,7 @@ void App::RestartServer() {
-
- StopServer();
- RemoveLock();
-+ while (waitpid(-1, NULL, WNOHANG) > 0); // Collects all dead childrens
- Run();
- }
-
-@@ -841,6 +828,7 @@ int App::WaitForServer() {
-
- for(cycles = 0; cycles < ncycles; cycles++) {
- if((Dpy = XOpenDisplay(DisplayName))) {
-+ XSetIOErrorHandler(xioerror);
- return 1;
- } else {
- if(!ServerTimeout(1, (char *) "X server to begin accepting connections"))
-@@ -925,9 +913,6 @@ int App::StartServer() {
- ServerPID = -1;
- break;
- }
-- alarm(15);
-- pause();
-- alarm(0);
-
- // Wait for server to start up
- if(WaitForServer() == 0) {
-@@ -962,15 +947,12 @@ int IgnoreXIO(Display *d) {
-
-
- void App::StopServer() {
-- // Stop alars clock and ignore signals
-- alarm(0);
- signal(SIGQUIT, SIG_IGN);
- signal(SIGINT, SIG_IGN);
- signal(SIGHUP, SIG_IGN);
- signal(SIGPIPE, SIG_IGN);
- signal(SIGTERM, SIG_DFL);
- signal(SIGKILL, SIG_DFL);
-- signal(SIGALRM, SIG_DFL);
-
- // Catch X error
- XSetIOErrorHandler(IgnoreXIO);
-diff --git a/app.h b/app.h
-index dd7c281..2db1038 100644
---- a/app.h
-+++ b/app.h
-@@ -34,6 +34,7 @@ public:
- ~App();
- void Run();
- int GetServerPID();
-+ void RestartServer();
- void StopServer();
-
- bool serverStarted;
-@@ -49,7 +50,6 @@ private:
- void Console();
- void Exit();
- void KillAllClients(Bool top);
-- void RestartServer();
- void ReadConfig();
- void OpenLog();
- void CloseLog();
---
-1.6.6.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim_1.3.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim_1.3.2.bb
deleted file mode 100644
index 2fbdcab46..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim_1.3.2.bb
+++ /dev/null
@@ -1,82 +0,0 @@
-DESCRIPTION="Simple Login Manager"
-HOMEPAGE="http://slim.berlios.de"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
-
-PR = "r1"
-
-DEPENDS = "virtual/libx11 libxmu libpng jpeg freetype sessreg ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
-
-SRC_URI = " \
- http://download.berlios.de/${BPN}/${BP}.tar.gz \
- file://0002-Fix-image-handling-integer-overflows.patch \
- file://0003-Fix-build-failure-with-ld-as-needed.patch \
- file://0004-Add-support-libpng15.patch \
- file://0005-Remove-path-of-gcc-amd-g-and-version-of-g.patch \
- file://0006-Remove-localhost-from-Authenticator-of-pam.patch \
- file://0007-Fix-tty-slowness.patch \
- file://0008-restart-Xserver-if-killed.patch \
- file://slim-dynwm \
- file://update_slim_wmlist \
- file://Makefile.oe \
- file://slim.pamd \
- file://slim.service \
-"
-
-SRC_URI[md5sum] = "ca1ae6120e6f4b4969f2d6cf94f47b42"
-SRC_URI[sha256sum] = "f1560125005f253b9b88220598fed7a9575ef405716862c6ca3fcc72dbd482b8"
-
-
-EXTRA_OEMAKE += " \
- USE_PAM=${@bb.utils.contains('DISTRO_FEATURES', 'pam', '1', '0', d)} \
- PREFIX=${prefix} \
- CFGDIR=${sysconfdir} \
- MANDIR=${mandir} \
- DESTDIR=${D} \
- CFLAGS+=-I${STAGING_INCDIR}/freetype2 \
- CXXFLAGS+=-I${STAGING_INCDIR}/freetype2 \
-"
-
-do_compile_prepend() {
- cp -pP ${WORKDIR}/Makefile.oe ${S}/Makefile
-}
-
-do_install() {
- oe_runmake install
- install -d ${D}${bindir}
- install -m 0755 ${WORKDIR}/slim-dynwm ${D}${bindir}/
- install -m 0755 ${WORKDIR}/update_slim_wmlist ${D}${bindir}/
- install -d ${D}${sysconfdir}/pam.d/
- install -m 0644 ${WORKDIR}/slim.pamd ${D}${sysconfdir}/pam.d/slim
-
- install -d ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/*.service ${D}${systemd_unitdir}/system/
-
- echo 'sessionstart_cmd /usr/bin/sessreg -a -l $DISPLAY %user' >> ${D}${sysconfdir}/slim.conf
- echo 'sessionstop_cmd /usr/bin/sessreg -d -l $DISPLAY %user' >> ${D}${sysconfdir}/slim.conf
-}
-
-
-RDEPENDS_${PN} = "perl xauth freetype sessreg "
-FILES_${PN} += "${systemd_unitdir}/system/"
-
-pkg_postinst_${PN} () {
-if test "x$D" != "x"; then
- exit 1
-fi
-systemctl enable slim.service
-
-# Register SLiM as default DM
-mkdir -p ${sysconfdir}/X11/
-echo "${bindir}/slim" > ${sysconfdir}/X11/default-display-manager
-}
-
-pkg_postrm_${PN} () {
-if test "x$D" != "x"; then
- exit 1
-fi
-systemctl disable slim.service
-sed -i /slim/d $D${sysconfdir}/X11/default-display-manager || true
-}
-
-PNBLACKLIST[slim] ?= "does not build with distroless qemuarm as reported in 'State of bitbake world' thread, nobody volunteered to fix them - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/terminus-font/terminus-font_4.38.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/terminus-font/terminus-font_4.38.bb
index 4c8399d7d..c460fc35c 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/terminus-font/terminus-font_4.38.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/terminus-font/terminus-font_4.38.bb
@@ -8,7 +8,7 @@ SECTION = "fonts"
LICENSE = "OFL-1.1"
LIC_FILES_CHKSUM = "file://OFL.TXT;md5=9cadb26f4c5c005618c5ae74f041ec54"
-DEPENDS = "hostperl-runtime-native gzip-native"
+DEPENDS = "hostperl-runtime-native gzip-native bdftopcf-native"
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"
SRC_URI[md5sum] = "a8e792fe6e84c86ed2b6ed3e2a12ba66"
@@ -43,5 +43,3 @@ PACKAGES += "${PN}-consolefonts ${PN}-consoletrans ${PN}-pcf"
FILES_${PN}-consolefonts = "${datadir}/consolefonts"
FILES_${PN}-consoletrans = "${datadir}/consoletrans"
FILES_${PN}-pcf = "${datadir}/fonts/terminus"
-
-PNBLACKLIST[terminus-font] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130638/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
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
index c2675cddb..89d09a0f5 100644
--- 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
@@ -1,11 +1,12 @@
SUMMARY = "A commercial quality OCR engine "
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c0c94b3c86ad0c386bb6dec70ca8a36a"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7ea4f9a43aba9d3c849fe5c203a0ed40"
-PV = "3.04.00+git${SRCPV}"
-SRCREV = "228317caa1ced217e6d264aafc901f361ecd7e90"
-SRC_URI = "git://github.com/${BPN}-ocr/${BPN}.git"
+BRANCH = "3.05"
+PV = "${BRANCH}.01+git${SRCPV}"
+SRCREV = "215866151e774972c9502282111b998d7a053562"
+SRC_URI = "git://github.com/${BPN}-ocr/${BPN}.git;branch=${BRANCH}"
S = "${WORKDIR}/git"
DEPENDS = "leptonica"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0001-tigervnc-remove-includedir.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0001-tigervnc-remove-includedir.patch
new file mode 100644
index 000000000..12c437629
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0001-tigervnc-remove-includedir.patch
@@ -0,0 +1,50 @@
+From 4b423cd2e5e4296abca3be553bf64d8cc287180a Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 20 Jul 2017 17:09:05 +0800
+Subject: [PATCH 1/4] tigervnc: remove includedir
+
+Upstream-Status: Pending
+
+Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
+
+It fixes host contamination
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ unix/xserver/hw/vnc/Makefile.am | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/unix/xserver/hw/vnc/Makefile.am b/unix/xserver/hw/vnc/Makefile.am
+index 0d6a4ac..854f078 100644
+--- a/unix/xserver/hw/vnc/Makefile.am
++++ b/unix/xserver/hw/vnc/Makefile.am
+@@ -22,7 +22,7 @@ libvnccommon_la_SOURCES = $(HDRS) \
+
+ libvnccommon_la_CPPFLAGS = -DVENDOR_RELEASE="$(VENDOR_RELEASE)" \
+ -DVENDOR_STRING="\"$(VENDOR_STRING)\"" -I$(TIGERVNC_SRCDIR)/common -UHAVE_CONFIG_H \
+- -I$(TIGERVNC_SRCDIR)/unix/vncconfig $(XVNC_CPPFLAGS) ${XSERVERLIBS_CFLAGS} -I$(includedir) \
++ -I$(TIGERVNC_SRCDIR)/unix/vncconfig $(XVNC_CPPFLAGS) ${XSERVERLIBS_CFLAGS} \
+ -I$(top_srcdir)/include
+
+ bin_PROGRAMS = Xvnc
+@@ -42,7 +42,7 @@ Xvnc_CPPFLAGS = $(XVNC_CPPFLAGS) -DTIGERVNC -DNO_MODULE_EXTS \
+ -UHAVE_CONFIG_H \
+ -DXFree86Server -DVENDOR_RELEASE="$(VENDOR_RELEASE)" \
+ -DVENDOR_STRING="\"$(VENDOR_STRING)\"" -I$(TIGERVNC_SRCDIR)/common \
+- -I$(top_srcdir)/include ${XSERVERLIBS_CFLAGS} -I$(includedir)
++ -I$(top_srcdir)/include ${XSERVERLIBS_CFLAGS}
+
+ Xvnc_LDADD = $(XVNC_LIBS) libvnccommon.la $(COMMON_LIBS) \
+ $(XSERVER_LIBS) $(XSERVER_SYS_LIBS) $(XVNC_SYS_LIBS) -lX11
+@@ -62,7 +62,7 @@ libvnc_la_CPPFLAGS = $(XVNC_CPPFLAGS) -I$(TIGERVNC_SRCDIR)/common -UHAVE_CONFIG_
+ -I$(top_srcdir)/hw/xfree86/os-support \
+ -I$(top_srcdir)/hw/xfree86/os-support/bus \
+ -I$(top_srcdir)/include \
+- ${XSERVERLIBS_CFLAGS} -I$(includedir)
++ ${XSERVERLIBS_CFLAGS}
+
+ libvnc_la_LDFLAGS = -module -avoid-version -Wl,-z,now
+
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0002-do-not-build-tests-sub-directory.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0002-do-not-build-tests-sub-directory.patch
new file mode 100644
index 000000000..4e875ba82
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0002-do-not-build-tests-sub-directory.patch
@@ -0,0 +1,29 @@
+From c3460d63f0b6cd50b9a64265f420f0439e12a1d5 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Tue, 25 Apr 2017 01:36:44 -0400
+Subject: [PATCH 2/4] do not build tests sub directory
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ CMakeLists.txt | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 94ec2ef..fb72a00 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -300,9 +300,6 @@ if(BUILD_VIEWER)
+ add_subdirectory(media)
+ endif()
+
+-add_subdirectory(tests)
+-
+-
+ include(cmake/BuildPackages.cmake)
+
+ # uninstall
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch
new file mode 100644
index 000000000..cfb84ac14
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch
@@ -0,0 +1,28 @@
+From 6369a5be2af2ed1fa443f40f48deaf318d22713e Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 20 Jul 2017 05:06:00 -0400
+Subject: [PATCH 3/4] add missing dynamic library to FLTK_LIBRARIES
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ CMakeLists.txt | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index fb72a00..5732dc8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -246,6 +246,8 @@ if(UNIX AND NOT APPLE)
+ endif()
+ endif()
+
++set(FLTK_LIBRARIES ${FLTK_LIBRARIES} -lm -ldl -lpng -ljpeg)
++
+ # Check for GNUTLS library
+ option(ENABLE_GNUTLS "Enable protocol encryption and advanced authentication" ON)
+ if(ENABLE_GNUTLS)
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch
new file mode 100644
index 000000000..97b0a388a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch
@@ -0,0 +1,62 @@
+From 9563b69640227da2220ee0c39077afb736cc96d1 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 20 Jul 2017 17:12:17 +0800
+Subject: [PATCH 4/4] tigervnc: add fPIC option to COMPILE_FLAGS
+
+The static libraries in Xregion/network/rdr/rfb were linked by shared
+library libvnc.so, so we should add fPIC option to COMPILE_FLAGS to fix
+relocation issue.
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ common/Xregion/CMakeLists.txt | 1 +
+ common/network/CMakeLists.txt | 1 +
+ common/rdr/CMakeLists.txt | 1 +
+ common/rfb/CMakeLists.txt | 1 +
+ 4 files changed, 4 insertions(+)
+
+diff --git a/common/Xregion/CMakeLists.txt b/common/Xregion/CMakeLists.txt
+index 40ca97e..9411328 100644
+--- a/common/Xregion/CMakeLists.txt
++++ b/common/Xregion/CMakeLists.txt
+@@ -3,4 +3,5 @@ add_library(Xregion STATIC
+
+ if(UNIX)
+ libtool_create_control_file(Xregion)
++ set_target_properties(Xregion PROPERTIES COMPILE_FLAGS -fPIC)
+ endif()
+diff --git a/common/network/CMakeLists.txt b/common/network/CMakeLists.txt
+index b624c8e..6c06ec9 100644
+--- a/common/network/CMakeLists.txt
++++ b/common/network/CMakeLists.txt
+@@ -9,4 +9,5 @@ endif()
+
+ if(UNIX)
+ libtool_create_control_file(network)
++ set_target_properties(network PROPERTIES COMPILE_FLAGS -fPIC)
+ endif()
+diff --git a/common/rdr/CMakeLists.txt b/common/rdr/CMakeLists.txt
+index 989ba2f..20f6489 100644
+--- a/common/rdr/CMakeLists.txt
++++ b/common/rdr/CMakeLists.txt
+@@ -27,4 +27,5 @@ target_link_libraries(rdr ${RDR_LIBRARIES})
+
+ if(UNIX)
+ libtool_create_control_file(rdr)
++ set_target_properties(rdr PROPERTIES COMPILE_FLAGS -fPIC)
+ endif()
+diff --git a/common/rfb/CMakeLists.txt b/common/rfb/CMakeLists.txt
+index 5047e5e..88838ab 100644
+--- a/common/rfb/CMakeLists.txt
++++ b/common/rfb/CMakeLists.txt
+@@ -98,4 +98,5 @@ target_link_libraries(rfb ${RFB_LIBRARIES})
+
+ if(UNIX)
+ libtool_create_control_file(rfb)
++ set_target_properties(rfb PROPERTIES COMPILE_FLAGS -fPIC)
+ endif()
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0005-Remove-INITARGS-from-xserver119.patch.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0005-Remove-INITARGS-from-xserver119.patch.patch
new file mode 100644
index 000000000..2f342c683
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0005-Remove-INITARGS-from-xserver119.patch.patch
@@ -0,0 +1,27 @@
+From e4ec992984983ac9107efae1f1cc552007e4229e Mon Sep 17 00:00:00 2001
+From: Vishal Biswas <vshlbiswas@ymail.com>
+Date: Mon, 8 May 2017 11:06:11 +0530
+Subject: [PATCH] Remove INITARGS from xserver119.patch
+
+Upstream-Status: Backport
+
+---
+ unix/xserver119.patch | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/unix/xserver119.patch b/unix/xserver119.patch
+index 614f104..7adf314 100644
+--- a/unix/xserver119.patch
++++ b/unix/xserver119.patch
+@@ -66,7 +66,7 @@ diff -up xserver/mi/miinitext.c.xserver116-rebased xserver/mi/miinitext.c
+ #include "globals.h"
+
+ +#ifdef TIGERVNC
+-+extern void vncExtensionInit(INITARGS);
+++extern void vncExtensionInit(void);
+ +#endif
+ +
+ /* The following is only a small first step towards run-time
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.8.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.8.0.bb
new file mode 100644
index 000000000..469745f2a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.8.0.bb
@@ -0,0 +1,132 @@
+DESCRIPTION = "TigerVNC remote display system"
+HOMEPAGE = "http://www.tigervnc.com/"
+LICENSE = "GPLv2+"
+SECTION = "x11/utils"
+DEPENDS = "xserver-xorg gnutls jpeg libxtst gettext-native fltk"
+RDEPENDS_${PN} = "chkconfig coreutils hicolor-icon-theme"
+
+LIC_FILES_CHKSUM = "file://LICENCE.TXT;md5=75b02c2872421380bbd47781d2bd75d3"
+
+S = "${WORKDIR}/git"
+
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES = "x11"
+
+inherit autotools cmake
+B = "${S}"
+
+SRCREV = "4d6e1b8306a8cca8ad5e15ff8201f6ea24459cfd"
+
+SRC_URI = "git://github.com/TigerVNC/tigervnc.git;branch=1.8-branch \
+ file://0001-tigervnc-remove-includedir.patch \
+ file://0002-do-not-build-tests-sub-directory.patch \
+ file://0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch \
+ file://0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch \
+ file://0005-Remove-INITARGS-from-xserver119.patch.patch \
+"
+
+# Keep sync with xorg-server in oe-core
+XORG_PN ?= "xorg-server"
+XORG_PV ?= "1.19.3"
+SRC_URI += "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${XORG_PV}.tar.bz2;name=xorg"
+XORG_S = "${WORKDIR}/${XORG_PN}-${XORG_PV}"
+SRC_URI[xorg.md5sum] = "015d2fc4b9f2bfe7a626edb63a62c65e"
+SRC_URI[xorg.sha256sum] = "677a8166e03474719238dfe396ce673c4234735464d6dadf2959b600d20e5a98"
+
+# It is the directory containing the Xorg source for the
+# machine on which you are building TigerVNC.
+XSERVER_SOURCE_DIR="${S}/unix/xserver"
+
+do_patch[postfuncs] += "do_patch_xserver"
+do_patch_xserver () {
+ for subdir in Xext xkb GL hw/xquartz/bundle hw/xfree86/common; do
+ install -d ${XSERVER_SOURCE_DIR}/$subdir
+ done
+
+ for subdir in hw/dmx/doc man doc hw/dmx/doxygen; do
+ install -d ${XSERVER_SOURCE_DIR}/$subdir
+ done
+
+ sources="hw/xquartz/bundle/cpprules.in man/Xserver.man doc/smartsched \
+ hw/dmx/doxygen/doxygen.conf.in xserver.ent.in xkb/README.compiled \
+ hw/xfree86/xorgconf.cpp hw/xfree86/Xorg.sh.in"
+ for i in ${sources}; do
+ install -m 0644 ${XORG_S}/$i ${XSERVER_SOURCE_DIR}/$i;
+ done
+
+ cd ${XORG_S}
+ find . -type f | egrep '.*\.(c|h|am|ac|inc|m4|h.in|pc.in|man.pre|pl|txt)$' | \
+ xargs tar cf - | (cd ${XSERVER_SOURCE_DIR} && tar xf -)
+
+ cd ${XSERVER_SOURCE_DIR}
+ xserverpatch="${S}/unix/xserver119.patch"
+ echo "Apply $xserverpatch"
+ patch -p1 -b --suffix .vnc < $xserverpatch
+}
+
+EXTRA_OECONF = "--disable-xorg --disable-xnest --disable-xvfb --disable-dmx \
+ --disable-xwin --disable-xephyr --disable-kdrive --with-pic \
+ --disable-static --disable-xinerama \
+ --with-xkb-output=${localstatedir}/lib/xkb \
+ --disable-glx --disable-dri --disable-dri2 \
+ --disable-config-hal \
+ --disable-config-udev \
+ --without-dtrace \
+ --disable-unit-tests \
+ --disable-devel-docs \
+ --disable-selective-werror \
+ --disable-xshmfence \
+ --disable-config-udev \
+ --disable-dri3 \
+ --disable-libunwind \
+ --without-xmlto \
+ --enable-systemd-logind=no \
+ --disable-xinerama \
+ --disable-xwayland \
+"
+
+do_configure_append () {
+ olddir=`pwd`
+ cd ${XSERVER_SOURCE_DIR}
+
+ rm -rf aclocal-copy/
+ rm -f aclocal.m4
+
+ export ACLOCALDIR="${XSERVER_SOURCE_DIR}/aclocal-copy"
+ mkdir -p ${ACLOCALDIR}/
+ if [ -d ${STAGING_DATADIR_NATIVE}/aclocal ]; then
+ cp-noerror ${STAGING_DATADIR_NATIVE}/aclocal/ ${ACLOCALDIR}/
+ fi
+ if [ -d ${STAGING_DATADIR}/aclocal -a "${STAGING_DATADIR_NATIVE}/aclocal" != "${STAGING_DATADIR}/aclocal" ]; then
+ cp-noerror ${STAGING_DATADIR}/aclocal/ ${ACLOCALDIR}/
+ fi
+ ACLOCAL="aclocal --system-acdir=${ACLOCALDIR}/" autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || bbfatal "autoreconf execution failed."
+ chmod +x ./configure
+ ${CACHED_CONFIGUREVARS} ./configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
+ cd $olddir
+}
+
+do_compile_append () {
+ olddir=`pwd`
+ cd ${XSERVER_SOURCE_DIR}
+
+ oe_runmake
+
+ cd $olddir
+}
+
+do_install_append() {
+ olddir=`pwd`
+ cd ${XSERVER_SOURCE_DIR}/hw/vnc
+
+ oe_runmake 'DESTDIR=${D}' install
+
+ cd $olddir
+}
+
+FILES_${PN} += " \
+ ${libdir}/xorg/modules/extensions \
+ ${datadir}/icons \
+"
+
+FILES_${PN}-dbg += "${libdir}/xorg/modules/extensions/.debug"
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
index 502034a9c..e7c48ff6c 100644
--- 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
@@ -3,7 +3,7 @@ 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/"
+HOMEPAGE = "http://tslib.org/"
AUTHOR = "Russell King w/ plugins by Chris Larson et. al."
SECTION = "base"
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
deleted file mode 100755
index 2af669770..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/wayland/wayland-fits_git.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "Wayland-fits, the Wayland Functional Integration Test Suite"
-DESCRIPTION = "Wayland-fits is a fully automated functional integration \
-test suite. Its main purpose is to test the functionality and integration of \
-client-side (i.e. toolkit) and server-side (compositor) implementations of \
-the Wayland protocol."
-HOMEPAGE = "https://github.com/01org/wayland-fits"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f8d34cadaf891753c0f00c6cd48f08f5 \
- file://src/extensions/weston/weston-wfits.cpp;endline=21;md5=848c81e55cf3a30a9f6ed75f0dba7a97"
-
-SRC_URI = "git://github.com/01org/wayland-fits.git"
-SRCREV = "f108335e374772ae2818a30ae37fe6fcda81980f"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-DEPENDS = "libcheck boost wayland weston"
-RDEPENDS_${PN} = "weston"
-
-EXTRA_OECONF += "--enable-shared --disable-static --with-boost-libdir=${STAGING_LIBDIR}"
-
-PACKAGECONFIG ?= "gtk+3"
-
-PACKAGECONFIG[elementary] = "--enable-efl-tests,--disable-efl-tests,elementary"
-PACKAGECONFIG[gtk+3] = "--enable-gtk-tests,--disable-gtk-tests,gtk+3"
-
-do_install_append() {
- rm -f ${D}/${libdir}/weston/*.la
-}
-
-FILES_${PN} += "${bindir}/wfits ${libdir}/weston/*.so"
-FILES_${PN}-dbg += "${bindir}/.debug ${libdir}/weston/.debug ${prefix}/src"
-
-PNBLACKLIST[wayland-fits] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130632/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.0.bb
index 2e25b7d91..3885d613d 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.0.bb
@@ -6,3 +6,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d938a70c8280c265a1ccd2954365d185"
SRC_URI += "file://0001-Makefile.am-Error-Fix.patch"
SRC_URI[md5sum] = "e238c89dabc566e1835e1ecb61b605b9"
SRC_URI[sha256sum] = "551177657835e0902b5eee7b19713035beaa1581bbd3c6506baa553e751e017c"
+
+CFLAGS_append_libc-musl = " -D_WTMPX_FILE=WTMP_FILE -D_PATH_WTMPX=_PATH_WTMP -D_UTMPX_FILE=UTMP_FILE -D_PATH_UTMPX=_PATH_UTMP "
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_325.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_325.bb
deleted file mode 100644
index a627af000..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_325.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=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-app/xterm_330.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_330.bb
new file mode 100644
index 000000000..e3bb0fb6e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_330.bb
@@ -0,0 +1,29 @@
+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=f02ab9ebda87b770ecf711dbb3784a33"
+
+SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz"
+
+SRC_URI[md5sum] = "9a6db7974aa4ccbb50eabebf72618467"
+SRC_URI[sha256sum] = "7aeef9f29f6b95e09f481173c8c3053357bf5ffe162585647f690fd1707556df"
+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-input-mtev/fix-it.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-mtev/fix-it.patch
deleted file mode 100644
index 771a2a8e1..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-mtev/fix-it.patch
+++ /dev/null
@@ -1,153 +0,0 @@
-diff --git a/src/multitouch.c b/src/multitouch.c
-index c55d742..4a8192d 100644
---- a/src/multitouch.c
-+++ b/src/multitouch.c
-@@ -114,7 +114,7 @@ static int init_properties(DeviceIntPtr dev)
- return Success;
- }
-
--static int device_init(DeviceIntPtr dev, LocalDevicePtr local)
-+static int device_init(DeviceIntPtr dev, InputInfoPtr local)
- {
- struct mtev_mtouch *mt = local->private;
- Atom atom;
-@@ -222,7 +222,7 @@ static int device_init(DeviceIntPtr dev, LocalDevicePtr local)
- xf86InitValuatorAxisStruct(dev, val, axes_labels[val],
- min,
- max,
-- 1, 0, 1);
-+ 1, 0, 1,Absolute);
- xf86InitValuatorDefaults(dev, val);
- }
- }
-@@ -232,7 +232,7 @@ static int device_init(DeviceIntPtr dev, LocalDevicePtr local)
- return Success;
- }
-
--static int device_on(LocalDevicePtr local)
-+static int device_on(InputInfoPtr local)
- {
- struct mtev_mtouch *mt = local->private;
- local->fd = xf86OpenSerial(local->options);
-@@ -248,7 +248,7 @@ static int device_on(LocalDevicePtr local)
- return Success;
- }
-
--static int device_off(LocalDevicePtr local)
-+static int device_off(InputInfoPtr local)
- {
- struct mtev_mtouch *mt = local->private;
- xf86RemoveEnabledDevice(local);
-@@ -259,12 +259,12 @@ static int device_off(LocalDevicePtr local)
- return Success;
- }
-
--static int device_close(LocalDevicePtr local)
-+static int device_close(InputInfoPtr local)
- {
- return Success;
- }
-
--static void process_state(LocalDevicePtr local,
-+static void process_state(InputInfoPtr local,
- const struct mtev_mtouch *mt)
- {
-
-@@ -321,22 +321,22 @@ static void process_state(LocalDevicePtr local,
- }
-
- /* Some x-clients assume they get motion events before button down */
-+ xf86Msg(X_INFO,"down %d|pdown %d\n", down, pdown);
- if (down)
- xf86PostMotionEventP(local->dev, TRUE,
- 0, down * MT_AXIS_PER_FINGER, valuators);
--
- if(down && pdown == 0)
- xf86PostButtonEventP(local->dev, TRUE,
- 1, 1,
- 0, down * MT_AXIS_PER_FINGER, valuators);
-- else if (down == 0 && pdown)
-- xf86PostButtonEvent(local->dev, TRUE, 1, 0, 0, 0);
--
-+ else if (down == 0 && pdown){
-+ xf86PostButtonEvent(local->dev, TRUE, 1, 1, 0, 0);
-+ }
- pdown = !!down;
- }
-
- /* called for each full received packet from the touchpad */
--static void read_input(LocalDevicePtr local)
-+static void read_input(InputInfoPtr local)
- {
- struct mtev_mtouch *mt = local->private;
- while (mtouch_read_synchronized_event(mt, local->fd)) {
-@@ -346,7 +346,7 @@ static void read_input(LocalDevicePtr local)
-
- static Bool device_control(DeviceIntPtr dev, int mode)
- {
-- LocalDevicePtr local = dev->public.devicePrivate;
-+ InputInfoPtr local = dev->public.devicePrivate;
- switch (mode) {
- case DEVICE_INIT:
- xf86Msg(X_INFO, "device control: init\n");
-@@ -366,39 +366,29 @@ static Bool device_control(DeviceIntPtr dev, int mode)
- }
- }
-
--static InputInfoPtr preinit(InputDriverPtr drv, IDevPtr dev, int flags)
-+static InputInfoPtr preinit(InputDriverPtr drv, InputInfoPtr pInfo, int flags)
- {
- struct mtev_mtouch *mt;
-- InputInfoPtr local = xf86AllocateInput(drv, 0);
-- if (!local)
-- goto error;
-+ int rc;
-+
- mt = calloc(1, sizeof(struct mtev_mtouch));
-+
- if (!mt)
- goto error;
-
-- local->name = dev->identifier;
-- local->type_name = XI_TOUCHSCREEN;
-- local->device_control = device_control;
-- local->read_input = read_input;
-- local->private = mt;
-- local->flags = XI86_POINTER_CAPABLE |
-- XI86_SEND_DRAG_EVENTS;
--
-- local->conf_idev = dev;
--
-- xf86CollectInputOptions(local, NULL, NULL);
-- //xf86OptionListReport(local->options);
-- xf86ProcessCommonOptions(local, local->options);
-+ pInfo->private = mt;
-+ pInfo->type_name = "UNKNOWN";
-+ pInfo->device_control = device_control;
-+ pInfo->read_input = read_input;
-
-+ mt->swap_xy = xf86SetBoolOption(pInfo->options, "SwapAxes", FALSE);
-+ mt->invert_x = xf86SetBoolOption(pInfo->options, "InvertX", FALSE);
-+ mt->invert_y = xf86SetBoolOption(pInfo->options, "InvertY", FALSE);
-
-- mt->swap_xy = xf86SetBoolOption(local->options, "SwapAxes", FALSE);
-- mt->invert_x = xf86SetBoolOption(local->options, "InvertX", FALSE);
-- mt->invert_y = xf86SetBoolOption(local->options, "InvertY", FALSE);
--
-- local->flags |= XI86_CONFIGURED;
-+ return Success;
-
- error:
-- return local;
-+ return !Success;
- }
-
- static void uninit(InputDriverPtr drv, InputInfoPtr local, int flags)
-@@ -415,7 +405,6 @@ static InputDriverRec MTEV = {
- .PreInit = preinit,
- .UnInit = uninit,
- .module = NULL,
-- .refCount = 0
- };
-
- static XF86ModuleVersionInfo VERSION = {
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-mtev_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-mtev_git.bb
deleted file mode 100644
index 5f2adec1a..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-mtev_git.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-require recipes-graphics/xorg-driver/xorg-driver-input.inc
-SUMMARY = "X.Org X server -- multitouch input driver"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8a71d0475d08eee76d8b6d0c6dbec543"
-
-DEPENDS += "pixman"
-
-PNBLACKLIST[xf86-input-mtev] ?= "BROKEN: doesn't build with B!=S (Makefile without ${S} in sed call) - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-SRC_URI = "git://gitorious.org/xorg/xf86-input-mtev.git file://fix-it.patch"
-SRCREV = "1eb469166ffc095c5801475f057f911f97a6e641"
-S = "${WORKDIR}/git"
-PV = "1.0.0+gitr${SRCPV}"
-PR = "${INC_PR}.0"
-
-EXTRA_OEMAKE = "'INCLUDE=-I${STAGING_INCDIR}/xorg -I${STAGING_INCDIR}/pixman-1'"
-
-#skip xorg-driver-common.inc AC_CHECK_FILE mangling
-do_configure_prepend () {
- sed 's#gcc#${CC}#g' -i Makefile
- return
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_7.8.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_7.8.0.bb
index a1010087c..d409a1863 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_7.8.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_7.8.0.bb
@@ -9,6 +9,9 @@ DESCRIPTION = "Open-source X.org graphics driver for ATI Radeon graphics"
DEPENDS += "virtual/libx11 libxvmc drm xf86driproto glproto \
virtual/libgl xineramaproto libpciaccess"
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES += "opengl"
+
COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
SRC_URI[md5sum] = "f34d04a755e761e03b459155fa3ddcbb"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode/0001-Add-config.h-include-to-src-lx_memory.c.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode/0001-Add-config.h-include-to-src-lx_memory.c.patch
deleted file mode 100644
index fcd2f684b..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode/0001-Add-config.h-include-to-src-lx_memory.c.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 621d946e56efac2c779b83b1a5c6b645169c4ebd Mon Sep 17 00:00:00 2001
-From: "Brian A. Lloyd" <brian.lloyd@familyhonor.net>
-Date: Wed, 1 Oct 2014 12:35:18 +0300
-Subject: [PATCH] Add config.h include to src/lx_memory.c
-
-The src/lx_memory.c file uses the xf86.h header file. This file must have
-HAVE_STRNDUP defined before calling it when the building platform has a strndup
-function. When using config.h, this file doesn't have that define and so fails
-to compile.
-
-The attached patch adds the conditional config.h to this file so it may compile
-on the affected platforms.
-
-The patch is trivial and may be included and used under whatever licensing
-desired.
-
-Closes: Free Desktop Bug #84541
-
-Signed-off-by: Brian A. Lloyd <brian.lloyd@familyhonor.net>
-Upstream-Status: Backport
----
- src/lx_memory.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/src/lx_memory.c b/src/lx_memory.c
-index f26d280..992446f 100644
---- a/src/lx_memory.c
-+++ b/src/lx_memory.c
-@@ -22,6 +22,9 @@
- * contributors may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- */
-+#if HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-
- #include "xf86.h"
- #include "geode.h"
---
-2.1.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode_2.11.16.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode_2.11.16.bb
deleted file mode 100644
index e543413ad..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode_2.11.16.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require recipes-graphics/xorg-driver/xorg-driver-video.inc
-LIC_FILES_CHKSUM = "file://COPYING;md5=e7f3e39474aeea5af381a8e103dafc36"
-
-SUMMARY = "X.org server -- Geode GX2/LX display driver"
-PR = "${INC_PR}.0"
-
-SRC_URI += "file://0001-Add-config.h-include-to-src-lx_memory.c.patch"
-SRC_URI[md5sum] = "35fa387f6a33f6b22a56ce4bda424392"
-SRC_URI[sha256sum] = "38fc1f55e29fb7985b90c9021a4b7e5295d42888bd669174f42f3b7f681fc1a7"
-
-COMPATIBLE_HOST = "i.86.*-linux"
-
-RDEPENDS_${PN} += "xserver-xorg-module-exa"
-
-# 2_2.11.16-r21.0/xf86-video-geode-2.11.16/src/gx_driver.c:376:20: error: implicit declaration of function 'xf86MapVidMem' [-Werror=implicit-function-declaration]
-PNBLACKLIST[xf86-video-geode] ?= "BROKEN, fails to build - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0001-fix-build-with-KMS-disabled.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0001-fix-build-with-KMS-disabled.patch
deleted file mode 100644
index 25e83209d..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0001-fix-build-with-KMS-disabled.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From f485e878bc8bb0e381a38a30009308c82fa8d672 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Thu, 16 Aug 2012 08:18:56 +0200
-Subject: [PATCH] fix build with KMS disabled
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- src/glamo.h | 3 +++
- 1 files changed, 3 insertions(+), 0 deletions(-)
-
-diff --git a/src/glamo.h b/src/glamo.h
-index d4a2f19..5fd5c04 100644
---- a/src/glamo.h
-+++ b/src/glamo.h
-@@ -37,8 +37,11 @@
- #include "xf86.h"
- #include "exa.h"
- #include <linux/fb.h>
-+
-+#ifdef HAVE_KMS
- #include <libdrm/drm.h>
- #include <libdrm/glamo_bo.h>
-+#endif
-
- #define GLAMO_REG_BASE(c) ((c)->attr.address[0])
- #define GLAMO_REG_SIZE(c) (0x2400)
---
-1.7.8.6
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0001-glamo-driver-remove-references-to-mibstore.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0001-glamo-driver-remove-references-to-mibstore.patch
deleted file mode 100644
index fab0b238f..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0001-glamo-driver-remove-references-to-mibstore.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 040ade8bb86a771fa4e71b41d2080254830ca9f3 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sat, 16 Mar 2013 17:44:37 +0100
-Subject: [PATCH] glamo*driver: remove references to mibstore
-
-* fix build with xserver-1.14
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- src/glamo-driver.c | 2 --
- src/glamo-kms-driver.c | 1 -
- 2 files changed, 3 deletions(-)
-
-diff --git a/src/glamo-driver.c b/src/glamo-driver.c
-index 10b7762..22f57d7 100644
---- a/src/glamo-driver.c
-+++ b/src/glamo-driver.c
-@@ -14,7 +14,6 @@
- #include "xf86_OSproc.h"
-
- #include "mipointer.h"
--#include "mibstore.h"
- #include "micmap.h"
- #include "colormapst.h"
- #include "xf86cmap.h"
-@@ -612,7 +611,6 @@ GlamoScreenInit(SCREEN_INIT_ARGS_DECL)
- }
-
- xf86SetBlackWhitePixels(pScreen);
-- miInitializeBackingStore(pScreen);
- xf86SetBackingStore(pScreen);
-
- /* software cursor */
-diff --git a/src/glamo-kms-driver.c b/src/glamo-kms-driver.c
-index c5c7a00..f192398 100644
---- a/src/glamo-kms-driver.c
-+++ b/src/glamo-kms-driver.c
-@@ -415,7 +415,6 @@ Bool GlamoKMSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc,
-
- GlamoKMSExaInit(pScrn);
-
-- miInitializeBackingStore(pScreen);
- xf86SetBackingStore(pScreen);
- xf86SetSilkenMouse(pScreen);
- miDCInitialize(pScreen, xf86GetPointerScreenFuncs());
---
-1.8.1.5
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0001-glamo-kms-driver-drop-unused-xf86_config.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0001-glamo-kms-driver-drop-unused-xf86_config.patch
deleted file mode 100644
index 0d6374363..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0001-glamo-kms-driver-drop-unused-xf86_config.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 963c221aa01be2ea99d39578d91e4aa08ec3ab0a Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Mon, 23 May 2011 14:29:38 +0200
-Subject: [PATCH] glamo-kms-driver: drop unused xf86_config
-
-* gcc-4.6 doesn't like unused variables which are only set and never read
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- src/glamo-kms-driver.c | 2 --
- 1 files changed, 0 insertions(+), 2 deletions(-)
-
-diff --git a/src/glamo-kms-driver.c b/src/glamo-kms-driver.c
-index ce87caa..c5c7a00 100644
---- a/src/glamo-kms-driver.c
-+++ b/src/glamo-kms-driver.c
-@@ -208,7 +208,6 @@ static const xf86CrtcConfigFuncsRec crtc_config_funcs = {
-
- Bool GlamoKMSPreInit(ScrnInfoPtr pScrn, int flags)
- {
-- xf86CrtcConfigPtr xf86_config;
- GlamoPtr pGlamo;
- rgb defaultWeight = { 0, 0, 0 };
- int max_width, max_height;
-@@ -254,7 +253,6 @@ Bool GlamoKMSPreInit(ScrnInfoPtr pScrn, int flags)
-
- /* Allocate an xf86CrtcConfig */
- xf86CrtcConfigInit(pScrn, &crtc_config_funcs);
-- xf86_config = XF86_CRTC_CONFIG_PTR(pScrn);
-
- max_width = 480;
- max_height = 640;
---
-1.7.5.rc3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0003-glamo-driver-adapt-to-xserver-0.13-video-API.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0003-glamo-driver-adapt-to-xserver-0.13-video-API.patch
deleted file mode 100644
index cbdc6e762..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0003-glamo-driver-adapt-to-xserver-0.13-video-API.patch
+++ /dev/null
@@ -1,279 +0,0 @@
-From 57e8944e3cced03b9526bd075649d74d97c24899 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Tue, 20 Nov 2012 22:18:23 +0100
-Subject: [PATCH 3/3] glamo-driver: adapt to xserver-0.13 video API
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- src/compat-api.h | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
- src/glamo-driver.c | 43 ++++++++++++------------
- 2 files changed, 118 insertions(+), 21 deletions(-)
- create mode 100644 src/compat-api.h
-
-diff --git a/src/compat-api.h b/src/compat-api.h
-new file mode 100644
-index 0000000..b1591b1
---- /dev/null
-+++ b/src/compat-api.h
-@@ -0,0 +1,96 @@
-+/*
-+ * Copyright 2012 Red Hat, Inc.
-+ *
-+ * Permission is hereby granted, free of charge, to any person obtaining a
-+ * copy of this software and associated documentation files (the "Software"),
-+ * to deal in the Software without restriction, including without limitation
-+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
-+ * and/or sell copies of the Software, and to permit persons to whom the
-+ * Software is furnished to do so, subject to the following conditions:
-+ *
-+ * The above copyright notice and this permission notice (including the next
-+ * paragraph) shall be included in all copies or substantial portions of the
-+ * Software.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-+ * DEALINGS IN THE SOFTWARE.
-+ *
-+ * Author: Dave Airlie <airlied@redhat.com>
-+ */
-+
-+/* this file provides API compat between server post 1.13 and pre it,
-+ it should be reused inside as many drivers as possible */
-+#ifndef COMPAT_API_H
-+#define COMPAT_API_H
-+
-+#ifndef GLYPH_HAS_GLYPH_PICTURE_ACCESSOR
-+#define GetGlyphPicture(g, s) GlyphPicture((g))[(s)->myNum]
-+#define SetGlyphPicture(g, s, p) GlyphPicture((g))[(s)->myNum] = p
-+#endif
-+
-+#ifndef XF86_HAS_SCRN_CONV
-+#define xf86ScreenToScrn(s) xf86Screens[(s)->myNum]
-+#define xf86ScrnToScreen(s) screenInfo.screens[(s)->scrnIndex]
-+#endif
-+
-+#ifndef XF86_SCRN_INTERFACE
-+
-+#define SCRN_ARG_TYPE int
-+#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = xf86Screens[(arg1)]
-+
-+#define SCREEN_ARG_TYPE int
-+#define SCREEN_PTR(arg1) ScreenPtr pScreen = screenInfo.screens[(arg1)]
-+
-+#define SCREEN_INIT_ARGS_DECL int index, ScreenPtr pScreen, int argc, char **argv
-+
-+#define BLOCKHANDLER_ARGS_DECL int arg, pointer blockData, pointer pTimeout, pointer pReadmask
-+#define BLOCKHANDLER_ARGS arg, blockData, pTimeout, pReadmask
-+
-+#define CLOSE_SCREEN_ARGS_DECL int scrnIndex, ScreenPtr pScreen
-+#define CLOSE_SCREEN_ARGS scrnIndex, pScreen
-+
-+#define ADJUST_FRAME_ARGS_DECL int arg, int x, int y, int flags
-+
-+#define SWITCH_MODE_ARGS_DECL int arg, DisplayModePtr mode, int flags
-+
-+#define FREE_SCREEN_ARGS_DECL int arg, int flags
-+#define FREE_SCREEN_ARGS(x) (x)->scrnIndex, 0
-+
-+#define VT_FUNC_ARGS_DECL int arg, int flags
-+#define VT_FUNC_ARGS(flags) pScrn->scrnIndex, (flags)
-+
-+#define XF86_ENABLEDISABLEFB_ARG(x) ((x)->scrnIndex)
-+#else
-+#define SCRN_ARG_TYPE ScrnInfoPtr
-+#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = (arg1)
-+
-+#define SCREEN_ARG_TYPE ScreenPtr
-+#define SCREEN_PTR(arg1) ScreenPtr pScreen = (arg1)
-+
-+#define SCREEN_INIT_ARGS_DECL ScreenPtr pScreen, int argc, char **argv
-+
-+#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout, pointer pReadmask
-+#define BLOCKHANDLER_ARGS arg, pTimeout, pReadmask
-+
-+#define CLOSE_SCREEN_ARGS_DECL ScreenPtr pScreen
-+#define CLOSE_SCREEN_ARGS pScreen
-+
-+#define ADJUST_FRAME_ARGS_DECL ScrnInfoPtr arg, int x, int y
-+#define SWITCH_MODE_ARGS_DECL ScrnInfoPtr arg, DisplayModePtr mode
-+
-+#define FREE_SCREEN_ARGS_DECL ScrnInfoPtr arg
-+#define FREE_SCREEN_ARGS(x) (x)
-+
-+#define VT_FUNC_ARGS_DECL ScrnInfoPtr arg
-+#define VT_FUNC_ARGS(flags) pScrn
-+
-+#define XF86_ENABLEDISABLEFB_ARG(x) (x)
-+
-+#endif
-+
-+#endif
-diff --git a/src/glamo-driver.c b/src/glamo-driver.c
-index b13caae..10b7762 100644
---- a/src/glamo-driver.c
-+++ b/src/glamo-driver.c
-@@ -43,6 +43,7 @@
-
- #include <sys/mman.h>
-
-+#include "compat-api.h"
-
- static Bool debug = 0;
-
-@@ -68,10 +69,10 @@ static Bool
- GlamoPreInit(ScrnInfoPtr pScrn, int flags);
-
- static Bool
--GlamoScreenInit(int Index, ScreenPtr pScreen, int argc, char **argv);
-+GlamoScreenInit(SCREEN_INIT_ARGS_DECL);
-
- static Bool
--GlamoCloseScreen(int scrnIndex, ScreenPtr pScreen);
-+GlamoCloseScreen(CLOSE_SCREEN_ARGS_DECL);
-
- static Bool
- GlamoCrtcResize(ScrnInfoPtr scrn, int width, int height);
-@@ -86,10 +87,10 @@ static void
- GlamoRestoreHW(ScrnInfoPtr pScren);
-
- static Bool
--GlamoEnterVT(int scrnIndex, int flags);
-+GlamoEnterVT(VT_FUNC_ARGS_DECL);
-
- static void
--GlamoLeaveVT(int scrnIndex, int flags);
-+GlamoLeaveVT(VT_FUNC_ARGS_DECL);
-
- static void
- GlamoLoadColormap(ScrnInfoPtr pScrn, int numColors, int *indices,
-@@ -248,8 +249,8 @@ GlamoUnmapMMIO(ScrnInfoPtr pScrn) {
- }
-
- static Bool
--GlamoSwitchMode(int scrnIndex, DisplayModePtr mode, int flags) {
-- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
-+GlamoSwitchMode(SWITCH_MODE_ARGS_DECL) {
-+ SCRN_INFO_PTR(arg);
- xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR (pScrn);
- xf86OutputPtr output = config->output[config->compat_output];
- Rotation rotation;
-@@ -286,7 +287,7 @@ GlamoFbdevProbe(DriverPtr drv, GDevPtr *devSections, int numDevSections)
-
- for (i = 0; i < numDevSections; i++) {
-
-- dev = xf86FindOptionValue(devSections[i]->options, "Device");
-+ dev = (char *) xf86FindOptionValue(devSections[i]->options, "Device");
- if (fbdevHWProbe(NULL, dev, NULL)) {
- int entity;
- pScrn = NULL;
-@@ -430,7 +431,7 @@ GlamoPreInit(ScrnInfoPtr pScrn, int flags)
-
- pGlamo->pEnt = xf86GetEntityInfo(pScrn->entityList[0]);
-
-- fb_device = xf86FindOptionValue(pGlamo->pEnt->device->options, "Device");
-+ fb_device = (char *) xf86FindOptionValue(pGlamo->pEnt->device->options, "Device");
-
- /* open device */
- if (!fbdevHWInit(pScrn, NULL, fb_device))
-@@ -523,7 +524,7 @@ GlamoPreInit(ScrnInfoPtr pScrn, int flags)
-
-
- static Bool
--GlamoScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
-+GlamoScreenInit(SCREEN_INIT_ARGS_DECL)
- {
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
- GlamoPtr pGlamo = GlamoPTR(pScrn);
-@@ -545,7 +546,7 @@ GlamoScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
- #endif
-
- if (NULL == (pGlamo->fbmem = fbdevHWMapVidmem(pScrn))) {
-- xf86DrvMsg(scrnIndex, X_ERROR, "mapping of video memory failed\n");
-+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "mapping of video memory failed\n");
- return FALSE;
- }
-
-@@ -556,13 +557,13 @@ GlamoScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
- /* mi layer */
- miClearVisualTypes();
- if (!miSetVisualTypes(pScrn->depth, TrueColorMask, pScrn->rgbBits, TrueColor)) {
-- xf86DrvMsg(scrnIndex, X_ERROR,
-+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
- "visual type setup failed for %d bits per pixel [1]\n",
- pScrn->bitsPerPixel);
- return FALSE;
- }
- if (!miSetPixmapDepths()) {
-- xf86DrvMsg(scrnIndex, X_ERROR, "pixmap depth setup failed\n");
-+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "pixmap depth setup failed\n");
- return FALSE;
- }
-
-@@ -617,7 +618,7 @@ GlamoScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
- /* software cursor */
- miDCInitialize(pScreen, xf86GetPointerScreenFuncs());
-
-- GlamoEnterVT(scrnIndex, 0);
-+ GlamoEnterVT(VT_FUNC_ARGS(0));
-
- xf86CrtcScreenInit(pScreen);
- #if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,5,0,0,0)
-@@ -627,7 +628,7 @@ GlamoScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
- /* colormap */
- pGlamo->colormap = NULL;
- if (!miCreateDefColormap(pScreen)) {
-- xf86DrvMsg(scrnIndex, X_ERROR,
-+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
- "internal error: miCreateDefColormap failed "
- "in GlamoScreenInit()\n");
- return FALSE;
-@@ -652,9 +653,9 @@ GlamoScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
- }
-
- static Bool
--GlamoCloseScreen(int scrnIndex, ScreenPtr pScreen)
-+GlamoCloseScreen(CLOSE_SCREEN_ARGS_DECL)
- {
-- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
-+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
- GlamoPtr pGlamo = GlamoPTR(pScrn);
-
- if (pGlamo->accel)
-@@ -675,7 +676,7 @@ GlamoCloseScreen(int scrnIndex, ScreenPtr pScreen)
-
- pScreen->CreateScreenResources = pGlamo->CreateScreenResources;
- pScreen->CloseScreen = pGlamo->CloseScreen;
-- return (*pScreen->CloseScreen)(scrnIndex, pScreen);
-+ return (*pScreen->CloseScreen)(CLOSE_SCREEN_ARGS);
- }
-
- static Bool
-@@ -826,8 +827,8 @@ GlamoRestoreHW(ScrnInfoPtr pScrn) {
- }
-
- static Bool
--GlamoEnterVT(int scrnIndex, int flags) {
-- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
-+GlamoEnterVT(VT_FUNC_ARGS_DECL) {
-+ SCRN_INFO_PTR(arg);
- GlamoPtr pGlamo = GlamoPTR(pScrn);
-
- GlamoSaveHW(pScrn);
-@@ -842,8 +843,8 @@ GlamoEnterVT(int scrnIndex, int flags) {
- }
-
- static void
--GlamoLeaveVT(int scrnIndex, int flags) {
-- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
-+GlamoLeaveVT(VT_FUNC_ARGS_DECL) {
-+ SCRN_INFO_PTR(arg);
- GlamoPtr pGlamo = GlamoPTR(pScrn);
-
- if (pGlamo->accel)
---
-1.8.0
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0004-glamo.h-use-const-for-jbt6k74_state_path.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0004-glamo.h-use-const-for-jbt6k74_state_path.patch
deleted file mode 100644
index a82037109..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0004-glamo.h-use-const-for-jbt6k74_state_path.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 180a00634f351a09ceabc5695d8e1acc3e585501 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Fri, 12 Dec 2014 12:00:10 +0100
-Subject: [PATCH] glamo.h: use const for jbt6k74_state_path
-
-* fix build issue with xserver 1.16:
- glamo-driver.c:501:32: error: assignment discards 'const' qualifier from pointer target type [-Werror]
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- src/glamo.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/glamo.h b/src/glamo.h
-index 5fd5c04..5e072be 100644
---- a/src/glamo.h
-+++ b/src/glamo.h
-@@ -148,7 +148,7 @@ typedef struct {
- #endif
-
- #ifdef JBT6K74_SET_STATE
-- char *jbt6k74_state_path;
-+ const char *jbt6k74_state_path;
- char saved_jbt6k74_state[14];
- #endif
-
---
-2.1.3
-
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
deleted file mode 100644
index 5818d0cc9..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-require recipes-graphics/xorg-driver/xorg-driver-video.inc
-SUMMARY = "X.Org X server -- Glamo display driver with KMS support"
-DEPENDS += "libdrm"
-RDEPENDS_${PN} += "xserver-xorg-module-exa"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=d8cbd99fff773f92e844948f74ef0df8"
-
-PE = "2"
-PV = "1.0.0+gitr${SRCPV}"
-PR = "${INC_PR}.4"
-
-SRC_URI = "git://git.openmoko.org/git/xf86-video-glamo.git;branch=master \
- 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://0004-glamo.h-use-const-for-jbt6k74_state_path.patch \
-"
-
-S = "${WORKDIR}/git"
-SRCREV = "cb9ed17035a79e49dde26a1e7e2bc5f10fd8144b"
-
-EXTRA_OECONF = " --disable-kms "
-
-PNBLACKLIST[xf86-video-glamo] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130629/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga/checkfile.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga/checkfile.patch
new file mode 100644
index 000000000..ceae6dfba
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga/checkfile.patch
@@ -0,0 +1,68 @@
+Upstream-Status: Submitted [https://bugs.freedesktop.org/show_bug.cgi?id=57606]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From c9014a8f3c9b691b5aa7b1f3ec66cf7c84b8211b Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Thu, 29 Nov 2012 11:00:43 +0000
+Subject: [PATCH] build: dont use AC_CHECK_FILE when enabling DRI
+
+Automatically enabling or disabling a feature based on installed files isn't
+deterministic, and AC_CHECK_FILE returns an error when cross-compiling.
+
+Fix this by enabling DRI by default, and removing the explicit file checks as
+pkg-config is good enough.
+
+(#57606)
+
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+---
+ configure.ac | 25 ++-----------------------
+ 1 file changed, 2 insertions(+), 23 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index fca1a9c..d2aa2ed 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -55,9 +55,9 @@ AC_ARG_WITH(xorg-module-dir,
+ [moduledir="$libdir/xorg/modules"])
+
+ AC_ARG_ENABLE(dri, AS_HELP_STRING([--disable-dri],
+- [Disable DRI support [[default=auto]]]),
++ [Disable DRI support [[default=enabled]]]),
+ [DRI="$enableval"],
+- [DRI=auto])
++ [DRI=yes])
+ AC_ARG_ENABLE(exa,
+ AS_HELP_STRING([--disable-exa],
+ [Disable EXA support [[default=enabled]]]),
+@@ -76,27 +76,6 @@ sdkdir=`$PKG_CONFIG --variable=sdkdir xorg-server`
+
+ # Checks for libraries.
+
+-if test "x$DRI" != xno; then
+- AC_CHECK_FILE([${sdkdir}/dri.h],
+- [have_dri_h="yes"], [have_dri_h="no"])
+- AC_CHECK_FILE([${sdkdir}/sarea.h],
+- [have_sarea_h="yes"], [have_sarea_h="no"])
+- AC_CHECK_FILE([${sdkdir}/dristruct.h],
+- [have_dristruct_h="yes"], [have_dristruct_h="no"])
+-fi
+-
+-AC_MSG_CHECKING([whether to include DRI support])
+-if test "x$DRI" = xauto; then
+- if test "x$have_dri_h" = xyes && \
+- test "x$have_sarea_h" = xyes && \
+- test "x$have_dristruct_h" = xyes; then
+- DRI="yes"
+- else
+- DRI="no"
+- fi
+-fi
+-AC_MSG_RESULT([$DRI])
+-
+ AM_CONDITIONAL(DRI, test "x$DRI" = xyes)
+ if test "x$DRI" = xyes; then
+ PKG_CHECK_MODULES(DRI, [libdrm >= 2.0 xf86driproto])
+--
+1.7.10.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_1.6.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_1.6.5.bb
new file mode 100644
index 000000000..cd680597c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_1.6.5.bb
@@ -0,0 +1,21 @@
+require recipes-graphics/xorg-driver/xorg-driver-video.inc
+
+SUMMARY = "X.Org X server -- Matrox MGA display driver"
+
+DESCRIPTION = "mga is an Xorg driver for Matrox video cards"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=bc1395d2cd32dfc5d6c57d2d8f83d3fc"
+
+SRC_URI += "file://checkfile.patch"
+
+DEPENDS += "virtual/libx11 libpciaccess"
+
+COMPATIBLE_HOST = '(i.86.*-linux|x86_64.*-linux)'
+
+SRC_URI[md5sum] = "3ee2549247e01de3e7bce52c27483118"
+SRC_URI[sha256sum] = "b663cd8e6364f7c4e2637b9fcab9861d0e3971518c73b00d213f6545a1289422"
+
+PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri', '', d)}"
+PACKAGECONFIG[dri] = "--enable-dri,--disable-dri,drm xf86driproto,xserver-xorg-extension-dri"
+
+RDEPENDS_${PN} = "xserver-xorg-module-exa"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.12.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.12.bb
deleted file mode 100644
index 444189a89..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.12.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-require recipes-graphics/xorg-driver/xorg-driver-video.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94"
-
-SUMMARY = "X.Org X server -- nouveau video driver"
-
-DESCRIPTION = "Open-source X.org graphics driver for NVIDIA graphics"
-
-DEPENDS += "virtual/libx11 libxvmc drm xf86driproto glproto \
- virtual/libgl xineramaproto libpciaccess"
-RDEPENDS_${PN} += "xserver-xorg-module-exa"
-
-COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
-
-SRC_URI[md5sum] = "dc79910c7b9e32321cefc7af250c7765"
-SRC_URI[sha256sum] = "0ea057ad7fc31caba2d4e46c7e418fe2b3c762b04fb8d382f53383397fd8391e"
-
-
-PNBLACKLIST[xf86-video-nouveau] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130657/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.15.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.15.bb
new file mode 100644
index 000000000..2746821cd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.15.bb
@@ -0,0 +1,20 @@
+require recipes-graphics/xorg-driver/xorg-driver-video.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94"
+
+SUMMARY = "X.Org X server -- nouveau video driver"
+
+DESCRIPTION = "Open-source X.org graphics driver for NVIDIA graphics"
+
+DEPENDS += "virtual/libx11 libxvmc drm xf86driproto glproto \
+ virtual/libgl xineramaproto libpciaccess"
+RDEPENDS_${PN} += "xserver-xorg-module-exa"
+
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES += "opengl"
+
+COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
+
+SRC_URI[md5sum] = "717203cb87029cddcbccf7398f9ad8c3"
+SRC_URI[sha256sum] = "aede10fd395610a328697adca3434fb14e9afbd79911d6c8545cfa2c0e541d4c"
+
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 fcf68262c..45e3f7b59 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
@@ -12,13 +12,3 @@ RDEPENDS_${PN} = "\
font-bh-lucidatypewriter-100dpi \
font-bitstream-100dpi \
"
-
-PNBLACKLIST[xorg-fonts-100dpi] ?= "Runtime depends on blacklisted font-adobe-100dpi - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[xorg-fonts-100dpi] ?= "Runtime depends on blacklisted xorg-fonts-100dpi - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[xorg-fonts-100dpi] ?= "Runtime depends on blacklisted font-bh-100dpi - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[xorg-fonts-100dpi] ?= "Runtime depends on blacklisted font-adobe-utopia-100dpi - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[xorg-fonts-100dpi] ?= "Runtime depends on blacklisted font-bh-lucidatypewriter-100dpi - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/agent-proxy/agent-proxy_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-kernel/agent-proxy/agent-proxy_git.bb
new file mode 100644
index 000000000..8e370f962
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/agent-proxy/agent-proxy_git.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Proxy for UDP/TCP debug connections"
+DESCRIPTION = "The agent-proxy will forward tcp or udp connections as well as allow for script multiplexing of terminal sessions."
+HOMEPAGE = "http://kgdb.wiki.kernel.org/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
+
+SECTION = "devel"
+
+EXTRA_OEMAKE = "'CC=${CC}'"
+
+SRCREV = "e6c9d3d996bd55e7ab14dbd74deb7841e0c3a4f1"
+PV = "1.96+git${SRCPV}"
+
+SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/kgdb/agent-proxy.git;protocol=git \
+ file://0001-Makefile-Add-LDFLAGS-variable.patch \
+"
+
+BBCLASSEXTEND = "native nativesdk"
+
+S = "${WORKDIR}/git"
+
+do_install () {
+ install -d ${D}${bindir}
+ install -m 0755 agent-proxy ${D}${bindir}
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/agent-proxy/files/0001-Makefile-Add-LDFLAGS-variable.patch b/import-layers/meta-openembedded/meta-oe/recipes-kernel/agent-proxy/files/0001-Makefile-Add-LDFLAGS-variable.patch
new file mode 100644
index 000000000..5eec91d72
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/agent-proxy/files/0001-Makefile-Add-LDFLAGS-variable.patch
@@ -0,0 +1,43 @@
+From 1beb0dad6f8b99eb3bf1b9982e0b49e81ff77bbc Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Wed, 23 Nov 2016 19:17:31 +0800
+Subject: [PATCH] Makefile: Add LDFLAGS variable
+
+Add LDFLAGS variable to make sure the extra linkder
+flags can be passed.
+
+Upstream-Status: Pending
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ Makefile | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index e20918f..25d92d3 100644
+--- a/Makefile
++++ b/Makefile
+@@ -51,7 +51,7 @@ $(CROSS_COMPILE)agent-proxy: $(OBJS)
+ $(CC) -DAGENT_VER=$(AGENTVER) $(LINKFLAGS) $(CFLAGS) -o $(extpath)$@ $(OBJS) wsock32.lib
+ else
+ $(CROSS_COMPILE)agent-proxy: $(OBJS)
+- $(CC) -DAGENT_VER=$(AGENTVER) $(CFLAGS) -o $(extpath)$@ $(OBJS) $(LDLIBS)
++ $(CC) -DAGENT_VER=$(AGENTVER) $(CFLAGS) $(LDFLAGS) -o $(extpath)$@ $(OBJS) $(LDLIBS)
+ endif
+
+
+@@ -61,9 +61,9 @@ clean:
+ rm -f $(extpath)$(CROSS_COMPILE)agent-proxy $(extpath)agent-proxy $(extpath)*.o $(extpath)*.obj $(extpath)*.exp $(extpath)*.exe $(extpath)*.ilk $(extpath)*.pdb *~
+
+ $(extpath)$(CROSS_COMPILE)%.o::%.c
+- $(CC) -DAGENT_VER=$(AGENTVER) $(CFLAGS) -c $< -o $@
++ $(CC) -DAGENT_VER=$(AGENTVER) $(CFLAGS) $(LDFLAGS) -c $< -o $@
+
+ $(extpath)%.obj:%.c
+- $(CC) -DAGENT_VER=$(AGENTVER) $(CFLAGS) -c -Fo$@ $(TLSPATH_INC) $<
++ $(CC) -DAGENT_VER=$(AGENTVER) $(CFLAGS) $(LDFLAGS) -c -Fo$@ $(TLSPATH_INC) $<
+
+
+--
+2.8.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/cpupower/cpupower.bb b/import-layers/meta-openembedded/meta-oe/recipes-kernel/cpupower/cpupower.bb
new file mode 100644
index 000000000..c963c8ef9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/cpupower/cpupower.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Shows and sets processor power related values"
+DESCRIPTION = "cpupower is a collection of tools to examine and tune power \
+saving related features of your processor."
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
+DEPENDS = "pciutils"
+PROVIDES = "virtual/cpupower"
+
+inherit kernelsrc kernel-arch
+
+do_populate_lic[depends] += "virtual/kernel:do_patch"
+
+EXTRA_OEMAKE = "-C ${S}/tools/power/cpupower O=${B} CROSS=${TARGET_PREFIX} CC="${CC}" LD="${LD}" AR=${AR} ARCH=${ARCH}"
+
+do_configure[depends] += "virtual/kernel:do_shared_workdir"
+
+do_compile() {
+ oe_runmake
+}
+
+do_install() {
+ oe_runmake DESTDIR=${D} install
+ # Do not ship headers
+ rm -rf ${D}${includedir}
+ chown -R root:root ${D}
+}
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+RDEPENDS_${PN} = "bash"
+
+python do_package_prepend() {
+ d.setVar('PKGV', d.getVar("KERNEL_VERSION", True).split("-")[0])
+}
+
+B = "${WORKDIR}/${BPN}-${PV}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0001-Fix-for-a-compilation-error-if-glibc-2.25-or-later-h.patch b/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0001-Fix-for-a-compilation-error-if-glibc-2.25-or-later-h.patch
deleted file mode 100644
index 9434815d8..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0001-Fix-for-a-compilation-error-if-glibc-2.25-or-later-h.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-From b8c8fbe0a2481e97fc57dd596346827a692a5768 Mon Sep 17 00:00:00 2001
-From: Dave Anderson <anderson@redhat.com>
-Date: Tue, 28 Mar 2017 15:44:40 -0400
-Subject: [PATCH 1/3] Fix for a compilation error if glibc-2.25 or later has
- been installed on the host build machine. Without the patch, the build fails
- with the error message "amd64-linux-nat.c:496:1: error: conflicting types for
- 'ps_get_thread_area'". (anderson@redhat.com)
-
-Upstream-Status: Backport
-
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
----
- Makefile | 6 +++++
- configure.c | 2 +-
- gdb-7.6-proc_service.h.patch | 55 ++++++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 62 insertions(+), 1 deletion(-)
- create mode 100644 gdb-7.6-proc_service.h.patch
-
-diff --git a/Makefile b/Makefile
-index 202ef8b..b6b7e80 100644
---- a/Makefile
-+++ b/Makefile
-@@ -264,6 +264,12 @@ gdb_patch:
- if [ "${ARCH}" = "x86_64" ] && [ "${TARGET}" = "PPC64" ] && [ -f ${GDB}-ppc64le-support.patch ]; then \
- patch -d ${GDB} -p1 -F0 < ${GDB}-ppc64le-support.patch ; \
- fi
-+ if [ -f /usr/include/proc_service.h ]; then \
-+ grep 'extern ps_err_e ps_get_thread_area (struct' /usr/include/proc_service.h; \
-+ if [ $$? -eq 0 ]; then \
-+ patch -p0 < ${GDB}-proc_service.h.patch; \
-+ fi; \
-+ fi
-
- library: make_build_data ${OBJECT_FILES}
- ar -rs ${PROGRAM}lib.a ${OBJECT_FILES}
-diff --git a/configure.c b/configure.c
-index d63cdd7..776defe 100644
---- a/configure.c
-+++ b/configure.c
-@@ -240,7 +240,7 @@ struct supported_gdb_version {
- "7.6",
- "GDB_FILES=${GDB_7.6_FILES}",
- "GDB_OFILES=${GDB_7.6_OFILES}",
-- "GDB_PATCH_FILES=gdb-7.6.patch gdb-7.6-ppc64le-support.patch",
-+ "GDB_PATCH_FILES=gdb-7.6.patch gdb-7.6-ppc64le-support.patch gdb-7.6-proc_service.h.patch",
- "GDB_FLAGS=-DGDB_7_6",
- "GPLv3"
- },
-diff --git a/gdb-7.6-proc_service.h.patch b/gdb-7.6-proc_service.h.patch
-new file mode 100644
-index 0000000..49d18bb
---- /dev/null
-+++ b/gdb-7.6-proc_service.h.patch
-@@ -0,0 +1,55 @@
-+--- gdb-7.6/gdb/gdb_proc_service.h.orig
-++++ gdb-7.6/gdb/gdb_proc_service.h
-+@@ -115,7 +115,7 @@ extern pid_t ps_getpid (struct ps_procha
-+ /* Fetch the special per-thread address associated with the given LWP.
-+ This call is only used on a few platforms (most use a normal register).
-+ The meaning of the `int' parameter is machine-dependent. */
-+-extern ps_err_e ps_get_thread_area (const struct ps_prochandle *,
-++extern ps_err_e ps_get_thread_area (struct ps_prochandle *,
-+ lwpid_t, int, psaddr_t *);
-+
-+
-+--- gdb-7.6/gdb/amd64-linux-nat.c.orig
-++++ gdb-7.6/gdb/amd64-linux-nat.c
-+@@ -493,7 +493,7 @@ amd64_linux_new_fork (struct lwp_info *p
-+ a request for a thread's local storage address. */
-+
-+ ps_err_e
-+-ps_get_thread_area (const struct ps_prochandle *ph,
-++ps_get_thread_area (struct ps_prochandle *ph,
-+ lwpid_t lwpid, int idx, void **base)
-+ {
-+ if (gdbarch_bfd_arch_info (target_gdbarch ())->bits_per_word == 32)
-+--- gdb-7.6/gdb/aarch64-linux-nat.c.orig
-++++ gdb-7.6/gdb/aarch64-linux-nat.c
-+@@ -750,7 +750,7 @@ aarch64_linux_new_fork (struct lwp_info
-+ storage (or its descriptor). */
-+
-+ ps_err_e
-+-ps_get_thread_area (const struct ps_prochandle *ph,
-++ps_get_thread_area (struct ps_prochandle *ph,
-+ lwpid_t lwpid, int idx, void **base)
-+ {
-+ struct iovec iovec;
-+--- gdb-7.6/gdb/arm-linux-nat.c.orig
-++++ gdb-7.6/gdb/arm-linux-nat.c
-+@@ -613,7 +613,7 @@ supply_fpregset (struct regcache *regcac
-+ /* Fetch the thread-local storage pointer for libthread_db. */
-+
-+ ps_err_e
-+-ps_get_thread_area (const struct ps_prochandle *ph,
-++ps_get_thread_area (struct ps_prochandle *ph,
-+ lwpid_t lwpid, int idx, void **base)
-+ {
-+ if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0)
-+--- gdb-7.6/gdb/i386-linux-nat.c.orig
-++++ gdb-7.6/gdb/i386-linux-nat.c
-+@@ -849,7 +849,7 @@ i386_linux_new_fork (struct lwp_info *pa
-+ storage (or its descriptor). */
-+
-+ ps_err_e
-+-ps_get_thread_area (const struct ps_prochandle *ph,
-++ps_get_thread_area (struct ps_prochandle *ph,
-+ lwpid_t lwpid, int idx, void **base)
-+ {
-+ /* NOTE: cagney/2003-08-26: The definition of this buffer is found
---
-2.8.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.1.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.1.8.bb
deleted file mode 100644
index 9c31f5e1a..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.1.8.bb
+++ /dev/null
@@ -1,118 +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 \
- file://0001-Fix-for-a-compilation-error-if-glibc-2.25-or-later-h.patch \
- file://0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch \
- file://0003-crash-detect-the-sysroot-s-glibc-header-file.patch \
- file://0004-crash-fix-build-failure-with-mips.patch \
- "
-
-SRC_URI[md5sum] = "31787074f267a3536eebff008a0652ec"
-SRC_URI[sha256sum] = "9965dee9199d7e39764fbee7f21c7c45b1f7b6d17c8e92ad62f468f062876478"
-
-SRC_URI[gdb.md5sum] = "a9836707337e5f7bf76a009a8904f470"
-SRC_URI[gdb.sha256sum] = "8070389a5dcc104eb0be483d582729f98ed4d761ad19cedd3f17b5d2502faa36"
-
-inherit gettext
-
-BBCLASSEXTEND = "native cross"
-TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}"
-
-# crash 7.1.3 and before don't support mips64
-COMPATIBLE_HOST = "^(?!mips64).*"
-
-EXTRA_OEMAKE = 'RPMPKG="${PV}" \
- GDB_TARGET="${TARGET_SYS}" \
- GDB_HOST="${BUILD_SYS}" \
- GDB_MAKE_JOBS="${PARALLEL_MAKE}" \
- LDFLAGS="${LDFLAGS}" \
- '
-
-EXTRA_OEMAKE_class-cross = 'RPMPKG="${PV}" \
- GDB_TARGET="${BUILD_SYS} \
- \${GDB_CONF_FLAGS} \
- --target=${TARGET_SYS}" \
- GDB_HOST="${BUILD_SYS}" \
- GDB_MAKE_JOBS="${PARALLEL_MAKE}" \
- '
-
-EXTRA_OEMAKE_append_class-native = " LDFLAGS='${BUILD_LDFLAGS}'"
-EXTRA_OEMAKE_append_class-cross = " LDFLAGS='${BUILD_LDFLAGS}'"
-
-REMOVE_M32 = "sed -i -e 's/#define TARGET_CFLAGS_ARM_ON_X86_64.*/#define TARGET_CFLAGS_ARM_ON_X86_64\t\"TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64\"/g' ${S}/configure.c"
-
-REMOVE_M32_class-cross = ""
-
-do_configure() {
- :
-}
-
-do_compile_prepend() {
- case ${TARGET_ARCH} in
- aarch64*) ARCH=ARM64 ;;
- arm*) ARCH=ARM ;;
- i*86*) ARCH=X86 ;;
- x86_64*) ARCH=X86_64 ;;
- powerpc64*) ARCH=PPC64 ;;
- powerpc*) ARCH=PPC ;;
- mips*) ARCH=MIPS ;;
- esac
-
- sed -i s/FORCE_DEFINE_ARCH/"${ARCH}"/g ${S}/configure.c
- ${REMOVE_M32}
- sed -i 's/&gt;/>/g' ${S}/Makefile
-}
-
-do_compile() {
- oe_runmake ${EXTRA_OEMAKE} RECIPE_SYSROOT=${RECIPE_SYSROOT}
-}
-
-do_install_prepend () {
- install -d ${D}${bindir}
- install -d ${D}/${mandir}/man8
- install -d ${D}${includedir}/crash
-
- install -m 0644 ${S}/crash.8 ${D}/${mandir}/man8/
- install -m 0644 ${S}/defs.h ${D}${includedir}/crash
-}
-
-do_install_class-target () {
- oe_runmake DESTDIR=${D} install
-}
-
-do_install_class-native () {
- oe_runmake DESTDIR=${D}${STAGING_DIR_NATIVE} install
-}
-
-do_install_class-cross () {
- install -m 0755 ${S}/crash ${D}/${bindir}
-}
-
-RDEPENDS_${PN} += "liblzma"
-RDEPENDS_${PN}_class-native = ""
-RDEPENDS_${PN}_class-cross = ""
-
-# Causes gcc to get stuck and eat all available memory in qemuarm builds
-# jenkins 15161 100 12.5 10389596 10321284 ? R 11:40 28:17 /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/x86_64-linux/usr/libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.9.2/cc1 -quiet -I . -I . -I ./common -I ./config -I ./../include/opcode -I ./../opcodes/.. -I ./../readline/.. -I ../bfd -I ./../bfd -I ./../include -I ../libdecnumber -I ./../libdecnumber -I ./gnulib/import -I build-gnulib/import -isysroot /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/qemuarm -MMD eval.d -MF .deps/eval.Tpo -MP -MT eval.o -D LOCALEDIR="/usr/local/share/locale" -D CRASH_MERGE -D HAVE_CONFIG_H -D TUI=1 eval.c -quiet -dumpbase eval.c -march=armv5te -mthumb -mthumb-interwork -mtls-dialect=gnu -auxbase-strip eval.o -g -O2 -Wall -Wpointer-arith -Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wmissing-prototypes -Wdeclaration-after-statement -Wempty-body -feliminate-unused-debug-types -o -
-ARM_INSTRUCTION_SET = "arm"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.1.9.bb b/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.1.9.bb
new file mode 100644
index 000000000..d40937e93
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.1.9.bb
@@ -0,0 +1,116 @@
+SUMMARY = "Kernel analysis utility for live systems, netdump, diskdump, kdump, LKCD or mcore dumpfiles"
+DESCRIPTION = "The core analysis suite is a self-contained tool that can be used to\
+investigate either live systems, kernel core dumps created from the\
+netdump, diskdump and kdump packages from Red Hat Linux, the mcore kernel patch\
+offered by Mission Critical Linux, or the LKCD kernel patch."
+
+HOMEPAGE = "http://people.redhat.com/anderson"
+SECTION = "devel"
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING3;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = "zlib readline coreutils-native"
+
+SRC_URI = "https://github.com/crash-utility/${BPN}/archive/${PV}.tar.gz;downloadfilename=${BP}.tar.gz \
+ http://ftp.gnu.org/gnu/gdb/gdb-7.6.tar.gz;name=gdb;subdir=${BP} \
+ file://7001force_define_architecture.patch \
+ file://7003cross_ranlib.patch \
+ file://0001-cross_add_configure_option.patch \
+ file://sim-ppc-drop-LIBS-from-psim-dependency.patch \
+ file://sim-common-sim-arange-fix-extern-inline-handling.patch \
+ file://donnot-extract-gdb-during-do-compile.patch \
+ file://gdb_build_jobs_and_not_write_crash_target.patch \
+ file://remove-unrecognized-gcc-option-m32-for-mips.patch \
+ file://0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch \
+ file://0003-crash-detect-the-sysroot-s-glibc-header-file.patch \
+ file://0004-crash-fix-build-failure-with-mips.patch \
+ "
+SRC_URI[md5sum] = "f3b44a151dbe7046462b9caaa9847ca6"
+SRC_URI[sha256sum] = "c48e1269443a6a8e8337e328b21b03e4e50248f607eed83fbb27eb0d833d6aa4"
+
+SRC_URI[gdb.md5sum] = "a9836707337e5f7bf76a009a8904f470"
+SRC_URI[gdb.sha256sum] = "8070389a5dcc104eb0be483d582729f98ed4d761ad19cedd3f17b5d2502faa36"
+
+inherit gettext
+
+BBCLASSEXTEND = "native cross"
+TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}"
+
+# crash 7.1.3 and before don't support mips64
+COMPATIBLE_HOST = "^(?!mips64).*"
+
+EXTRA_OEMAKE = 'RPMPKG="${PV}" \
+ GDB_TARGET="${TARGET_SYS}" \
+ GDB_HOST="${BUILD_SYS}" \
+ GDB_MAKE_JOBS="${PARALLEL_MAKE}" \
+ LDFLAGS="${LDFLAGS}" \
+ '
+
+EXTRA_OEMAKE_class-cross = 'RPMPKG="${PV}" \
+ GDB_TARGET="${BUILD_SYS} \
+ \${GDB_CONF_FLAGS} \
+ --target=${TARGET_SYS}" \
+ GDB_HOST="${BUILD_SYS}" \
+ GDB_MAKE_JOBS="${PARALLEL_MAKE}" \
+ '
+
+EXTRA_OEMAKE_append_class-native = " LDFLAGS='${BUILD_LDFLAGS}'"
+EXTRA_OEMAKE_append_class-cross = " LDFLAGS='${BUILD_LDFLAGS}'"
+
+REMOVE_M32 = "sed -i -e 's/#define TARGET_CFLAGS_ARM_ON_X86_64.*/#define TARGET_CFLAGS_ARM_ON_X86_64\t\"TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64\"/g' ${S}/configure.c"
+
+REMOVE_M32_class-cross = ""
+
+do_configure() {
+ :
+}
+
+do_compile_prepend() {
+ case ${TARGET_ARCH} in
+ aarch64*) ARCH=ARM64 ;;
+ arm*) ARCH=ARM ;;
+ i*86*) ARCH=X86 ;;
+ x86_64*) ARCH=X86_64 ;;
+ powerpc64*) ARCH=PPC64 ;;
+ powerpc*) ARCH=PPC ;;
+ mips*) ARCH=MIPS ;;
+ esac
+
+ sed -i s/FORCE_DEFINE_ARCH/"${ARCH}"/g ${S}/configure.c
+ ${REMOVE_M32}
+ sed -i 's/&gt;/>/g' ${S}/Makefile
+}
+
+do_compile() {
+ oe_runmake ${EXTRA_OEMAKE} RECIPE_SYSROOT=${RECIPE_SYSROOT}
+}
+
+do_install_prepend () {
+ install -d ${D}${bindir}
+ install -d ${D}/${mandir}/man8
+ install -d ${D}${includedir}/crash
+
+ install -m 0644 ${S}/crash.8 ${D}/${mandir}/man8/
+ install -m 0644 ${S}/defs.h ${D}${includedir}/crash
+}
+
+do_install_class-target () {
+ oe_runmake DESTDIR=${D} install
+}
+
+do_install_class-native () {
+ oe_runmake DESTDIR=${D}${STAGING_DIR_NATIVE} install
+}
+
+do_install_class-cross () {
+ install -m 0755 ${S}/crash ${D}/${bindir}
+}
+
+RDEPENDS_${PN} += "liblzma"
+RDEPENDS_${PN}_class-native = ""
+RDEPENDS_${PN}_class-cross = ""
+
+# Causes gcc to get stuck and eat all available memory in qemuarm builds
+# jenkins 15161 100 12.5 10389596 10321284 ? R 11:40 28:17 /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/x86_64-linux/usr/libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.9.2/cc1 -quiet -I . -I . -I ./common -I ./config -I ./../include/opcode -I ./../opcodes/.. -I ./../readline/.. -I ../bfd -I ./../bfd -I ./../include -I ../libdecnumber -I ./../libdecnumber -I ./gnulib/import -I build-gnulib/import -isysroot /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/qemuarm -MMD eval.d -MF .deps/eval.Tpo -MP -MT eval.o -D LOCALEDIR="/usr/local/share/locale" -D CRASH_MERGE -D HAVE_CONFIG_H -D TUI=1 eval.c -quiet -dumpbase eval.c -march=armv5te -mthumb -mthumb-interwork -mtls-dialect=gnu -auxbase-strip eval.o -g -O2 -Wall -Wpointer-arith -Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wmissing-prototypes -Wdeclaration-after-statement -Wempty-body -feliminate-unused-debug-types -o -
+ARM_INSTRUCTION_SET = "arm"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/ktap/ktap-module_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-kernel/ktap/ktap-module_git.bb
deleted file mode 100644
index 1119d4c90..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-kernel/ktap/ktap-module_git.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-require ktap.inc
-
-SUMMARY = "KTAP is a scripting dynamic tracing tool for Linux"
-
-inherit module
-
-# See https://github.com/ktap/ktap/issues/80
-PNBLACKLIST[ktap-module] ?= "Not compatible with 3.19 kernel - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-# Only build the module
-MAKE_TARGETS = "mod"
-
-# Kernel module packages MUST begin with 'kernel-module-', otherwise
-# multilib image generation can fail.
-#
-# The following line is only necessary if the recipe name does not begin
-# with kernel-module-.
-#
-PKG_${PN} = "kernel-module-${PN}"
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/ktap/ktap.inc b/import-layers/meta-openembedded/meta-oe/recipes-kernel/ktap/ktap.inc
deleted file mode 100644
index c214a020d..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-kernel/ktap/ktap.inc
+++ /dev/null
@@ -1,26 +0,0 @@
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-HOMEPAGE = "http://www.ktap.org"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE-GPL;md5=eb723b61539feef013de476e68b5c50a"
-
-PV = "0.4+gitr${SRCPV}"
-SRCREV = "c8401e07c89cdec9a5f673da4ddb12b7982b522b"
-SRC_URI = "git://github.com/ktap/ktap.git"
-
-S = "${WORKDIR}/git"
-
-# Package config is abused as a general compile time configuration tool.
-
-# Only supports x86_64 for now!. Needs to be enabled for ktap-module too.
-PACKAGECONFIG[ffi] = ""
-
-# Needed to resolve symbols in DSO and for sdt
-PACKAGECONFIG[libelf] = ",,elfutils"
-
-PACKAGECONFIG ?= "libelf"
-
-EXTRA_OEMAKE = " \
- ${@bb.utils.contains('PACKAGECONFIG', 'libelf', '', 'NO_LIBELF=1', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'ffi', 'FFI=1', '', d)} \
-"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/ktap/ktap_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-kernel/ktap/ktap_git.bb
deleted file mode 100644
index a947b7fcc..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-kernel/ktap/ktap_git.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-require ktap.inc
-
-SUMMARY = "KTAP is a scripting dynamic tracing tool for Linux"
-DEPENDS = "ktap-module"
-
-PNBLACKLIST[ktap] ?= "Depends on blacklisted kernel-module-ktapvm - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-# Only build the userspace app
-EXTRA_OEMAKE += "ktap"
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 ${S}/ktap ${D}${bindir}/
-}
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-RRECOMMENDS_${PN} = "kernel-module-ktapvm"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-Add-proper-format-string-to-print-a-str.patch b/import-layers/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-Add-proper-format-string-to-print-a-str.patch
deleted file mode 100644
index 056a0bade..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-Add-proper-format-string-to-print-a-str.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 0fff28f31aef9ad1d5a817216a3c98ba9d605106 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 19 Jun 2017 23:52:14 -0700
-Subject: [PATCH] makedumpfile: Add proper format string to print a string
-
-Fix
-makedumpfile.c: In function 'write_eraseinfo':
-makedumpfile.c:8273:4: error: format not a string literal and no format arguments [-Werror=format-security]
- DEBUG_MSG(obuf);
- ^~~~~~~~~
-makedumpfile.c:8273:4: error: format not a string literal and no format arguments [-Werror=format-security]
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- makedumpfile.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/makedumpfile.c b/makedumpfile.c
-index e69b6df..8b8a6b0 100644
---- a/makedumpfile.c
-+++ b/makedumpfile.c
-@@ -8270,7 +8270,7 @@ write_eraseinfo(struct cache_data *cd_page, unsigned long *size_out)
- }
- sprintf(obuf, "erase %s %s", erase_info[i].symbol_expr,
- size_str);
-- DEBUG_MSG(obuf);
-+ DEBUG_MSG("%s", obuf);
- if (!write_cache(cd_page, obuf, strlen(obuf)))
- goto out;
- size_eraseinfo += strlen(obuf);
---
-2.13.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.1.bb
deleted file mode 100644
index 83bbf7f41..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.1.bb
+++ /dev/null
@@ -1,55 +0,0 @@
-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"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-LICENSE = "GPLv2.0"
-
-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|arm).*-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 \
- file://0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch \
- file://0001-makedumpfile-Add-proper-format-string-to-print-a-str.patch \
-"
-SRC_URI[md5sum] = "16c0ae9902ae57be4a603a6ab1e86c53"
-SRC_URI[sha256sum] = "0b6e73106998670407887de9e1a505b3a2dbb2fb517a4b968a665eda8fb097ce"
-
-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/makedumpfile/makedumpfile_1.6.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.2.bb
new file mode 100644
index 000000000..d6f2d807e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.2.bb
@@ -0,0 +1,54 @@
+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"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+LICENSE = "GPLv2.0"
+
+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|arm).*-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 \
+ file://0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch \
+"
+SRC_URI[md5sum] = "72be5bf973eed898c5127e3abc466583"
+SRC_URI[sha256sum] = "ee3d21cb4032a60bd2c802d1d8b21b9f399710e1574f8de8ead5ab50cd821a6d"
+
+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/0001-fix-compile-error-on-arch-x32.patch b/import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/0001-fix-compile-error-on-arch-x32.patch
new file mode 100644
index 000000000..6ba6ad481
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/0001-fix-compile-error-on-arch-x32.patch
@@ -0,0 +1,32 @@
+From 883f53ee33eaef8aca1288a110857402ad362966 Mon Sep 17 00:00:00 2001
+From: John Ogness <john.ogness@linutronix.de>
+Date: Fri, 8 Sep 2017 15:03:03 -0700
+Subject: [PATCH] fix compile error on arch=x32
+
+On the x32 architecture time_t is a "long long int". By
+ typecasting time_t to "long long", this should work correctly
+ for all architectures.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ src/minicoredumper/corestripper.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/minicoredumper/corestripper.c b/src/minicoredumper/corestripper.c
+index fd39bfb..07dc318 100644
+--- a/src/minicoredumper/corestripper.c
++++ b/src/minicoredumper/corestripper.c
+@@ -1241,7 +1241,7 @@ static int dump_compressed_tar(struct dump_info *di)
+ snprintf(hdr.mode, sizeof(hdr.mode), "%07o", 0644);
+ snprintf(hdr.uid, sizeof(hdr.uid), "%07o", 0);
+ snprintf(hdr.gid, sizeof(hdr.gid), "%07o", 0);
+- snprintf(hdr.mtime, sizeof(hdr.mtime), "%011lo",
++ snprintf(hdr.mtime, sizeof(hdr.mtime), "%011llo",
+ (long long)time(NULL));
+ memset(hdr.checksum, ' ', sizeof(hdr.checksum));
+ hdr.type = 'S';
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/0001-minicoredumper-Initialize-pointer-to-config-struct-t.patch b/import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/0001-minicoredumper-Initialize-pointer-to-config-struct-t.patch
new file mode 100644
index 000000000..ad255fae0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/0001-minicoredumper-Initialize-pointer-to-config-struct-t.patch
@@ -0,0 +1,29 @@
+From 6181d9c3c407ee030b4c3a94045318b9e3a3cc89 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 25 Jul 2017 14:08:54 -0700
+Subject: [PATCH] minicoredumper: Initialize pointer to config struct to null
+
+Fixes
+corestripper.c:3632:13: error: variable 'cfg' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/minicoredumper/corestripper.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/minicoredumper/corestripper.c b/src/minicoredumper/corestripper.c
+index a764073..ddb0d25 100644
+--- a/src/minicoredumper/corestripper.c
++++ b/src/minicoredumper/corestripper.c
+@@ -3605,7 +3605,7 @@ out:
+
+ static int do_all_dumps(struct dump_info *di, int argc, char *argv[])
+ {
+- struct config *cfg;
++ struct config *cfg = 0;
+ const char *recept;
+ bool live_dumper;
+ char *comm_base;
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.0.bb
index 58cd45a53..1858e102d 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.0.bb
@@ -1,7 +1,7 @@
SUMMARY = "minicoredumper provides an alternate core dump facility for Linux \
to allow minimal and customized crash dumps"
LICENSE = " LGPLv2.1 & BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=709087c2ed0acda54a4d91497a889e42 \
+LIC_FILES_CHKSUM = "file://COPYING;md5=aa846ae365f71b69e9fa0d21a56391ec \
file://COPYING.BSD;md5=b915ac80d5236d6aa659cb986daf00e5 \
file://COPYING.LGPLv2.1;md5=321bf41f280cf805086dd5a720b37785 \
"
@@ -9,14 +9,16 @@ DEPENDS = "elfutils dbus dbus-glib-native glib-2.0 dbus-glib util-linux json-c"
inherit autotools pkgconfig systemd update-rc.d
-SRCREV = "248019446ccf6079926efb54f8b6dd7be769bbae"
+SRCREV = "cdc1faf1212a51e89b477468876e229223fceb9a"
PR .= "+git${SRCPV}"
-SRC_URI = "git://github.com/Linutronix/minicoredumper-debian;branch=unstable \
+SRC_URI = "git://git.linuxfoundation.org/diamon/minicoredumper.git;protocol=http \
file://minicoredumper.service \
file://minicoredumper.init \
-"
+ file://0001-minicoredumper-Initialize-pointer-to-config-struct-t.patch \
+ file://0001-fix-compile-error-on-arch-x32.patch \
+ "
S = "${WORKDIR}/git"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile.inc b/import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile.inc
new file mode 100644
index 000000000..4b01654fa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile.inc
@@ -0,0 +1,65 @@
+SUMMARY = "System-Wide Profiler"
+DESCRIPTION = "OProfile is a system-wide profiler for Linux systems, capable \
+of profiling all running code at low overhead."
+HOMEPAGE = "http://oprofile.sourceforge.net/news/"
+BUGTRACKER = "http://sourceforge.net/tracker/?group_id=16191&atid=116191"
+
+LICENSE = "LGPLv2.1+ & GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://libopagent/opagent.h;beginline=5;endline=26;md5=4f16f72c7a493d8a4704aa18d03d15c6 \
+ "
+SECTION = "devel"
+
+DEPENDS = "popt binutils"
+RDEPENDS_${PN} = "binutils-symlinks"
+RRECOMMENDS_${PN} = "kernel-vmlinux"
+
+FILES_${PN} = "${bindir} ${libdir}/${BPN}/lib*${SOLIBS} ${datadir}/${BPN}"
+FILES_${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/lib*.la"
+FILES_${PN}-staticdev += "${libdir}/${BPN}/lib*.a"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
+ file://acinclude.m4 \
+ file://automake-foreign.patch \
+ file://oprofile-cross-compile-tests.patch \
+ file://run-ptest \
+ file://root-home-dir.patch \
+ file://0001-Add-rmb-definition-for-NIOS2-architecture.patch \
+ file://0001-Fix-FTBFS-problem-with-GCC-6.patch \
+"
+UPSTREAM_CHECK_REGEX = "oprofile-(?P<pver>\d+(\.\d+)+)/"
+UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/oprofile/files/oprofile/"
+
+SRC_URI_append_libc-musl = " file://musl.patch"
+
+inherit autotools pkgconfig ptest
+
+EXTRA_OECONF = "--with-kernel=${STAGING_DIR_HOST}${prefix} --without-x ac_cv_prog_XSLTPROC="
+do_configure () {
+ cp ${WORKDIR}/acinclude.m4 ${S}/
+ autotools_do_configure
+}
+
+EXTRA_OEMAKE = "SRCDIR=${PTEST_PATH}/libutil++/tests"
+do_compile_ptest() {
+ oe_runmake check
+}
+
+do_install_ptest() {
+ subdirs="libdb/tests libutil++/tests libregex/tests libutil/tests libop/tests libdb/tests "
+ for tooltest in ${subdirs}
+ do
+ find ${tooltest} -perm /u=x -type f| cpio -pvdu ${D}${PTEST_PATH}
+ done
+
+ # needed by some libop tests
+ cp -r events ${D}${PTEST_PATH}
+
+ # needed by libregex regex_test
+ cp libregex/stl.pat ${D}${PTEST_PATH}/libregex
+ cp libregex/tests/mangled-name ${D}${PTEST_PATH}/libregex/tests
+
+ # needed by litutil++ file_manip_tests
+ cp ${S}/libutil++/tests/file_manip_tests.cpp \
+ libutil++/tests/file_manip_tests.o ${D}${PTEST_PATH}/libutil++/tests
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Add-rmb-definition-for-NIOS2-architecture.patch b/import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Add-rmb-definition-for-NIOS2-architecture.patch
new file mode 100644
index 000000000..ae8562a23
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Add-rmb-definition-for-NIOS2-architecture.patch
@@ -0,0 +1,30 @@
+From 34b0d9b1a32fb404a30327a7ae8931c7c75583bf Mon Sep 17 00:00:00 2001
+From: Marek Vasut <marex@denx.de>
+Date: Tue, 9 Feb 2016 02:00:29 +0100
+Subject: [PATCH] Add rmb() definition for NIOS2 architecture
+
+Signed-off-by: Marek Vasut <marex@denx.de>
+Upstream-Status: Submitted [ http://marc.info/?l=oprofile-list&m=145501915931874&w=2 ]
+---
+ libperf_events/operf_utils.h | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/libperf_events/operf_utils.h b/libperf_events/operf_utils.h
+index 32954cc..8270e53 100644
+--- a/libperf_events/operf_utils.h
++++ b/libperf_events/operf_utils.h
+@@ -178,6 +178,11 @@ void op_release_resources(void);
+ #define cpu_relax() asm volatile("" ::: "memory")
+ #endif
+
++#ifdef __nios2__
++#define rmb() asm volatile("" ::: "memory")
++#define cpu_relax() asm volatile("" ::: "memory")
++#endif
++
+ #ifdef __tile__
+ #include <asm/unistd.h>
+ #define rmb() __insn_mf()
+--
+2.7.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Fix-FTBFS-problem-with-GCC-6.patch b/import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Fix-FTBFS-problem-with-GCC-6.patch
new file mode 100644
index 000000000..d372fd527
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Fix-FTBFS-problem-with-GCC-6.patch
@@ -0,0 +1,51 @@
+From 39d4d46a0bd504ac708ffe72df87bf74cd12ad30 Mon Sep 17 00:00:00 2001
+From: William Cohen <wcohen@redhat.com>
+Date: Fri, 5 Feb 2016 17:30:19 -0500
+Subject: [PATCH] Fix FTBFS problem with GCC-6
+
+GCC-6 is pickier about some of the type conversions causing the Fedora
+24 mass rebuild the build of oprofile failed with:
+
+make[3]: Entering directory '/builddir/build/BUILD/oprofile-1.1.0/libutil++'
+g++ -DHAVE_CONFIG_H -I. -I.. -I ../libutil -I ../libop -I ../libpp -W -Wall -fno-common -ftemplate-depth-50 -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -c -o op_bfd.o op_bfd.cpp
+op_bfd.cpp: In member function 'void op_bfd::get_symbol_range(symbol_index_t, long long unsigned int&, long long unsigned int&) const':
+op_bfd.cpp:538:47: error: cannot convert 'std::ostream {aka std::basic_ostream<char>}' to 'const bool' in initialization
+ bool const verbose = cverb << (vbfd & vlevel1);
+ ^
+op_bfd.cpp:546:7: error: in argument to unary !
+ if (!verbose)
+ ^~~~~~~
+
+Avoid the intermediate bool type to make GCC-6 happy.
+
+Signed-off-by: William Cohen <wcohen@redhat.com>
+---
+Upstream-Status: Backport
+
+ libutil++/op_bfd.cpp | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/libutil++/op_bfd.cpp b/libutil++/op_bfd.cpp
+index 389c920..f2eb42b 100644
+--- a/libutil++/op_bfd.cpp
++++ b/libutil++/op_bfd.cpp
+@@ -535,15 +535,13 @@ void op_bfd::get_symbol_range(symbol_index_t sym_idx,
+ {
+ op_bfd_symbol const & sym = syms[sym_idx];
+
+- bool const verbose = cverb << (vbfd & vlevel1);
+-
+ if (anon_obj)
+ start = sym.vma();
+ else
+ start = sym.filepos();
+ end = start + sym.size();
+
+- if (!verbose)
++ if (!(cverb << (vbfd & vlevel1)))
+ return;
+
+ io_state state(cverb << (vbfd & vlevel1));
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/acinclude.m4 b/import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/acinclude.m4
new file mode 100644
index 000000000..95ecd91b5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/acinclude.m4
@@ -0,0 +1,581 @@
+dnl AX_KERNEL_OPTION(option, action-if-found, action-if-not-found)
+dnl see if autoconf.h defines the option
+AC_DEFUN([AX_KERNEL_OPTION], [
+SAVE_CFLAGS=$CFLAGS
+CFLAGS="-I$KINC -O2 -D__KERNEL__"
+AC_TRY_COMPILE( [#include <linux/config.h>],
+[
+#ifndef $1
+break_me_hard(\\\);
+#endif
+],[$2],[$3],)
+CFLAGS=$SAVE_CFLAGS
+])
+
+dnl Handle the 2.4 module inside module/
+AC_DEFUN([AX_CONFIG_MODULE],
+[
+if test ! -f $KINC/linux/autoconf.h; then
+ AC_MSG_ERROR([no suitably configured kernel include tree found])
+fi
+
+dnl --- Get Linux kernel version and compile parameters ---
+
+AC_SUBST(KVERS)
+AC_MSG_CHECKING([for kernel version])
+dnl it's like this to handle mandrake's fubar version.h - bug #471448
+eval KVERS=`gcc -I$KINC -E -dM $KINC/linux/version.h | grep -w UTS_RELEASE | awk '{print $[]3}'`
+AC_MSG_RESULT([$KVERS])
+case "$KVERS" in
+2.2.*|2.4.*) ;;
+*) AC_MSG_ERROR([Unsupported kernel version])
+esac
+
+dnl Check for the minimal kernel version supported
+AC_MSG_CHECKING([kernel version])
+AX_KERNEL_VERSION(2, 2, 10, <=, AC_MSG_RESULT([ok]), AC_MSG_ERROR([check html documentation install section]))
+
+dnl linux/spinlock.h added at some point in past
+AC_MSG_CHECKING([for $KINC/linux/spinlock.h])
+if test -f $KINC/linux/spinlock.h; then
+ EXTRA_CFLAGS_MODULE="$EXTRA_CFLAGS_MODULE -DHAVE_LINUX_SPINLOCK_HEADER"
+ AC_MSG_RESULT([yes])
+else
+ AC_MSG_RESULT([no])
+fi
+
+AC_MSG_CHECKING([for rtc_lock])
+gcc -I$KINC -E $KINC/linux/mc146818rtc.h | grep rtc_lock >/dev/null
+if test "$?" -eq 0; then
+ EXTRA_CFLAGS_MODULE="$EXTRA_CFLAGS_MODULE -DRTC_LOCK"
+ AC_MSG_RESULT([yes])
+else
+ AC_MSG_RESULT([no])
+fi
+
+arch="unknown"
+AC_MSG_CHECKING(for x86-64 architecture)
+AX_KERNEL_OPTION(CONFIG_X86_64, x8664=1, x8664=0)
+AX_MSG_RESULT_YN($x8664)
+BUILD_HAMMER=no
+if test "$x8664" -eq 1; then
+ arch="x86"
+ BUILD_HAMMER=yes
+else
+ AC_MSG_CHECKING(for x86 architecture)
+ AX_KERNEL_OPTION(CONFIG_X86, x86=1, x86=0)
+ AX_KERNEL_OPTION(CONFIG_X86_WP_WORKS_OK, x86=1, x86=$x86)
+ AX_MSG_RESULT_YN($x86)
+ test "$x86" = 1 && arch="x86"
+
+ if test "$arch" = "unknown"; then
+ AC_MSG_CHECKING(for ia64 architecture)
+ AX_KERNEL_OPTION(CONFIG_IA64, ia64=1, ia64=0)
+ AX_MSG_RESULT_YN($ia64)
+ test "$ia64" = 1 && arch="ia64"
+ fi
+
+fi
+AC_SUBST(BUILD_HAMMER)
+
+test "$arch" = "unknown" && AC_MSG_ERROR(Unsupported architecture)
+
+dnl check to see if kernel verion appropriate for arch
+AC_MSG_CHECKING(arch/kernel version combination)
+case "$arch" in
+ia64)
+ AX_KERNEL_VERSION(2, 4, 18, <, AC_MSG_RESULT([ok]),
+ AC_MSG_ERROR([unsupported arch/kernel])) ;;
+*) AC_MSG_RESULT([ok])
+esac
+
+dnl for now we do not support PREEMPT patch
+AC_MSG_CHECKING([for preempt patch])
+AX_KERNEL_OPTION(CONFIG_PREEMPT,preempt=1,preempt=0)
+AX_MSG_RESULT_YN([$preempt])
+test "$preempt" = 0 || AC_MSG_ERROR([unsupported kernel configuration : CONFIG_PREEMPT])
+
+AC_SUBST(KINC)
+
+MODINSTALLDIR=/lib/modules/$KVERS
+
+OPROFILE_MODULE_ARCH=$arch
+AC_SUBST(OPROFILE_MODULE_ARCH)
+]
+)
+
+dnl AX_MSG_RESULT_YN(a)
+dnl results "yes" iff a==1, "no" else
+AC_DEFUN([AX_MSG_RESULT_YN], [x=no
+test "x$1" = "x1" && x=yes
+AC_MSG_RESULT($x)])
+
+dnl AX_MALLOC_ATTRIBUTE - see if gcc will take __attribute__((malloc))
+AC_DEFUN([AX_MALLOC_ATTRIBUTE],
+[
+AC_MSG_CHECKING([whether malloc attribute is understood])
+SAVE_CFLAGS=$CFLAGS
+CFLAGS="-Werror $CFLAGS"
+AC_TRY_COMPILE(,[
+void monkey() __attribute__((malloc));
+],AC_MSG_RESULT([yes]); AC_DEFINE(MALLOC_ATTRIBUTE_OK, 1, [whether malloc attribute is understood]), AC_MSG_RESULT([no]))
+CFLAGS=$SAVE_CFLAGS
+]
+)
+
+dnl builtin_expect is used in module we can't add that in config.h
+AC_DEFUN([AX_BUILTIN_EXPECT],
+[
+AC_MSG_CHECKING([whether __builtin_expect is understood])
+SAVE_CFLAGS=$CFLAGS
+CFLAGS="-Werror $CFLAGS"
+AC_TRY_LINK(,[
+int i;
+if (__builtin_expect(i, 0)) { }
+],
+AC_MSG_RESULT([yes]); EXTRA_CFLAGS_MODULE="$EXTRA_CFLAGS_MODULE -DEXPECT_OK",
+AC_MSG_RESULT([no]);)
+CFLAGS=$SAVE_CFLAGS
+]
+)
+
+dnl AX_EXTRA_DIRS - Let user specify extra dirs for include/libs
+AC_DEFUN([AX_EXTRA_DIRS],
+[
+AC_ARG_WITH(extra-includes,
+[ --with-extra-includes=DIR add extra include paths],
+ use_extra_includes="$withval",
+ use_extra_includes=NO
+)
+if test -n "$use_extra_includes" && \
+ test "$use_extra_includes" != "NO"; then
+ ac_save_ifs=$IFS
+ IFS=':'
+ for dir in $use_extra_includes; do
+ extra_includes="$extra_includes -I$dir"
+ done
+ IFS=$ac_save_ifs
+ CPPFLAGS="$CPPFLAGS $extra_includes"
+fi
+
+AC_ARG_WITH(extra-libs,
+[ --with-extra-libs=DIR add extra library paths],
+ use_extra_libs=$withval,
+ use_extra_libs=NO
+)
+if test -n "$use_extra_libs" && \
+ test "$use_extra_libs" != "NO"; then
+ ac_save_ifs=$IFS
+ IFS=':'
+ for dir in $use_extra_libs; do
+ extra_libraries="$extra_libraries -L$dir"
+ done
+ IFS=$ac_save_ifs
+ LDFLAGS="$LDFLAGS $extra_libraries"
+fi
+]
+)
+
+dnl AX_POPT_CONST - check popt prototype
+AC_DEFUN([AX_POPT_CONST],
+[
+AC_MSG_CHECKING([popt prototype])
+SAVE_CXXFLAGS=$CXXFLAGS
+CXXFLAGS="-Werror $CXXFLAGS"
+AC_TRY_COMPILE([#include <popt.h>],
+[
+int c; char **v;
+poptGetContext(0, c, v, 0, 0);
+],
+AC_MSG_RESULT([takes char **]);,
+AC_MSG_RESULT([takes const char **]); AC_DEFINE(CONST_POPT, 1, [whether popt prototype takes a const char **]))
+CXXFLAGS="$SAVE_CXXFLAGS"
+]
+)
+
+dnl AX_CHECK_SSTREAM - check if local sstream is needed to compile OK
+AC_DEFUN([AX_CHECK_SSTREAM],
+[
+AC_MSG_CHECKING([whether to use included sstream])
+AC_TRY_COMPILE([#include <sstream>], [],
+AC_MSG_RESULT([no]);,
+AC_MSG_RESULT([yes]); OP_CXXFLAGS="$OP_CXXFLAGS -I\${top_srcdir}/include")
+]
+)
+
+dnl AX_CHECK_TYPEDEF(typedef_name, type, action-if-true, action-if-false)
+dnl exec action-if-true if typedef_name is a typedef to type else exec
+dnl action-if-false
+dnl currently work only with type typedef'ed in stddef.h
+AC_DEFUN([AX_CHECK_TYPEDEF], [
+dnl AC_LANG_PUSH(C) not in autoconf 2.13
+AC_LANG_SAVE
+AC_LANG_C
+SAVE_CFLAGS=$CFLAGS
+CFLAGS="-Werror $CFLAGS"
+
+AC_TRY_COMPILE(
+ [
+ #include <stddef.h>
+ ],
+ [
+ typedef void (*fct1)($1);
+ typedef void (*fct2)($2);
+ fct1 f1 = 0;
+ fct2 f2 = 0;
+ if (f1 == f2) {}
+ ],
+[$3],[$4])
+
+CFLAGS=$SAVE_CFLAGS
+AC_LANG_RESTORE
+])
+
+
+dnl AX_TYPEDEFED_NAME(typedef_name, candidate_list, var_name)
+dnl set var_name to the typedef name of $1 which must be in canditate_list
+dnl else produce a fatal error
+AC_DEFUN([AX_TYPEDEFED_NAME], [
+ AC_MSG_CHECKING([type of $1])
+ for f in $2; do
+ AX_CHECK_TYPEDEF($1, $f, $3="$f", $3="")
+ if test -n "${$3}"; then
+ break
+ fi
+ done
+ if test -n "${$3}"; then
+ AC_MSG_RESULT([${$3}])
+ else
+ AC_MSG_ERROR([not found])
+ fi
+])
+
+dnl find a binary in the path
+AC_DEFUN([QT_FIND_PATH],
+[
+ AC_MSG_CHECKING([for $1])
+ AC_CACHE_VAL(qt_cv_path_$1,
+ [
+ qt_cv_path_$1="NONE"
+ if test -n "$$2"; then
+ qt_cv_path_$1="$$2";
+ else
+ dirs="$3"
+ qt_save_IFS=$IFS
+ IFS=':'
+ for dir in $PATH; do
+ dirs="$dirs $dir"
+ done
+ IFS=$qt_save_IFS
+
+ for dir in $dirs; do
+ if test -x "$dir/$1"; then
+ if test -n "$5"; then
+ evalstr="$dir/$1 $5 2>&1 "
+ if eval $evalstr; then
+ qt_cv_path_$1="$dir/$1"
+ break
+ fi
+ else
+ qt_cv_path_$1="$dir/$1"
+ break
+ fi
+ fi
+ done
+ fi
+ ])
+
+ if test -z "$qt_cv_path_$1" || test "$qt_cv_path_$1" = "NONE"; then
+ AC_MSG_RESULT(not found)
+ $4
+ else
+ AC_MSG_RESULT($qt_cv_path_$1)
+ $2=$qt_cv_path_$1
+ fi
+])
+
+dnl Find the uic compiler on the path or in qt_cv_dir
+AC_DEFUN([QT_FIND_UIC],
+[
+ QT_FIND_PATH(uic, ac_uic, $qt_cv_dir/bin)
+ if test -z "$ac_uic" -a "$FATAL" = 1; then
+ AC_MSG_ERROR([uic binary not found in \$PATH or $qt_cv_dir/bin !])
+ fi
+])
+
+dnl Find the right moc in path/qt_cv_dir
+AC_DEFUN([QT_FIND_MOC],
+[
+ QT_FIND_PATH(moc2, ac_moc2, $qt_cv_dir/bin)
+ QT_FIND_PATH(moc, ac_moc1, $qt_cv_dir/bin)
+
+ if test -n "$ac_moc1" -a -n "$ac_moc2"; then
+ dnl found both. Prefer Qt3's if it exists else moc2
+ $ac_moc1 -v 2>&1 | grep "Qt 3" >/dev/null
+ if test "$?" = 0; then
+ ac_moc=$ac_moc1;
+ else
+ ac_moc=$ac_moc2;
+ fi
+ else
+ if test -n "$ac_moc1"; then
+ ac_moc=$ac_moc1;
+ else
+ ac_moc=$ac_moc2;
+ fi
+ fi
+
+ if test -z "$ac_moc" -a "$FATAL" = 1; then
+ AC_MSG_ERROR([moc binary not found in \$PATH or $qt_cv_dir/bin !])
+ fi
+])
+
+dnl check a particular libname
+AC_DEFUN([QT_TRY_LINK],
+[
+ SAVE_LIBS="$LIBS"
+ LIBS="$LIBS $1"
+ AC_TRY_LINK([
+ #include <qglobal.h>
+ #include <qstring.h>
+ ],
+ [
+ QString s("mangle_failure");
+ #if (QT_VERSION < 221)
+ break_me_(\\\);
+ #endif
+ ],
+ qt_cv_libname=$1,
+ )
+ LIBS="$SAVE_LIBS"
+])
+
+dnl check we can do a compile
+AC_DEFUN([QT_CHECK_COMPILE],
+[
+ AC_MSG_CHECKING([for Qt library name])
+
+ AC_CACHE_VAL(qt_cv_libname,
+ [
+ AC_LANG_CPLUSPLUS
+ SAVE_CXXFLAGS=$CXXFLAGS
+ CXXFLAGS="$CXXFLAGS $QT_INCLUDES $QT_LDFLAGS"
+
+ for libname in -lqt-mt -lqt3 -lqt2 -lqt;
+ do
+ QT_TRY_LINK($libname)
+ if test -n "$qt_cv_libname"; then
+ break;
+ fi
+ done
+
+ CXXFLAGS=$SAVE_CXXFLAGS
+ ])
+
+ if test -z "$qt_cv_libname"; then
+ AC_MSG_RESULT([failed])
+ if test "$FATAL" = 1 ; then
+ AC_MSG_ERROR([Cannot compile a simple Qt executable. Check you have the right \$QTDIR !])
+ fi
+ else
+ AC_MSG_RESULT([$qt_cv_libname])
+ fi
+])
+
+dnl get Qt version we're using
+AC_DEFUN([QT_GET_VERSION],
+[
+ AC_CACHE_CHECK([Qt version],lyx_cv_qtversion,
+ [
+ AC_LANG_CPLUSPLUS
+ SAVE_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS $QT_INCLUDES"
+
+ cat > conftest.$ac_ext <<EOF
+#line __oline__ "configure"
+#include "confdefs.h"
+#include <qglobal.h>
+"%%%"QT_VERSION_STR"%%%"
+EOF
+ lyx_cv_qtversion=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
+ grep '^"%%%"' 2>/dev/null | \
+ sed -e 's/"%%%"//g' -e 's/"//g'`
+ rm -f conftest.$ac_ext
+ CPPFLAGS=$SAVE_CPPFLAGS
+ ])
+
+ QT_VERSION=$lyx_cv_qtversion
+ AC_SUBST(QT_VERSION)
+])
+
+dnl start here
+AC_DEFUN([QT_DO_IT_ALL],
+[
+ dnl Please leave this alone. I use this file in
+ dnl oprofile.
+ FATAL=0
+
+ AC_ARG_WITH(qt-dir, [ --with-qt-dir where the root of Qt is installed ],
+ [ qt_cv_dir=`eval echo "$withval"/` ])
+
+ AC_ARG_WITH(qt-includes, [ --with-qt-includes where the Qt includes are. ],
+ [ qt_cv_includes=`eval echo "$withval"` ])
+
+ AC_ARG_WITH(qt-libraries, [ --with-qt-libraries where the Qt library is installed.],
+ [ qt_cv_libraries=`eval echo "$withval"` ])
+
+ dnl pay attention to $QTDIR unless overridden
+ if test -z "$qt_cv_dir"; then
+ qt_cv_dir=$QTDIR
+ fi
+
+ dnl derive inc/lib if needed
+ if test -n "$qt_cv_dir"; then
+ if test -z "$qt_cv_includes"; then
+ qt_cv_includes=$qt_cv_dir/include
+ fi
+ if test -z "$qt_cv_libraries"; then
+ qt_cv_libraries=$qt_cv_dir/lib
+ fi
+ fi
+
+ dnl flags for compilation
+ QT_INCLUDES=
+ QT_LDFLAGS=
+ if test -n "$qt_cv_includes"; then
+ QT_INCLUDES="-I$qt_cv_includes"
+ fi
+ if test -n "$qt_cv_libraries"; then
+ QT_LDFLAGS="-L$qt_cv_libraries"
+ fi
+ AC_SUBST(QT_INCLUDES)
+ AC_SUBST(QT_LDFLAGS)
+
+ QT_FIND_MOC
+ MOC=$ac_moc
+ AC_SUBST(MOC)
+ QT_FIND_UIC
+ UIC=$ac_uic
+ AC_SUBST(UIC)
+
+ QT_CHECK_COMPILE
+
+ QT_LIB=$qt_cv_libname;
+ AC_SUBST(QT_LIB)
+
+ if test -n "$qt_cv_libname"; then
+ QT_GET_VERSION
+ fi
+])
+
+dnl AX_CXXFLAGS_OPTIONS(var-name, option)
+dnl add option to var-name if $CXX support it.
+AC_DEFUN([AX_CHECK_PRECOMPILED_HEADER], [
+AC_MSG_CHECKING([whether ${CXX} support precompiled header])
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+SAVE_CXXFLAGS=$CXXFLAGS
+dnl we consider than if -Winvalid-pch is accepted pch will works ...
+CXXFLAGS=-Winvalid-pch
+dnl but we don't want -Winvalid-pch else compilation will fail due -Werror and
+dnl the fact than some pch will be invalid for the given compilation option
+AC_TRY_COMPILE(,[;],AC_MSG_RESULT([yes]); $1="${$1} -include bits/stdc++.h", AC_MSG_RESULT([no]))
+CXXFLAGS=$SAVE_CXXFLAGS
+AC_LANG_RESTORE
+])
+
+dnl AX_CHECK_DOCBOOK
+AC_DEFUN([AX_CHECK_DOCBOOK], [
+# It's just rude to go over the net to build
+XSLTPROC_FLAGS=--nonet
+DOCBOOK_ROOT=
+if test ! -f /etc/xml/catalog; then
+ for i in /usr/share/sgml/docbook/stylesheet/xsl/nwalsh /usr/share/sgml/docbook/xsl-stylesheets/;
+ do
+ if test -d "$i"; then
+ DOCBOOK_ROOT=$i
+ fi
+ done
+
+ # Last resort - try net
+ if test -z "$DOCBOOK_ROOT"; then
+ XSLTPROC_FLAGS=
+ fi
+else
+ XML_CATALOG=/etc/xml/catalog
+ CAT_ENTRY_START='<!--'
+ CAT_ENTRY_END='-->'
+fi
+
+AC_CHECK_PROG(XSLTPROC,xsltproc,xsltproc,)
+XSLTPROC_WORKS=no
+if test -n "$XSLTPROC"; then
+ AC_MSG_CHECKING([whether xsltproc works])
+
+ if test -n "$XML_CATALOG"; then
+ DB_FILE="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"
+ else
+ DB_FILE="$DOCBOOK_ROOT/docbook.xsl"
+ fi
+
+ $XSLTPROC $XSLTPROC_FLAGS $DB_FILE >/dev/null 2>&1 << END
+<?xml version="1.0" encoding='ISO-8859-1'?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<book id="test">
+</book>
+END
+ if test "$?" = 0; then
+ XSLTPROC_WORKS=yes
+ fi
+ AC_MSG_RESULT($XSLTPROC_WORKS)
+fi
+AM_CONDITIONAL(have_xsltproc, test "$XSLTPROC_WORKS" = "yes")
+
+AC_SUBST(XML_CATALOG)
+AC_SUBST(XSLTPROC_FLAGS)
+AC_SUBST(DOCBOOK_ROOT)
+AC_SUBST(CAT_ENTRY_START)
+AC_SUBST(CAT_ENTRY_END)
+])
+
+dnl AX_CFLAGS_OPTIONS(var-name, option)
+dnl add option to var-name if $CC support it.
+AC_DEFUN([AX_CFLAGS_OPTION], [
+AC_MSG_CHECKING([whether ${CC} $2 is understood])
+AC_LANG_SAVE
+AC_LANG_C
+SAVE_CFLAGS=$CFLAGS
+CFLAGS=$2
+AC_TRY_COMPILE(,[;],AC_MSG_RESULT([yes]); $1="${$1} $2",AC_MSG_RESULT([no]))
+CFLAGS=$SAVE_CFLAGS
+AC_LANG_RESTORE
+])
+
+
+dnl AX_CXXFLAGS_OPTIONS(var-name, option)
+dnl add option to var-name if $CXX support it.
+AC_DEFUN([AX_CXXFLAGS_OPTION], [
+AC_MSG_CHECKING([whether ${CXX} $2 is understood])
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+SAVE_CXXFLAGS=$CXXFLAGS
+CXXFLAGS=$2
+AC_TRY_COMPILE(,[;],AC_MSG_RESULT([yes]); $1="${$1} $2",AC_MSG_RESULT([no]))
+CXXFLAGS=$SAVE_CXXFLAGS
+AC_LANG_RESTORE
+])
+
+dnl AX_COPY_IF_CHANGE(source, dest)
+dnl copy source to dest if they don't compare equally or if dest doesn't exist
+AC_DEFUN([AX_COPY_IF_CHANGE], [
+if test -r $2; then
+ if cmp $1 $2 > /dev/null; then
+ echo $2 is unchanged
+ else
+ cp -f $1 $2
+ fi
+else
+ cp -f $1 $2
+fi
+])
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/automake-foreign.patch b/import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/automake-foreign.patch
new file mode 100644
index 000000000..b9bb6c577
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/automake-foreign.patch
@@ -0,0 +1,12 @@
+oprofile doesn't want GNU-levels of automake strictness so tell it to be "foreign".
+
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+diff --git a/configure.ac b/configure.ac
+index 5740585..cf6c316 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -16 +16 @@ AC_CONFIG_SRCDIR([libop/op_config.h])
+-AM_INIT_AUTOMAKE
++AM_INIT_AUTOMAKE([foreign])
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/musl.patch b/import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/musl.patch
new file mode 100644
index 000000000..51db40845
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/musl.patch
@@ -0,0 +1,46 @@
+Fix glibc-isms so that oprofile builds with musl.
+
+Patch taken from openwrt (https://github.com/openwrt-mirror/openwrt/blob/master/package/devel/oprofile/patches/100-musl.patch)
+
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+--- a/pe_profiling/operf.cpp
++++ b/pe_profiling/operf.cpp
+@@ -857,11 +857,14 @@ static int __delete_old_previous_sample_
+ int tflag __attribute__((unused)),
+ struct FTW *ftwbuf __attribute__((unused)))
+ {
++ int err;
++
+ if (remove(fpath)) {
++ err = errno;
+ perror("sample data removal error");
+- return FTW_STOP;
++ return err;
+ } else {
+- return FTW_CONTINUE;
++ return 0;
+ }
+ }
+
+@@ -896,7 +899,7 @@ static void convert_sample_data(void)
+ return;
+
+ if (!operf_options::append) {
+- int flags = FTW_DEPTH | FTW_ACTIONRETVAL;
++ int flags = FTW_DEPTH;
+ errno = 0;
+ if (nftw(previous_sampledir.c_str(), __delete_old_previous_sample_data, 32, flags) !=0 &&
+ errno != ENOENT) {
+--- a/libop/op_events.c
++++ b/libop/op_events.c
+@@ -83,7 +83,7 @@ static int parse_hex(char const * str)
+ static u64 parse_long_hex(char const * str)
+ {
+ u64 value;
+- if (sscanf(str, "%Lx", &value) != 1)
++ if (sscanf(str, "0x%llx", &value) != 1)
+ parse_error("expected long hexadecimal value");
+
+ fflush(stderr);
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/oprofile-cross-compile-tests.patch b/import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/oprofile-cross-compile-tests.patch
new file mode 100644
index 000000000..aefa9548e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/oprofile-cross-compile-tests.patch
@@ -0,0 +1,98 @@
+Prevent running check tests on host if cross compiling
+
+This patch enables running the 'make check' tests on the target
+in a cross-compiled environment. If not cross-compiling, then 'make
+ check' builds and executes the tests; no change from this patch.
+In a cross-compiling environment, the make variable CROSS_COMPILE is
+set which bypasses assiging tests to the makekfile variable TESTS.
+Since TESTS is empty, the 'make check' process never tries to run the
+tests on the hosts. On the target, the tests must be run manually.
+
+Also, in the libutil++ tests, a makefile variable SRCDIR is passed into
+the compilation phase, pointing to the runtime location of the test
+'file-manip-tests'. The mechanism used for a host test, based on
+'topdir' doesn't work. Instead, if CROSS_COMPILE is set, the
+makefile takes the path of SRCDIR from the build environment and not
+from an expression based on the host path 'topdir'.
+
+Upstream-Status: Pending
+
+Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
+
+diff --git a/configure.ac b/configure.ac
+index 41ece64..ce5a16f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -392,6 +392,7 @@ AC_ARG_ENABLE(account-check,
+ enable_account_check=$enableval, enable_account_check=yes)
+
+ AM_CONDITIONAL(CHECK_ACCOUNT, test "x$enable_account_check" = "xyes")
++AM_CONDITIONAL(CROSS_COMPILE, test "x$cross_compiling" = "xyes")
+
+ AC_SUBST(OP_CFLAGS)
+ AC_SUBST(OP_CXXFLAGS)
+diff --git a/libdb/tests/Makefile.am b/libdb/tests/Makefile.am
+index 8a69003..d820090 100644
+--- a/libdb/tests/Makefile.am
++++ b/libdb/tests/Makefile.am
+@@ -13,4 +13,6 @@ check_PROGRAMS = db_test
+ db_test_SOURCES = db_test.c
+ db_test_LDADD = ../libodb.a ../../libutil/libutil.a
+
++if ! CROSS_COMPILE
+ TESTS = ${check_PROGRAMS}
++endif
+diff --git a/libop/tests/Makefile.am b/libop/tests/Makefile.am
+index 8a79eb5..6d417c4 100644
+--- a/libop/tests/Makefile.am
++++ b/libop/tests/Makefile.am
+@@ -33,4 +33,6 @@ load_events_files_tests_LDADD = ${COMMON_LIBS}
+ mangle_tests_SOURCES = mangle_tests.c
+ mangle_tests_LDADD = ${COMMON_LIBS}
+
++if ! CROSS_COMPILE
+ TESTS = ${check_PROGRAMS} utf8_checker.sh
++endif
+diff --git a/libregex/tests/Makefile.am b/libregex/tests/Makefile.am
+index 6f19838..1d176f9 100644
+--- a/libregex/tests/Makefile.am
++++ b/libregex/tests/Makefile.am
+@@ -18,4 +18,6 @@ java_test_LDADD = \
+
+ EXTRA_DIST = mangled-name.in
+
++if ! CROSS_COMPILE
+ TESTS = ${check_PROGRAMS}
++endif
+diff --git a/libutil++/tests/Makefile.am b/libutil++/tests/Makefile.am
+index 51af031..a01ea2d 100644
+--- a/libutil++/tests/Makefile.am
++++ b/libutil++/tests/Makefile.am
+@@ -1,7 +1,9 @@
+
+ REALPATH= readlink -f
+
++if ! CROSS_COMPILE
+ SRCDIR := $(shell $(REALPATH) $(topdir)/libutil++/tests/ )
++endif
+
+ AM_CPPFLAGS = \
+ -I ${top_srcdir}/libutil++ -D SRCDIR="\"$(SRCDIR)/\"" @OP_CPPFLAGS@
+@@ -46,4 +48,6 @@ cached_value_tests_LDADD = ${COMMON_LIBS}
+ utility_tests_SOURCES = utility_tests.cpp
+ utility_tests_LDADD = ${COMMON_LIBS}
+
++if ! CROSS_COMPILE
+ TESTS = ${check_PROGRAMS}
++endif
+diff --git a/libutil/tests/Makefile.am b/libutil/tests/Makefile.am
+index dfcd6ec..e8831b5 100644
+--- a/libutil/tests/Makefile.am
++++ b/libutil/tests/Makefile.am
+@@ -12,4 +12,6 @@ file_tests_LDADD = ../libutil.a
+ string_tests_SOURCES = string_tests.c
+ string_tests_LDADD = ../libutil.a
+
++if ! CROSS_COMPILE
+ TESTS = ${check_PROGRAMS}
++endif
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/root-home-dir.patch b/import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/root-home-dir.patch
new file mode 100644
index 000000000..3eaf6a794
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/root-home-dir.patch
@@ -0,0 +1,44 @@
+oprofile: Determine the root home directory dynamically
+
+This commit detects the root home directory dynamically with changes to
+the oprofile gui app source.
+
+The commit replaces an earlier fix that detected and adjusted a
+'non-standard' root home directory at build time. The advantage of this
+patch is that the oprofile tools are adjusted to the current run-time
+path to ~root, not the build time path.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
+
+Index: oprofile-1.0.0/doc/oprofile.html
+===================================================================
+--- oprofile-1.0.0.orig/doc/oprofile.html 2014-11-03 17:55:31.511034857 +0000
++++ oprofile-1.0.0/doc/oprofile.html 2014-11-03 17:57:26.415037988 +0000
+@@ -1563,8 +1563,8 @@
+ <span class="emphasis"><em>must</em></span> stop it in a controlled manner in order to process
+ the profile data it has collected. Use <code class="code">kill -SIGINT &lt;operf-PID&gt;</code>
+ for this purpose. It is recommended that when running <span class="command"><strong>operf</strong></span>
+- with this option, your current working directory should be <code class="filename">/root</code> or a subdirectory
+- of <code class="filename">/root</code> to avoid storing sample data files in locations accessible by regular users.
++ with this option, your current working directory should be <code class="filename">~root</code> or a subdirectory
++ of <code class="filename">~root</code> to avoid storing sample data files in locations accessible by regular users.
+ </p>
+ </dd>
+ <dt>
+Index: oprofile-1.0.0/doc/oprofile.xml
+===================================================================
+--- oprofile-1.0.0.orig/doc/oprofile.xml 2014-11-03 17:55:31.515034857 +0000
++++ oprofile-1.0.0/doc/oprofile.xml 2014-11-03 17:58:03.719039005 +0000
+@@ -654,8 +654,8 @@
+ <emphasis>must</emphasis> stop it in a controlled manner in order to process
+ the profile data it has collected. Use <code>kill -SIGINT &lt;operf-PID&gt;</code>
+ for this purpose. It is recommended that when running <command>operf</command>
+- with this option, your current working directory should be <filename>/root</filename> or a subdirectory
+- of <filename>/root</filename> to avoid storing sample data files in locations accessible by regular users.
++ with this option, your current working directory should be <filename>~root</filename> or a subdirectory
++ of <filename>~root</filename> to avoid storing sample data files in locations accessible by regular users.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/run-ptest b/import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/run-ptest
new file mode 100644
index 000000000..4814be652
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/run-ptest
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+saved_dir=$PWD
+for dir in */tests ; do
+ cd $dir
+ for atest in * ; do
+ if [ \( -x $atest \) -a \( -f $atest \) ] ; then
+ ./$atest > ${atest}.stdout 2> ${atest}.stderr
+ if [ $? = 0 ] ; then
+ echo "PASS: $dir $atest"
+ rm ${atest}.stdout ${atest}.stderr
+ else
+ echo "FAIL: ${dir}/${atest}"
+ fi
+ fi
+ done
+ cd $saved_dir
+done
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.1.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.1.0.bb
new file mode 100644
index 000000000..92a94ad0d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.1.0.bb
@@ -0,0 +1,10 @@
+require oprofile.inc
+
+DEPENDS += "virtual/kernel"
+DEPENDS_append_powerpc64 = " libpfm4"
+
+SRC_URI[md5sum] = "248c4c069f9476f427fa7195563f9867"
+SRC_URI[sha256sum] = "cf759a6de1a6033d5dfc93bda129a9f2e128aecc4238cc657feb0801d1b0366c"
+
+S = "${WORKDIR}/oprofile-${PV}"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb
index f0efc51e1..c0f220fa6 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb
@@ -8,6 +8,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b30d3b2750b668133fc17b401e1b98f8"
SRC_URI = "${DEBIAN_MIRROR}/main/c/${BPN}/${BPN}_${PV}.orig.tar.gz \
file://0001-do-not-create-a-run-test-to-determine-order-of-bitfi.patch \
file://0001-genisoimage-Fix-fprintf-format-errors.patch \
+ file://0001-define-__THROW-to-avoid-build-issue-with-musl.patch \
+ file://0002-Do-not-use-rcmd-on-build-with-musl.patch \
"
SRC_URI[md5sum] = "efe08e2f3ca478486037b053acd512e9"
SRC_URI[sha256sum] = "d1c030756ecc182defee9fe885638c1785d35a2c2a297b4604c0e0dcc78e47da"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/files/0001-define-__THROW-to-avoid-build-issue-with-musl.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/files/0001-define-__THROW-to-avoid-build-issue-with-musl.patch
new file mode 100644
index 000000000..b3beb069e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/files/0001-define-__THROW-to-avoid-build-issue-with-musl.patch
@@ -0,0 +1,47 @@
+From 7c3036609494296f7c29413bf3acba829c81f62c Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@openwide.fr>
+Date: Sat, 8 Aug 2015 22:58:57 +0200
+Subject: [PATCH 1/2] define __THROW to avoid build issue with musl
+
+Fixes:
+http://autobuild.buildroot.net/results/d27/d2781e70b04a207e2e9397d888032294c7285034/build-end.log
+
+Signed-off-by: Romain Naour <romain.naour@openwide.fr>
+---
+ genisoimage/sha256.h | 4 ++++
+ genisoimage/sha512.h | 4 ++++
+ 2 files changed, 8 insertions(+)
+
+diff --git a/genisoimage/sha256.h b/genisoimage/sha256.h
+index e7f4cb9..bcae7ef 100644
+--- a/genisoimage/sha256.h
++++ b/genisoimage/sha256.h
+@@ -29,6 +29,10 @@
+ #include <stdint.h>
+ #include <stdio.h>
+
++/* define __THROW to avoid build issue when it's not available from the libc */
++#ifndef __THROW
++# define __THROW
++#endif
+
+ /* Structure to save state of computation between the single steps. */
+ struct sha256_ctx
+diff --git a/genisoimage/sha512.h b/genisoimage/sha512.h
+index 7298355..8cee8b0 100644
+--- a/genisoimage/sha512.h
++++ b/genisoimage/sha512.h
+@@ -29,6 +29,10 @@
+ #include <stdint.h>
+ #include <stdio.h>
+
++/* define __THROW to avoid build issue when it's not available from the libc */
++#ifndef __THROW
++# define __THROW
++#endif
+
+ /* Structure to save state of computation between the single steps. */
+ struct sha512_ctx
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/files/0002-Do-not-use-rcmd-on-build-with-musl.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/files/0002-Do-not-use-rcmd-on-build-with-musl.patch
new file mode 100644
index 000000000..547a21c67
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/files/0002-Do-not-use-rcmd-on-build-with-musl.patch
@@ -0,0 +1,31 @@
+From 510838b2c96a9b097b3ee2694cba1c3623b0bac7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 21 Sep 2017 22:38:05 -0700
+Subject: [PATCH 2/2] Do not use rcmd on build with musl
+
+cdrkit unconditionally enables code using rcmd(3), which isn't available
+on musl.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ include/xconfig.h.in | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/include/xconfig.h.in b/include/xconfig.h.in
+index 476c00b..6b4b298 100644
+--- a/include/xconfig.h.in
++++ b/include/xconfig.h.in
+@@ -186,8 +186,9 @@
+ * Instead use the tests AC_SMALL_FSEEKO/AC_SMALL/STELLO and make sure
+ * they are placed before the large file tests.
+ */
+-
++#ifdef __GLIBC__
+ #define HAVE_RCMD 1 /* rcmd() is present in libc/libsocket */
++#endif
+ #define HAVE_SOCKET 1 /* socket() is present in libc/libsocket */
+ #define HAVE_SOCKETPAIR 1 /* socketpair() is present in libc/libsocket */
+ #define HAVE_GETSERVBYNAME 1 /* getservbyname() is present in libc/libsocket */
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0001-audio_alsa09.c-alsa-drain-fix.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0001-audio_alsa09.c-alsa-drain-fix.patch
new file mode 100644
index 000000000..6c7f3bd30
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0001-audio_alsa09.c-alsa-drain-fix.patch
@@ -0,0 +1,26 @@
+From a860fe0796c43e35eac9783140fcb563cab9f55a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 8 Jun 2017 23:09:51 -0700
+Subject: [PATCH 1/3] audio_alsa09.c: alsa drain fix
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ audio_alsa09.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/audio_alsa09.c b/audio_alsa09.c
+index 534e3db..d9450e6 100644
+--- a/audio_alsa09.c
++++ b/audio_alsa09.c
+@@ -506,7 +506,7 @@ void esd_audio_flush(void)
+ }
+
+ if (alsa_playback_handle != NULL)
+- snd_pcm_drain( alsa_playback_handle );
++ snd_pcm_drop( alsa_playback_handle );
+
+ if (alsadbg)
+ print_state();
+--
+2.13.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0001-replace-missing-AM_PATH_AUDIOFILE-by-PKG_CHECK_MODUL.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0001-replace-missing-AM_PATH_AUDIOFILE-by-PKG_CHECK_MODUL.patch
deleted file mode 100644
index 89c97a4fc..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0001-replace-missing-AM_PATH_AUDIOFILE-by-PKG_CHECK_MODUL.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 218e0702d6ce4d2cb20d5d108daa16afca2b7c41 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Fri, 16 Dec 2016 13:22:51 +0100
-Subject: [PATCH] replace missing AM_PATH_AUDIOFILE by PKG_CHECK_MODULES(
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstrem-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 486c492..dccfd1b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -353,7 +353,7 @@ echo "---------------------------------------------------------------------"
- echo "--- Checking for the audiofile library. NOTE: This library is now"
- echo "--- REQUIRED from proper compilation of the esound package."
-
--AM_PATH_AUDIOFILE(0.1.5, [
-+PKG_CHECK_MODULES(AUDIOFILE, audiofile, [
-
- build_esdplay=true
- echo "--- libaudiofile found. Building esound with audiofile support"
---
-2.7.4
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0002-Undefine-open64-and-fopen64.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0002-Undefine-open64-and-fopen64.patch
new file mode 100644
index 000000000..337546abe
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0002-Undefine-open64-and-fopen64.patch
@@ -0,0 +1,35 @@
+From 1fbee6e96384f340b816e221fe1c2f3ff0b487bf Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 8 Jun 2017 23:11:31 -0700
+Subject: [PATCH 2/3] Undefine open64 and fopen64
+
+Since the signatures do not match with libc
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ esddsp.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/esddsp.c b/esddsp.c
+index d3c6ea9..17b5949 100644
+--- a/esddsp.c
++++ b/esddsp.c
+@@ -290,6 +290,7 @@ open (const char *pathname, int flags, ...)
+ return open_wrapper(func, pathname, flags, mode);
+ }
+
++#undef open64
+ int
+ open64 (const char *pathname, int flags, ...)
+ {
+@@ -374,6 +375,7 @@ fopen (const char *path, const char *mode)
+ return fopen_wrapper(func, path, mode);
+ }
+
++#undef fopen64
+ FILE *
+ fopen64 (const char *path, const char *mode)
+ {
+--
+2.13.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0003-Use-I-path-in-configure.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0003-Use-I-path-in-configure.patch
new file mode 100644
index 000000000..62c880d9d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0003-Use-I-path-in-configure.patch
@@ -0,0 +1,38 @@
+From 979a02d9ec9c28686021cd2b49ca55d2195c9dce Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 8 Jun 2017 23:12:36 -0700
+Subject: [PATCH 3/3] Use -I=<path> in configure
+
+This helps to use proper sysroot in
+cross build environment
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 5645dce..d374cda 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -208,7 +208,7 @@ if test "x$enable_local_sound" = "xyes"; then
+ AC_CHECK_HEADERS(CoreAudio/CoreAudio.h)
+ # mme_api.h directly includes other files from the mme subdir
+ xCPPFLAGS="$CPPFLAGS"
+- CPPFLAGS="$CPPFLAGS -I/usr/include/mme"
++ CPPFLAGS="$CPPFLAGS -I=/usr/include/mme"
+ AC_CHECK_HEADERS(mme/mme_api.h)
+ CPPFLAGS="$xCPPFLAGS"
+ AM_PATH_ARTS(, HAVE_ARTS=yes, HAVE_ARTS=no)
+@@ -269,7 +269,7 @@ if test "x$enable_local_sound" = "xyes"; then
+ osf*)
+ found_sound=yes
+ AC_DEFINE(DRIVER_OSF, 1, [Defined if OSF backend is enabled])
+- CPPFLAGS="$CPPFLAGS -I/usr/include/mme"
++ CPPFLAGS="$CPPFLAGS -I=/usr/include/mme"
+ SOUND_LIBS=-lmme
+ esac
+ fi
+--
+2.13.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/configure-fix.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/configure-fix.patch
deleted file mode 100644
index 8fdc35ad5..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/configure-fix.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- /tmp/configure.ac 2008-06-02 16:46:55.640793306 +0200
-+++ esound-0.2.36/configure.ac 2008-06-02 16:47:26.030793494 +0200
-@@ -29,6 +29,7 @@
- AC_SUBST(pkgdocdir)
-
- AC_PROG_CC
-+AC_PROG_CXX
- AC_PROG_CPP
- AC_LIBTOOL_WIN32_DLL
- AM_PROG_LIBTOOL
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/esound_0.2.36-1ubuntu5.diff.gz b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/esound_0.2.36-1ubuntu5.diff.gz
deleted file mode 100644
index 719f5d09d..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/esound_0.2.36-1ubuntu5.diff.gz
+++ /dev/null
Binary files differ
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound_0.2.36.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound_0.2.36.bb
deleted file mode 100644
index d19ba8223..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound_0.2.36.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-SUMMARY = "Enlightened Sound Daemon"
-SECTION = "gpe/base"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605"
-DEPENDS = "audiofile"
-
-inherit gnome binconfig
-
-PR = "r1"
-
-SRC_URI = " \
- ftp://ftp.gnome.org/pub/GNOME/sources/esound/0.2/esound-0.2.36.tar.bz2;name=archive \
- file://esound_0.2.36-1ubuntu5.diff.gz \
- file://no-docs.patch \
- file://configure-fix.patch \
- file://0001-replace-missing-AM_PATH_AUDIOFILE-by-PKG_CHECK_MODUL.patch \
-"
-
-SRC_URI[archive.md5sum] = "3facb5aa0115cc1c31771b9ad454ae76"
-SRC_URI[archive.sha256sum] = "68bf399fcbd45c5e9ba99cd13a3a479e4ef2bc5dc52e540ffa00aef1e1b19a76"
-
-EXTRA_OECONF = " \
- --disable-alsa \
- --disable-arts \
- --disable-artstest \
-"
-
-CFLAGS += "-lm"
-
-do_configure_prepend() {
- sed -i -e 's:/usr/include/mme:${STAGING_INCDIR}/mme:g' ${S}/configure.ac
-}
-
-PACKAGES =+ "esddsp esd esd-utils"
-
-FILES_esddsp = "${bindir}/esddsp ${libdir}/libesddsp.so.*"
-FILES_esd = "${bindir}/esd"
-FILES_esd-utils = "${bindir}/*"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound_0.2.41.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound_0.2.41.bb
new file mode 100644
index 000000000..0ddf94f2d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound_0.2.41.bb
@@ -0,0 +1,37 @@
+SUMMARY = "Enlightened Sound Daemon"
+SECTION = "gpe/base"
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605"
+DEPENDS = "audiofile"
+
+inherit gnome
+
+SRC_URI = "ftp://ftp.gnome.org/pub/GNOME/sources/esound/0.2/${P}.tar.bz2;name=archive \
+ file://no-docs.patch \
+ file://0001-audio_alsa09.c-alsa-drain-fix.patch \
+ file://0002-Undefine-open64-and-fopen64.patch \
+ file://0003-Use-I-path-in-configure.patch \
+ "
+SRC_URI[archive.md5sum] = "8d9aad3d94d15e0d59ba9dc0ea990c6c"
+SRC_URI[archive.sha256sum] = "5eb5dd29a64b3462a29a5b20652aba7aa926742cef43577bf0796b787ca34911"
+
+EXTRA_OECONF += " \
+ --disable-arts \
+ --disable-artstest \
+"
+EXTRA_OECONF_remove = "--disable-schemas-install"
+
+CFLAGS += "-lm"
+
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+PACKAGECONFIG[libwrap] = "--with-libwrap,--without-libwrap,tcp-wrappers,"
+PACKAGECONFIG[alsa] = "--enable-alsa --disable-oss,--disable-alsa,alsa-lib,"
+
+PACKAGECONFIG ??= "libwrap alsa \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
+"
+PACKAGES =+ "esddsp esd esd-utils"
+
+FILES_esddsp = "${bindir}/esddsp ${libdir}/libesddsp.so.*"
+FILES_esd = "${bindir}/esd"
+FILES_esd-utils = "${bindir}/*"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/live555/live555.inc b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/live555/live555.inc
index daae8d786..14ea66442 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/live555/live555.inc
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/live555/live555.inc
@@ -16,12 +16,9 @@ MIRRORS += "http://www.live555.com/liveMedia/public/ http://distcache.FreeBSD.or
S = "${WORKDIR}/live"
TARGET_CC_ARCH += "${LDFLAGS}"
-XLOCALE_libc-musl = " -DXLOCALE_NOT_USED"
-XLOCALE ?= ""
-
do_configure() {
cp ${WORKDIR}/config.linux-cross .
- echo "COMPILE_OPTS+=" -fPIC ${XLOCALE}"" >> config.linux-cross
+ echo "COMPILE_OPTS+=" -fPIC -DXLOCALE_NOT_USED"" >> config.linux-cross
./genMakefiles linux-cross
}
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
deleted file mode 100644
index b333fce0b..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/minidlna/minidlna.inc
+++ /dev/null
@@ -1,39 +0,0 @@
-DESCRIPTION = "MiniDLNA (aka ReadyDLNA) is server software with the aim of \
-being fully compliant with DLNA/UPnP-AV clients."
-LICENSE = "GPL-2.0|BSD"
-DEPENDS = "ffmpeg flac libav jpeg sqlite3 libexif libogg libid3tag libvorbis"
-
-# because it depends on libav which has commercial flag
-LICENSE_FLAGS = "commercial"
-
-inherit gettext autotools-brokensep update-rc.d systemd
-
-SRC_URI = "git://git.code.sf.net/p/minidlna/git;branch=master;module=git \
- file://minidlna-daemon.init.d \
- file://minidlna.service "
-
-S = "${WORKDIR}/git"
-
-# This remove "--exclude=autopoint" option from autoreconf argument to avoid
-# configure.ac:30: error: required file './ABOUT-NLS' not found
-EXTRA_AUTORECONF = ""
-
-do_install_append(){
- 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
-
-# Sysvinit script
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/minidlna-daemon.init.d ${D}${sysconfdir}/init.d/minidlna
-
-}
-
-SYSTEMD_SERVICE_${PN} = "minidlna.service"
-
-INITSCRIPT_NAME = "minidlna"
-INITSCRIPT_PARAMS = "defaults 90"
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/minidlna/minidlna_1.1.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/minidlna/minidlna_1.1.5.bb
deleted file mode 100644
index 81d700a7b..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/minidlna/minidlna_1.1.5.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require ${BPN}.inc
-
-SRCREV = "v1_1_5"
-LIC_FILES_CHKSUM = "file://LICENCE.miniupnpd;md5=b0dabf9d8e0f871554e309d62ead8d2b"
-
-PNBLACKLIST[minidlna] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130630/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mplayer2/0001-configure-don-t-disable-ASS-support-when-explicitly-.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mplayer2/0001-configure-don-t-disable-ASS-support-when-explicitly-.patch
deleted file mode 100644
index e232595cd..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mplayer2/0001-configure-don-t-disable-ASS-support-when-explicitly-.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 3541649b711a773aa2e42ac80d9b4c1b36fce23f Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Thu, 27 Mar 2014 00:08:54 +0100
-Subject: [PATCH] configure: don't disable ASS support when explicitly enabled
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- configure | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure b/configure
-index 60fd308..2f7df3b 100755
---- a/configure
-+++ b/configure
-@@ -4346,7 +4346,7 @@ fi
-
-
- echocheck "SSA/ASS support"
--if test "$_ass" = auto ; then
-+if test "$_ass" = auto -o "$_ass" = yes ; then
- if pkg_config_add libass ; then
- _ass=yes
- def_ass='#define CONFIG_ASS 1'
---
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mplayer2/0001-demux_ogg-partially-port-libtheora-glue-code-to-Theo.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mplayer2/0001-demux_ogg-partially-port-libtheora-glue-code-to-Theo.patch
deleted file mode 100644
index b4d98412f..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mplayer2/0001-demux_ogg-partially-port-libtheora-glue-code-to-Theo.patch
+++ /dev/null
@@ -1,136 +0,0 @@
-From 0571bb4f1a6e1934ee7e093ce7aa517b9bac8e6a Mon Sep 17 00:00:00 2001
-From: Awais Belal <awais_belal@mentor.com>
-Date: Sun, 17 Jan 2016 14:46:10 +0500
-Subject: [PATCH] demux_ogg: partially port libtheora glue code to Theora 1.0
- API
-
-This partially backports the following commit to allow building
-with gcc-5.x and otherwise fails to find the definition of
-the _ilog function the way it is used.
-
-https://github.com/pigoz/mplayer-svn/commit/85e51408cd00979fc209da8e3a39b6f0e7f325bc
-
-Signed-off-by: Awais Belal <awais_belal@mentor.com>
----
- libmpdemux/demux_ogg.c | 52 ++++++++++++++++++++++++++------------------------
- 1 file changed, 27 insertions(+), 25 deletions(-)
-
-diff --git a/libmpdemux/demux_ogg.c b/libmpdemux/demux_ogg.c
-index 9eea061..9144426 100644
---- a/libmpdemux/demux_ogg.c
-+++ b/libmpdemux/demux_ogg.c
-@@ -50,8 +50,7 @@
- #endif
-
- #ifdef CONFIG_OGGTHEORA
--#include <theora/theora.h>
--int _ilog (unsigned int); /* defined in many places in theora/lib/ */
-+#include <theora/theoradec.h>
- #endif
-
- #define BLOCK_SIZE 4096
-@@ -62,9 +61,10 @@ int _ilog (unsigned int); /* defined in many places in theora/lib/ */
- */
- #ifdef CONFIG_OGGTHEORA
- typedef struct theora_struct_st {
-- theora_state st;
-- theora_comment cc;
-- theora_info inf;
-+ th_setup_info *tsi;
-+ th_dec_ctx *tctx;
-+ th_comment tc;
-+ th_info ti;
- } theora_struct_t;
- #endif
-
-@@ -117,7 +117,7 @@ typedef struct ogg_stream {
- float samplerate; /// granulpos 2 time
- int64_t lastpos;
- int32_t lastsize;
-- int keyframe_frequency_force;
-+ int keyframe_granule_shift;
-
- // Logical stream state
- ogg_stream_state stream;
-@@ -300,11 +300,10 @@ static unsigned char *demux_ogg_read_packet(ogg_stream_t *os, ogg_packet *pack,
- have theora_state st, until all header packets were passed to the
- decoder. */
- if (!pack->bytes || !(*data&0x80)) {
-- int keyframe_granule_shift = _ilog(os->keyframe_frequency_force - 1);
-- int64_t iframemask = (1 << keyframe_granule_shift) - 1;
-+ int64_t iframemask = iframemask = (1 << os->keyframe_granule_shift) - 1;
-
- if (pack->granulepos >= 0) {
-- os->lastpos = pack->granulepos >> keyframe_granule_shift;
-+ os->lastpos = pack->granulepos >> os->keyframe_granule_shift;
- os->lastpos += pack->granulepos & iframemask;
- *keyframe = (pack->granulepos & iframemask) == 0;
- } else {
-@@ -888,14 +887,15 @@ int demux_ogg_open(demuxer_t *demuxer)
- #ifdef CONFIG_OGGTHEORA
- } else if (pack.bytes >= 7 && !strncmp (&pack.packet[1], "theora", 6)) {
- int errorCode = 0;
-- theora_info inf;
-- theora_comment cc;
-+ th_info ti;
-+ th_comment tc;
-+ th_setup_info *tsi = NULL;
-
-- theora_info_init (&inf);
-- theora_comment_init (&cc);
-+ th_info_init (&ti);
-+ th_comment_init (&tc);
-
-- errorCode = theora_decode_header (&inf, &cc, &pack);
-- if (errorCode) {
-+ errorCode = th_decode_headerin(&ti, &tc, &tsi, &pack);
-+ if (errorCode < 0) {
- mp_msg(MSGT_DEMUX, MSGL_ERR,
- "Theora header parsing failed: %i \n", errorCode);
- } else {
-@@ -904,30 +904,32 @@ int demux_ogg_open(demuxer_t *demuxer)
- sh_v->bih = calloc(1, sizeof(*sh_v->bih));
- sh_v->bih->biSize = sizeof(*sh_v->bih);
- sh_v->bih->biCompression = sh_v->format = FOURCC_THEORA;
-- sh_v->fps = ((double)inf.fps_numerator) / (double)inf.fps_denominator;
-- sh_v->frametime = ((double)inf.fps_denominator) / (double)inf.fps_numerator;
-- sh_v->disp_w = sh_v->bih->biWidth = inf.frame_width;
-- sh_v->disp_h = sh_v->bih->biHeight = inf.frame_height;
-+ sh_v->fps = ((double)ti.fps_numerator) / (double)ti.fps_denominator;
-+ sh_v->frametime = ((double)ti.fps_denominator) / (double)ti.fps_numerator;
-+ sh_v->i_bps = ti.target_bitrate / 8;
-+ sh_v->disp_w = sh_v->bih->biWidth = ti.frame_width;
-+ sh_v->disp_h = sh_v->bih->biHeight = ti.frame_height;
- sh_v->bih->biBitCount = 24;
- sh_v->bih->biPlanes = 3;
- sh_v->bih->biSizeImage = ((sh_v->bih->biBitCount / 8) * sh_v->bih->biWidth * sh_v->bih->biHeight);
- ogg_d->subs[ogg_d->num_sub].samplerate = sh_v->fps;
- ogg_d->subs[ogg_d->num_sub].theora = 1;
-- ogg_d->subs[ogg_d->num_sub].keyframe_frequency_force = inf.keyframe_frequency_force;
-+ ogg_d->subs[ogg_d->num_sub].keyframe_granule_shift = ti.keyframe_granule_shift;
- ogg_d->subs[ogg_d->num_sub].id = n_video;
- n_video++;
- mp_msg(MSGT_DEMUX, MSGL_INFO,
- "[Ogg] stream %d: video (Theora v%d.%d.%d), -vid %d\n",
- ogg_d->num_sub,
-- (int)inf.version_major,
-- (int)inf.version_minor,
-- (int)inf.version_subminor,
-+ (int)ti.version_major,
-+ (int)ti.version_minor,
-+ (int)ti.version_subminor,
- n_video - 1);
- if (mp_msg_test(MSGT_HEADER, MSGL_V))
- print_video_header(sh_v->bih, MSGL_V);
- }
-- theora_comment_clear(&cc);
-- theora_info_clear(&inf);
-+ th_comment_clear(&tc);
-+ th_info_clear(&ti);
-+ th_setup_free(tsi);
- #endif /* CONFIG_OGGTHEORA */
- } else if (pack.bytes >= 4 && !strncmp (&pack.packet[0], "fLaC", 4)) {
- sh_a = new_sh_audio_aid(demuxer, ogg_d->num_sub, n_audio);
---
-1.9.1
-
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
deleted file mode 100644
index 1a4ae27e6..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb
+++ /dev/null
@@ -1,159 +0,0 @@
-SUMMARY = "Open Source multimedia player"
-SECTION = "multimedia"
-HOMEPAGE = "http://www.mplayerhq.hu/"
-DEPENDS = "libvpx libdvdread libtheora virtual/libsdl ffmpeg xsp zlib \
- libpng jpeg liba52 freetype fontconfig alsa-lib lzo ncurses \
- libxv virtual/libx11 libass speex faad2 libxscrnsaver"
-
-RDEPENDS_${PN} = "mplayer-common"
-PROVIDES = "mplayer"
-RPROVIDES_${PN} = "mplayer"
-RCONFLICTS_${PN} = "mplayer"
-
-# Depends on xsp, libxv, virtual/libx11, libxscrnsaver
-REQUIRED_DISTRO_FEATURES = "x11"
-
-# because it depends on libpostproc/libav which has commercial flag
-LICENSE_FLAGS = "${@bb.utils.contains('PACKAGECONFIG', 'postproc', 'commercial', '', d)}"
-
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504"
-
-SRC_URI = "git://repo.or.cz/mplayer.git \
- file://0001-configure-don-t-disable-ASS-support-when-explicitly-.patch \
- file://0001-demux_ogg-partially-port-libtheora-glue-code-to-Theo.patch \
-"
-
-SRCREV = "2c378c71a4d9b1df382db9aa787b646628b4e3f9"
-
-ARM_INSTRUCTION_SET = "arm"
-
-PV = "2.0+gitr${SRCPV}"
-PR = "r13"
-
-PARALLEL_MAKE = ""
-
-S = "${WORKDIR}/git"
-
-FILES_${PN} = "${bindir}/mplayer ${libdir} /usr/etc/mplayer/"
-CONFFILES_${PN} += "/usr/etc/mplayer/input.conf \
- /usr/etc/mplayer/example.conf \
- /usr/etc/mplayer/codecs.conf \
-"
-
-inherit autotools-brokensep pkgconfig python3native
-
-EXTRA_OECONF = " \
- --prefix=/usr \
- --mandir=${mandir} \
- --target=${SIMPLE_TARGET_SYS} \
- \
- --disable-lirc \
- --disable-lircc \
- --disable-joystick \
- --disable-vm \
- --disable-xf86keysym \
- --enable-tv \
- --enable-tv-v4l2 \
- --disable-tv-bsdbt848 \
- --enable-rtc \
- --enable-networking \
- --disable-smb \
- --disable-dvdnav \
- --enable-dvdread \
- --disable-dvdread-internal \
- --disable-libdvdcss-internal \
- --disable-enca \
- --disable-ftp \
- --disable-vstream \
- \
- --disable-gif \
- --enable-png \
- --enable-jpeg \
- --disable-libcdio \
- --disable-qtx \
- --disable-xanim \
- --disable-real \
- --disable-xvid \
- \
- --enable-speex \
- --enable-theora \
- --disable-ladspa \
- --disable-libdv \
- --enable-mad \
- --disable-xmms \
- --disable-musepack \
- \
- --disable-gl \
- --enable-sdl \
- --disable-caca \
- --disable-directx \
- --disable-dvb \
- --enable-xv \
- --disable-vm \
- --disable-xinerama \
- --enable-x11 \
- --disable-directfb \
- --disable-tga \
- --disable-pnm \
- --disable-md5sum \
- \
- --enable-alsa \
- --enable-ossaudio \
- --disable-pulse \
- --disable-jack \
- --disable-openal \
- --enable-select \
- --enable-libass \
- \
- --extra-libs=' -lXext -lX11 -lvorbis -ltheoradec -lasound ' \
-"
-# -ltheoradec is missing in:
-# libmpcodecs/vd_theora.o: undefined reference to symbol 'theora_decode_init@@libtheora.so.1.0'
-
-EXTRA_OECONF_append_armv6 = " --enable-armv6"
-EXTRA_OECONF_append_armv7a = " --enable-armv6 --enable-neon"
-
-PACKAGECONFIG ??= "vorbis postproc"
-PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad"
-PACKAGECONFIG[a52] = "--enable-liba52,--disable-liba52,liba52"
-PACKAGECONFIG[lame] = ",,lame"
-PACKAGECONFIG[postproc] = ",--disable-libpostproc,libpostproc"
-PACKAGECONFIG[vorbis] = ",--disable-libvorbis,libvorbis"
-PACKAGECONFIG[portaudio] = ",--disable-portaudio,portaudio-v19"
-PACKAGECONFIG[mpg123] = ",--disable-mpg123,mpg123"
-PACKAGECONFIG[directfb] = "--enable-directfb,--disable-directfb,directfb"
-
-FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O4 -ffast-math"
-BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}"
-
-CFLAGS_append = " -I${S}/libdvdread4 "
-
-do_configure() {
- sed -i 's|/usr/include|${STAGING_INCDIR}|g' ${S}/configure
- sed -i 's|/usr/lib|${STAGING_LIBDIR}|g' ${S}/configure
- sed -i 's|/usr/\S*include[\w/]*||g' ${S}/configure
- sed -i 's|/usr/\S*lib[\w/]*||g' ${S}/configure
- sed -i 's|_install_strip="-s"|_install_strip=""|g' ${S}/configure
- sed -i 's|HOST_CC|BUILD_CC|' ${S}/Makefile
- 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 () {
- oe_runmake
-}
-
-do_install() {
- oe_runmake 'DESTDIR=${D}' install-no-man
- install -d ${D}/usr/etc/mplayer
- install ${S}/etc/input.conf ${D}/usr/etc/mplayer/
- install ${S}/etc/example.conf ${D}/usr/etc/mplayer/
- install ${S}/etc/codecs.conf ${D}/usr/etc/mplayer/
- [ -e ${D}/usr/lib ] && rmdir ${D}/usr/lib
-}
-
-# http://errors.yoctoproject.org/Errors/Details/40734/
-PNBLACKLIST[mplayer2] ?= "Not compatible with currently used ffmpeg 3 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv/0001-Fix-build-with-HAVE_GL-0.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv/0001-Fix-build-with-HAVE_GL-0.patch
deleted file mode 100644
index ab2b5347f..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv/0001-Fix-build-with-HAVE_GL-0.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 212f6c8206bd4dcc7d8970c5f1632823ae4e783a Mon Sep 17 00:00:00 2001
-From: Michael Forney <mforney@mforney.org>
-Date: Sun, 12 Feb 2017 23:01:21 -0800
-Subject: [PATCH] Fix build with HAVE_GL==0
-
-video/out/opengl/hwdec.h includes video/out/opengl/common.h, which tries
-to include opengl headers.
-
-Upstream-Status: Backport
----
- options/options.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/options/options.c b/options/options.c
-index b711156..0bb36ad 100644
---- a/options/options.c
-+++ b/options/options.c
-@@ -40,7 +40,6 @@
- #include "stream/stream.h"
- #include "video/csputils.h"
- #include "video/hwdec.h"
--#include "video/out/opengl/hwdec.h"
- #include "video/image_writer.h"
- #include "sub/osd.h"
- #include "audio/filter/af.h"
-@@ -53,6 +52,10 @@
- #include "video/out/drm_common.h"
- #endif
-
-+#if HAVE_GL
-+#include "video/out/opengl/hwdec.h"
-+#endif
-+
- extern const char mp_help_text[];
-
- static void print_version(struct mp_log *log)
---
-2.9.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.24.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.24.0.bb
deleted file mode 100644
index b1da2175d..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.24.0.bb
+++ /dev/null
@@ -1,70 +0,0 @@
-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} \
- file://0001-Fix-build-with-HAVE_GL-0.patch \
-"
-SRC_URI[mpv.md5sum] = "5c85d1163911e49315a5bf1ca1fae13d"
-SRC_URI[mpv.sha256sum] = "a41854fa0ac35b9c309ad692aaee67c8d4495c3546f11cb4cdd0a124195d3f15"
-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 \
- ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)} \
-"
-PACKAGECONFIG[drm] = "--enable-drm,--disable-drm,libdrm"
-PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm,virtual/mesa"
-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"
-PACKAGECONFIG[vaapi] = "--enable-vaapi, --disable-vaapi,libva"
-PACKAGECONFIG[vdpau] = "--enable-vdpau, --disable-vdpau,libvdpau"
-PACKAGECONFIG[wayland] = "--enable-wayland, --disable-wayland,wayland libxkbcommon"
-
-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-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/mplayer/mpv_0.26.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb
new file mode 100644
index 000000000..44d92a098
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb
@@ -0,0 +1,72 @@
+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"
+
+# While this item does not require it, it depends on ffmpeg which does
+LICENSE_FLAGS = "commercial"
+
+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] = "038d0b660de07ff645ad6a741704ecab"
+SRC_URI[mpv.sha256sum] = "daf3ef358d5f260f2269f7caabce27f446c291457ec330077152127133b71b46"
+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 \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)} \
+"
+PACKAGECONFIG[drm] = "--enable-drm,--disable-drm,libdrm"
+PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm,virtual/mesa"
+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"
+PACKAGECONFIG[vaapi] = "--enable-vaapi, --disable-vaapi,libva"
+PACKAGECONFIG[vdpau] = "--enable-vdpau, --disable-vdpau,libvdpau"
+PACKAGECONFIG[wayland] = "--enable-wayland, --disable-wayland,wayland libxkbcommon"
+
+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-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/v4l2apps/v4l-utils_1.12.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.12.3.bb
index b408bb0a9..57cfb1318 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.12.3.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.12.3.bb
@@ -7,6 +7,8 @@ PROVIDES = "libv4l media-ctl"
DEPENDS = "jpeg \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}"
DEPENDS_append_libc-musl = " argp-standalone"
+DEPENDS_append_class-target = " udev"
+LDFLAGS_append = " -pthread"
inherit autotools gettext pkgconfig
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.5.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.5.0.bb
deleted file mode 100644
index 648818e72..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.5.0.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-SUMMARY = "VPX multi-format codec"
-DESCRIPTION = "The BSD-licensed libvpx reference implementation provides en- and decoders for VP8 and VP9 bitstreams."
-HOMEPAGE = "http://www.webmproject.org/code/"
-BUGTRACKER = "http://code.google.com/p/webm/issues/list"
-SECTION = "libs/multimedia"
-LICENSE = "BSD"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d5b04755015be901744a78cc30d390d4"
-
-SRC_URI += "http://storage.googleapis.com/downloads.webmproject.org/releases/webm/${BP}.tar.bz2 \
- file://libvpx-configure-support-blank-prefix.patch \
- "
-SRC_URI[md5sum] = "49e59dd184caa255886683facea56fca"
-SRC_URI[sha256sum] = "306d67908625675f8e188d37a81fbfafdf5068b09d9aa52702b6fbe601c76797"
-
-# ffmpeg links with this and fails
-# sysroots/armv4t-oe-linux-gnueabi/usr/lib/libvpx.a(vpx_encoder.c.o)(.text+0xc4): unresolvable R_ARM_THM_CALL relocation against symbol `memcpy@@GLIBC_2.4'
-ARM_INSTRUCTION_SET = "arm"
-
-CFLAGS += "-fPIC"
-
-export CC
-export LD = "${CC}"
-
-VPXTARGET_armv5te = "armv5te-linux-gcc"
-VPXTARGET_armv6 = "armv6-linux-gcc"
-VPXTARGET_armv7a = "armv7-linux-gcc"
-VPXTARGET ?= "generic-gnu"
-
-CONFIGUREOPTS = " \
- --target=${VPXTARGET} \
- --enable-vp9 \
- --enable-libs \
- --disable-install-docs \
- --disable-static \
- --enable-shared \
- --prefix=${prefix} \
- --libdir=${libdir} \
- --size-limit=16384x16384 \
-"
-
-do_configure() {
- ${S}/configure ${CONFIGUREOPTS}
-}
-
-do_install() {
- oe_runmake install DESTDIR=${D}
- chown -R root:root ${D}
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.6.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.6.1.bb
new file mode 100644
index 000000000..e17cda1a9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.6.1.bb
@@ -0,0 +1,49 @@
+SUMMARY = "VPX multi-format codec"
+DESCRIPTION = "The BSD-licensed libvpx reference implementation provides en- and decoders for VP8 and VP9 bitstreams."
+HOMEPAGE = "http://www.webmproject.org/code/"
+BUGTRACKER = "http://code.google.com/p/webm/issues/list"
+SECTION = "libs/multimedia"
+LICENSE = "BSD"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d5b04755015be901744a78cc30d390d4"
+
+SRC_URI += "http://storage.googleapis.com/downloads.webmproject.org/releases/webm/${BP}.tar.bz2 \
+ file://libvpx-configure-support-blank-prefix.patch \
+ "
+SRC_URI[md5sum] = "a19518c8111fa93bdabdd85259162611"
+SRC_URI[sha256sum] = "1c2c0c2a97fba9474943be34ee39337dee756780fc12870ba1dc68372586a819"
+
+# ffmpeg links with this and fails
+# sysroots/armv4t-oe-linux-gnueabi/usr/lib/libvpx.a(vpx_encoder.c.o)(.text+0xc4): unresolvable R_ARM_THM_CALL relocation against symbol `memcpy@@GLIBC_2.4'
+ARM_INSTRUCTION_SET = "arm"
+
+CFLAGS += "-fPIC"
+
+export CC
+export LD = "${CC}"
+
+VPXTARGET_armv5te = "armv5te-linux-gcc"
+VPXTARGET_armv6 = "armv6-linux-gcc"
+VPXTARGET_armv7a = "armv7-linux-gcc"
+VPXTARGET ?= "generic-gnu"
+
+CONFIGUREOPTS = " \
+ --target=${VPXTARGET} \
+ --enable-vp9 \
+ --enable-libs \
+ --disable-install-docs \
+ --disable-static \
+ --enable-shared \
+ --prefix=${prefix} \
+ --libdir=${libdir} \
+ --size-limit=16384x16384 \
+"
+
+do_configure() {
+ ${S}/configure ${CONFIGUREOPTS}
+}
+
+do_install() {
+ oe_runmake install DESTDIR=${D}
+ chown -R root:root ${D}
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/foxtrotgps/foxtrotgps_1.1.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-navigation/foxtrotgps/foxtrotgps_1.1.1.bb
deleted file mode 100644
index d91cbcbbb..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/foxtrotgps/foxtrotgps_1.1.1.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "FoxtrotGPS is a map and GPS application using OpenStreetMap"
-AUTHOR = "Joshua Judson Rosen <rozzin@geekspace.com>"
-HOMEPAGE = "http://www.foxtrotgps.org/"
-SECTION = "x11/applications"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-DEPENDS = "curl gtk+ libglade sqlite3 libexif gpsd bluez4 intltool-native"
-
-PNBLACKLIST[foxtrotgps] ?= "${@bb.utils.contains('DISTRO_FEATURES', 'bluez5', 'bluez5 conflicts with bluez4 and bluez5 is selected in DISTRO_FEATURES', '', d)}"
-
-SRC_URI = "http://www.foxtrotgps.org/releases/${BP}.tar.gz"
-SRC_URI[md5sum] = "6777d448ee9d3ba195f9d26ea90e3163"
-SRC_URI[sha256sum] = "ae9706285510554cc0813ac92522e0d1672b0ddb065307bfacfcff3c328f6adb"
-
-inherit autotools pkgconfig perlnative gconf
-
-PR = "r2"
-
-do_configure_prepend() {
- if [ -f ${S}/configure.in ] ; then
- mv ${S}/configure.in ${S}/configure.ac
- fi
-}
-
-RDEPENDS_${PN} += "python perl"
-RRECOMMENDS_${PN} = "gpsd"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gdal/gdal_1.11.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gdal/gdal_1.11.1.bb
deleted file mode 100644
index 4e821be5a..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gdal/gdal_1.11.1.bb
+++ /dev/null
@@ -1,114 +0,0 @@
-SUMMARY = "GDAL is a translator library for raster geospatial data formats"
-HOMEPAGE = "http://www.gdal.org/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=0952e17969fab12227096b5228f23149"
-
-DEPENDS = "proj sqlite3 tiff json-c"
-
-SRC_URI = "ftp://download.osgeo.org/gdal/${PV}/${BP}.tar.xz"
-
-SRC_URI[md5sum] = "2e126d7c6605691d38f3e71b945f5c73"
-SRC_URI[sha256sum] = "20e1042cff15a71038459a299732fb342428aea9912f32df30c85790fcab6302"
-
-inherit autotools-brokensep lib_package binconfig
-
-EXTRA_OECONF = "--without-perl \
- --without-php \
- --without-ruby \
- --without-python \
- \
- --without-grass \
- --without-libgrass \
- --without-cfitsio \
- --without-dds \
- --without-gta \
- --without-pcidsk \
- --without-ogdi \
- --without-fme \
- --without-hdf4 \
- --without-hdf5 \
- --without-pg \
- --without-jpeg12 \
- --without-ogdi \
- --without-netcdf \
- --without-openjpeg \
- --without-fgdb \
- --without-ecw \
- --without-kakadu \
- --without-mrsid \
- --without-jp2mrsid \
- --without-mrsid_lidar \
- --without-msg \
- --without-bsb \
- --without-grib \
- --without-mysql \
- --without-ingres \
- --without-odbc \
- --without-dods_root \
- --without-xml2 \
- --without-spatialite \
- --without-pcre \
- --without-dwgdirect \
- --without-dwgdirect \
- --without-idb \
- --without-sde \
- --without-sde-version \
- --without-epsilon \
- --without-webp \
- --without-opencl \
- --without-opencl-include \
- --without-opencl-lib \
- --without-freexl \
- --without-pam \
- --without-poppler \
- --without-podofo \
- --without-podofo-lib \
- --without-podofo-extra-lib-for-test \
- --without-static_proj4 \
- --without-perl \
- --without-php \
- --without-ruby \
- --without-python \
- --without-java \
- --without-mdb \
- --without-jvm-lib \
- --without-jvm-lib-add-rpath \
- --without-rasdaman \
- --without-armadillo \
- \
- --with-pcraster=internal \
- --with-geotiff=internal \
- \
- --with-sqlite3=${STAGING_EXECPREFIXDIR} \
- --with-libtiff=${STAGING_EXECPREFIXDIR} \
- --with-libjson-c=${STAGING_EXECPREFIXDIR} \
- --with-expat=${STAGING_EXECPREFIXDIR} \
-"
-
-EXTRA_OEMAKE += "INST_DATA="${datadir}/gdal""
-
-PACKAGECONFIG ?= "geos png jasper"
-PACKAGECONFIG[geos] = "--with-geos,--without-geos,geos"
-PACKAGECONFIG[lzma] = "--with-liblzma,--without-liblzma,xz"
-PACKAGECONFIG[png] = "--with-png,--without-png,libpng"
-PACKAGECONFIG[gif] = "--with-gif,--without-gif,giflib"
-PACKAGECONFIG[jpeg] = "--with-jpeg,--without-jpeg,jpeg"
-PACKAGECONFIG[z] = "--with-libz,--without-libz,zlib"
-PACKAGECONFIG[jasper] = "--with-jasper,--without-jasper,jasper"
-PACKAGECONFIG[curl] = "--with-curl,--without-curl,curl"
-
-do_configure_prepend () {
- # The configure script has many hardcoded paths to search
- # for the library headers when using external libraries,
- # workaround it.
- sed -e 's,/usr/include,NON_EXISTENT_DIR,g' \
- -e 's,/usr/lib,NON_EXISTENT_DIR,g' \
- -i ${S}/configure.in
-}
-
-FILES_${PN} += "${libdir}/gdalplugins"
-
-# | gdalserver.c:124:21: error: storage size of 'sHints' isn't known
-# | struct addrinfo sHints;
-# | ^
-PNBLACKLIST[gdal] ?= "BROKEN: fails to build with gcc-5 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0001-Check-for-__STDC_NO_ATOMICS__-before-using-stdatomic.patch b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0001-Check-for-__STDC_NO_ATOMICS__-before-using-stdatomic.patch
deleted file mode 100644
index 82ac5aa6e..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0001-Check-for-__STDC_NO_ATOMICS__-before-using-stdatomic.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From c30716be9e615513fe66993fd3cdc818c3d70410 Mon Sep 17 00:00:00 2001
-From: "Gary E. Miller" <gem@rellim.com>
-Date: Sun, 15 Mar 2015 11:51:45 -0700
-Subject: [PATCH 1/3] Check for __STDC_NO_ATOMICS__ before using stdatomic.h
-
----
- SConstruct | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/SConstruct b/SConstruct
-index adf473d..566c14a 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -633,7 +633,7 @@ else:
- announce("You do not have kernel CANbus available.")
- env["nmea2000"] = False
-
-- if config.CheckHeader("stdatomic.h"):
-+ if not config.CheckCompilerDefines("__STDC_NO_ATOMICS__") and config.CheckHeader("stdatomic.h"):
- confdefs.append("#define HAVE_STDATOMIC_H 1\n")
- else:
- confdefs.append("/* #undef HAVE_STDATOMIC_H */\n")
---
-2.1.0
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0001-Include-stdatomic.h-only-in-C-mode.patch b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0001-Include-stdatomic.h-only-in-C-mode.patch
deleted file mode 100644
index bc9167eee..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0001-Include-stdatomic.h-only-in-C-mode.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 79f6d9133378325d70a92e66f7352c1becefbb88 Mon Sep 17 00:00:00 2001
-From: Gleb Smirnoff <glebius@FreeBSD.org>
-Date: Sat, 16 May 2015 02:47:28 +0300
-Subject: [PATCH] Include <stdatomic.h> only in C mode.
-
-Upstream-Status: Backport from 3.15
-
-Without this build with gcc-5.2 fails with:
-| arm-oe-linux-gnueabi-g++ -march=armv4t -mthumb -mthumb-interwork -mtune=arm920t --sysroot=/OE/build/shr-core/tmp-glibc/sysroots/om-gta02 -o clock_gettime-qt.os -c -O2 -pipe -g -feliminate-unused-debug-types --sysroot=/OE/build/shr-core/tmp-glibc/sysroots/om-gta02 -Wextra -Wall -Wno-uninitialized -Wno-missing-field-initializers -Wcast-align -Wmissing-declarations -Wpointer-arith -Wreturn-type -pthread -Wmissing-declarations -g -O0 -pthread -fPIC -DUSE_QT -DQT_SHARED -I/OE/build/shr-core/tmp-glibc/sysroots/om-gta02/usr/include/dbus-1.0 -I/OE/build/shr-core/tmp-glibc/sysroots/om-gta02/usr/lib/dbus-1.0/include -I/OE/build/shr-core/tmp-glibc/sysroots/om-gta02/usr/include/qt4/QtNetwork -I/OE/build/shr-core/tmp-glibc/sysroots/om-gta02/usr/include/qt4 -I/OE/build/shr-core/tmp-glibc/sysroots/om-gta02/usr/include/qt4/QtCore clock_gettime.c
-| In file included from compiler.h:50:0,
-| from clock_gettime.c:10:
-| /OE/build/shr-core/tmp-glibc/sysroots/x86_64-linux/usr/lib/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/5.2.0/include/stdatomic.h:40:9: error: '_Atomic' does not name a type
-| typedef _Atomic _Bool atomic_bool;
-| ^
-....
-
-More info:
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60932
-
-Signed-off-by: Gary E. Miller <gem@rellim.com>
----
- compiler.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/compiler.h b/compiler.h
-index 837c935..03430c0 100644
---- a/compiler.h
-+++ b/compiler.h
-@@ -66,9 +66,9 @@
- } while (0)
-
- #ifdef HAVE_STDATOMIC_H
--#ifndef __COVERITY__ /* Coverity is confused by a GNU typedef */
-+#if !defined(__COVERITY__) && !defined(__cplusplus)
- #include <stdatomic.h>
--#endif /* __COVERITY__ */
-+#endif /* __COVERITY__ || __cplusplus */
- #endif /* HAVE_STDATOMIC_H */
-
- #ifdef HAVE_OSATOMIC_H
---
-2.5.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0001-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0001-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch
deleted file mode 100644
index c4134f4b5..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0001-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 3c5fb3a8691ac711ea93edf8e0b42bffc62b197e Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Tue, 24 Apr 2012 11:52:35 +0200
-Subject: [PATCH 1/4] SConstruct: respect sysroot also in SPLINTOPTS
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
-Signed-off-by: Peter A. Bigot <pab@pabigot.com>
----
- SConstruct | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/SConstruct b/SConstruct
-index 14e2f59..f0cafa8 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -1414,7 +1414,10 @@ def Utility(target, source, action):
- # Report splint warnings
- # Note: test_bits.c is unsplintable because of the PRI64 macros.
- # If you get preprocessor or fatal errors, add +showscan.
--splintopts = "-I/usr/include/libusb-1.0 +quiet"
-+if not env['sysroot']:
-+ splintopts = "-I/usr/include/libusb-1.0 +quiet"
-+else:
-+ splintopts = "-I%s/usr/include/libusb-1.0 +quiet" % env['sysroot']
- # splint does not know about multi-arch, work around that
- ma_status, ma = _getstatusoutput('dpkg-architecture -qDEB_HOST_MULTIARCH')
- if ma_status == 0:
---
-1.8.5.5
-
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
deleted file mode 100644
index b27c67144..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0001-include-sys-ttydefaults.h.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-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-3.14/0001-libgpsd-core-Fix-issue-with-ACTIVATE-hook-not-being-.patch b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0001-libgpsd-core-Fix-issue-with-ACTIVATE-hook-not-being-.patch
deleted file mode 100644
index 7a0679505..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0001-libgpsd-core-Fix-issue-with-ACTIVATE-hook-not-being-.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 6ff099b1ba8de74df9ddeb61e3825264b96ef692 Mon Sep 17 00:00:00 2001
-From: Moritz Fischer <moritz.fischer@ettus.com>
-Date: Tue, 22 Dec 2015 19:38:31 -0800
-Subject: [PATCH] libgpsd-core: Fix issue with ACTIVATE hook not being called.
-
-In the current system session->mode seemed to ignore the
-O_OPTIMIZE flag, leading to the ACTIVATE hook being ignored.
-
-Another way to fix this would be to keep the session->mode
-condition pull up the check for O_CONTINUE.
-
-Upstream-Status: Backported
-This patch is in upstream git
-
-Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
----
- libgpsd_core.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libgpsd_core.c b/libgpsd_core.c
-index 31fec2a..a84e85f 100644
---- a/libgpsd_core.c
-+++ b/libgpsd_core.c
-@@ -543,7 +543,7 @@ int gpsd_open(struct gps_device_t *session)
- int gpsd_activate(struct gps_device_t *session, const int mode)
- /* acquire a connection to the GPS device */
- {
-- if (session->mode == O_OPTIMIZE)
-+ if (mode == O_OPTIMIZE)
- gpsd_run_device_hook(&session->context->errout,
- session->gpsdata.dev.path, "ACTIVATE");
- session->gpsdata.gps_fd = gpsd_open(session);
---
-2.4.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0002-Add-a-test-for-C11-and-check-we-have-C11-before-usin.patch b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0002-Add-a-test-for-C11-and-check-we-have-C11-before-usin.patch
deleted file mode 100644
index 22ee1bdcf..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0002-Add-a-test-for-C11-and-check-we-have-C11-before-usin.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 99444b3d2c4a4f7fd7128e60461005780d0c5c83 Mon Sep 17 00:00:00 2001
-From: "Gary E. Miller" <gem@rellim.com>
-Date: Sun, 15 Mar 2015 12:05:15 -0700
-Subject: [PATCH 2/3] Add a test for C11 and check we have C11 before using
- stdatomic.h
-
----
- SConstruct | 19 ++++++++++++++++++-
- 1 file changed, 18 insertions(+), 1 deletion(-)
-
-diff --git a/SConstruct b/SConstruct
-index 566c14a..faa8651 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -473,6 +473,20 @@ def CheckCompilerDefines(context, define):
- context.Result(ret)
- return ret
-
-+# Check if this compiler is C11 or better
-+def CheckC11(context):
-+ context.Message( 'Checking if compiler is C11 ...' )
-+ ret = context.TryLink("""
-+ #if (__STDC_VERSION__ < 201112L)
-+ #error Not C11
-+ #endif
-+ int main(int argc, char **argv) {
-+ return 0;
-+ }
-+ """,'.c')
-+ context.Result(ret)
-+ return ret
-+
- def GetLoadPath(context):
- context.Message("Getting system load path ...")
-
-@@ -491,6 +505,7 @@ else:
- 'CheckXsltproc' : CheckXsltproc,
- 'CheckCompilerOption' : CheckCompilerOption,
- 'CheckCompilerDefines' : CheckCompilerDefines,
-+ 'CheckC11' : CheckC11,
- 'CheckHeaderDefines' : CheckHeaderDefines})
-
-
-@@ -633,7 +648,9 @@ else:
- announce("You do not have kernel CANbus available.")
- env["nmea2000"] = False
-
-- if not config.CheckCompilerDefines("__STDC_NO_ATOMICS__") and config.CheckHeader("stdatomic.h"):
-+ # check for C11 or better, and __STDC__NO_ATOMICS__ is no defined
-+ # before looking for stdatomic.h
-+ if not config.CheckC11() and not config.CheckCompilerDefines("__STDC_NO_ATOMICS__") and config.CheckHeader("stdatomic.h"):
- confdefs.append("#define HAVE_STDATOMIC_H 1\n")
- else:
- confdefs.append("/* #undef HAVE_STDATOMIC_H */\n")
---
-2.1.0
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0002-SConstruct-remove-rpath.patch b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0002-SConstruct-remove-rpath.patch
deleted file mode 100644
index 083a6621f..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0002-SConstruct-remove-rpath.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From d090638ff983e509162d5e3b62aa4918de4aa5fa Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Tue, 24 Apr 2012 16:24:35 +0200
-Subject: [PATCH 2/4] SConstruct: remove rpath
-
-* even with correct prefix (without DESTDIR) included it's redundant
- WARNING: QA Issue: libgps:
- /work/armv4t-oe-linux-gnueabi/gpsd/gpsd-3.5-r0/packages-split/libgps/usr/lib/libgps.so.20.0
- contains probably-redundant RPATH /usr/lib
-* and with prefix from scons.bbclass it's invalid
- WARNING: QA Issue: package libgps contains bad RPATH
- /OE/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/gpsd/gpsd-3.5-r0/image/usr/lib
- in file
- /OE/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/gpsd/gpsd-3.5-r0/packages-split/libgps/usr/lib/libgps.so.20.0
-
-Upstream-Status: Inapppropriate [embedded specific]
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
-Signed-off-by: Peter A. Bigot <pab@pabigot.com>
----
- SConstruct | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/SConstruct b/SConstruct
-index f0cafa8..ff46713 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -1340,8 +1340,11 @@ if qt_env:
- binaryinstall.append(LibraryInstall(qt_env, installdir('libdir'), compiled_qgpsmmlib))
-
- if env["shared"] and env["chrpath"]:
-- env.AddPostAction(binaryinstall, '$CHRPATH -r "%s" "$TARGET"' \
-- % (installdir('libdir', False), ))
-+ if not env['sysroot']:
-+ env.AddPostAction(binaryinstall, '$CHRPATH -r "%s" "$TARGET"' \
-+ % (installdir('libdir', False), ))
-+ else:
-+ env.AddPostAction(binaryinstall, '$CHRPATH -d "$TARGET"')
-
- if not env['debug'] and not env['profiling'] and env['strip']:
- env.AddPostAction(binaryinstall, '$STRIP $TARGET')
---
-1.8.5.5
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0003-Whoops-check-for-C11-not-for-not-C11-in-stdatomic.h-.patch b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0003-Whoops-check-for-C11-not-for-not-C11-in-stdatomic.h-.patch
deleted file mode 100644
index 8bb0928ce..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0003-Whoops-check-for-C11-not-for-not-C11-in-stdatomic.h-.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 674c50ee54fd7cd304e8b3c4b33d3ff1272ed191 Mon Sep 17 00:00:00 2001
-From: "Gary E. Miller" <gem@rellim.com>
-Date: Sun, 15 Mar 2015 12:17:51 -0700
-Subject: [PATCH 3/3] Whoops, check for C11, not for not C11 in stdatomic.h
- test.
-
----
- SConstruct | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/SConstruct b/SConstruct
-index faa8651..f4ea145 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -650,7 +650,7 @@ else:
-
- # check for C11 or better, and __STDC__NO_ATOMICS__ is no defined
- # before looking for stdatomic.h
-- if not config.CheckC11() and not config.CheckCompilerDefines("__STDC_NO_ATOMICS__") and config.CheckHeader("stdatomic.h"):
-+ if config.CheckC11() and not config.CheckCompilerDefines("__STDC_NO_ATOMICS__") and config.CheckHeader("stdatomic.h"):
- confdefs.append("#define HAVE_STDATOMIC_H 1\n")
- else:
- confdefs.append("/* #undef HAVE_STDATOMIC_H */\n")
---
-2.1.0
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.16/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch
index 2ea3226a4..2ea3226a4 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.16/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.16/0001-include-sys-ttydefaults.h.patch b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.16/0001-include-sys-ttydefaults.h.patch
new file mode 100644
index 000000000..f496b5e7d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.16/0001-include-sys-ttydefaults.h.patch
@@ -0,0 +1,35 @@
+From f221fa959c80b43c65426500a6836a1b5cf6fe0c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 17 Aug 2016 02:16:12 +0000
+Subject: [PATCH] include sys/ttydefaults.h
+
+This is needed for CTRL definition, as exposed by musl on glibc
+this include file gets pulled indirectly.
+
+/usr/src/debug/gpsd/3.14-r0/gpsd-3.14/gpsmon.c:605: undefined reference to `CTRL'
+clang-3.9: error: linker command failed with exit code 1 (use -v to see invocation)
+scons: *** [gpsmon] Error 1
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Foreward port to gpsd 3.16
+Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
+---
+ gpsmon.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/gpsmon.c b/gpsmon.c
+index ead84d0..f205cb1 100644
+--- a/gpsmon.c
++++ b/gpsmon.c
+@@ -20,6 +20,7 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <sys/select.h>
++#include <sys/ttydefaults.h>
+ #include <fcntl.h>
+ #include <unistd.h>
+
+--
+2.12.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.16/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch
index 8527f0db3..8527f0db3 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.16/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch
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
deleted file mode 100644
index fb02f9598..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.14.bb
+++ /dev/null
@@ -1,144 +0,0 @@
-SUMMARY = "A TCP/IP Daemon simplifying the communication with GPS devices"
-SECTION = "console/network"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d217a23f408e91c94359447735bc1800"
-DEPENDS = "dbus dbus-glib ncurses python libusb1 chrpath-replacement-native pps-tools"
-PROVIDES = "virtual/gpsd"
-
-EXTRANATIVEPATH += "chrpath-native"
-
-SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \
- file://0001-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch \
- file://0002-SConstruct-remove-rpath.patch \
- file://0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch \
- file://0004-SConstruct-disable-html-and-man-docs-building-becaus.patch \
- file://0001-Check-for-__STDC_NO_ATOMICS__-before-using-stdatomic.patch \
- file://0002-Add-a-test-for-C11-and-check-we-have-C11-before-usin.patch \
- 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 \
- file://gpsd.service \
-"
-SRC_URI[md5sum] = "bc7467009b99e07ba461377b5da6c039"
-SRC_URI[sha256sum] = "504fc812f3c1525a1a48e04bf4d77f9a8066c201448d98089df89d58ef53a8cb"
-
-inherit scons update-rc.d python-dir pythonnative systemd bluetooth
-
-INITSCRIPT_NAME = "gpsd"
-INITSCRIPT_PARAMS = "defaults 35"
-
-SYSTEMD_OESCONS = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false',d)}"
-
-export STAGING_INCDIR
-export STAGING_LIBDIR
-
-LDFLAGS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)}"
-PACKAGECONFIG[bluez] = "bluez='true',bluez='false',${BLUEZ}"
-PACKAGECONFIG[qt] = "qt='yes',qt='no',qt4-x11-free"
-EXTRA_OESCONS = " \
- sysroot=${STAGING_DIR_TARGET} \
- libQgpsmm='false' \
- debug='true' \
- strip='false' \
- chrpath='yes' \
- systemd='${SYSTEMD_OESCONS}' \
- libdir='${libdir}' \
- ${PACKAGECONFIG_CONFARGS} \
-"
-# this cannot be used, because then chrpath is not found and only static lib is built
-# target=${HOST_SYS}
-
-do_compile_prepend() {
- export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
- export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
- export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
- export LINKFLAGS="${LDFLAGS}"
-}
-
-do_install() {
- export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
- export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
- export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
- export LINKFLAGS="${LDFLAGS}"
-
- export DESTDIR="${D}"
- # prefix is used for RPATH and DESTDIR/prefix for instalation
- ${STAGING_BINDIR_NATIVE}/scons prefix=${prefix} install ${EXTRA_OESCONS}|| \
- bbfatal "scons install execution failed."
-}
-
-do_install_append() {
- install -d ${D}/${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/gpsd ${D}/${sysconfdir}/init.d/
- install -d ${D}/${sysconfdir}/default
- install -m 0644 ${WORKDIR}/gpsd-default ${D}/${sysconfdir}/default/gpsd.default
-
- #support for udev
- install -d ${D}/${sysconfdir}/udev/rules.d
- install -m 0644 ${WORKDIR}/60-gpsd.rules ${D}/${sysconfdir}/udev/rules.d
- install -d ${D}${base_libdir}/udev/
- install -m 0755 ${S}/gpsd.hotplug ${D}${base_libdir}/udev/
-
- #support for python
- install -d ${D}/${PYTHON_SITEPACKAGES_DIR}/gps
- install -m 755 ${S}/gps/*.py ${D}/${PYTHON_SITEPACKAGES_DIR}/gps
-
- #support for systemd
- install -d ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_unitdir}/system/${BPN}.service
- install -m 0644 ${S}/systemd/${BPN}.socket ${D}${systemd_unitdir}/system/${BPN}.socket
-}
-
-pkg_postinst_${PN}-conf() {
- update-alternatives --install ${sysconfdir}/default/gpsd gpsd-defaults ${sysconfdir}/default/gpsd.default 10
-}
-
-pkg_postrm_${PN}-conf() {
- update-alternatives --remove gpsd-defaults ${sysconfdir}/default/gpsd.default
-}
-
-PACKAGES =+ "libgps libgpsd python-pygps-dbg python-pygps gpsd-udev gpsd-conf gpsd-gpsctl gps-utils"
-
-FILES_${PN}-dev += "${libdir}/pkgconfdir/libgpsd.pc ${libdir}/pkgconfdir/libgps.pc \
- ${libdir}/libQgpsmm.prl"
-
-FILES_python-pygps-dbg += " ${libdir}/python*/site-packages/gps/.debug"
-
-RDEPENDS_${PN} = "gpsd-gpsctl"
-RRECOMMENDS_${PN} = "gpsd-conf gpsd-udev gpsd-machine-conf"
-
-SUMMARY_gpsd-udev = "udev relevant files to use gpsd hotplugging"
-FILES_gpsd-udev = "${base_libdir}/udev ${sysconfdir}/udev/*"
-RDEPENDS_gpsd-udev += "udev gpsd-conf"
-
-SUMMARY_libgpsd = "C service library used for communicating with gpsd"
-FILES_libgpsd = "${libdir}/libgpsd.so.*"
-
-SUMMARY_libgps = "C service library used for communicating with gpsd"
-FILES_libgps = "${libdir}/libgps.so.*"
-
-SUMMARY_gpsd-conf = "gpsd configuration files and init scripts"
-FILES_gpsd-conf = "${sysconfdir}"
-CONFFILES_gpsd-conf = "${sysconfdir}/default/gpsd.default"
-
-SUMMARY_gpsd-gpsctl = "Tool for tweaking GPS modes"
-FILES_gpsd-gpsctl = "${bindir}/gpsctl"
-
-SUMMARY_gps-utils = "Utils used for simulating, monitoring,... a GPS"
-FILES_gps-utils = "${bindir}/*"
-RDEPENDS_gps-utils = "python-pygps"
-
-SUMMARY_python-pygps = "Python bindings to gpsd"
-FILES_python-pygps = "${PYTHON_SITEPACKAGES_DIR}/*"
-RDEPENDS_python-pygps = "python-core python-curses gpsd python-json"
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "${PN}.socket"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.16.bb b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.16.bb
new file mode 100644
index 000000000..26d74867b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.16.bb
@@ -0,0 +1,140 @@
+SUMMARY = "A TCP/IP Daemon simplifying the communication with GPS devices"
+SECTION = "console/network"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d217a23f408e91c94359447735bc1800"
+DEPENDS = "dbus dbus-glib ncurses python libusb1 chrpath-replacement-native pps-tools"
+PROVIDES = "virtual/gpsd"
+
+EXTRANATIVEPATH += "chrpath-native"
+
+SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \
+ file://0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch \
+ file://0004-SConstruct-disable-html-and-man-docs-building-becaus.patch \
+ file://0001-include-sys-ttydefaults.h.patch \
+ file://gpsd-default \
+ file://gpsd \
+ file://60-gpsd.rules \
+ file://gpsd.service \
+"
+SRC_URI[md5sum] = "68691b5de4c94f82ec4062b042b5eb63"
+SRC_URI[sha256sum] = "03579af13a4d3fe0c5b79fa44b5f75c9f3cac6749357f1d99ce5d38c09bc2029"
+
+inherit scons update-rc.d python-dir pythonnative systemd bluetooth update-alternatives
+
+INITSCRIPT_PACKAGES = "gpsd-conf"
+INITSCRIPT_NAME = "gpsd"
+INITSCRIPT_PARAMS = "defaults 35"
+
+SYSTEMD_OESCONS = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false',d)}"
+
+export STAGING_INCDIR
+export STAGING_LIBDIR
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)}"
+PACKAGECONFIG[bluez] = "bluez='true',bluez='false',${BLUEZ}"
+PACKAGECONFIG[qt] = "qt='yes',qt='no',qt4-x11-free"
+EXTRA_OESCONS = " \
+ sysroot=${STAGING_DIR_TARGET} \
+ libQgpsmm='false' \
+ debug='true' \
+ strip='false' \
+ chrpath='yes' \
+ systemd='${SYSTEMD_OESCONS}' \
+ libdir='${libdir}' \
+ ${PACKAGECONFIG_CONFARGS} \
+"
+# this cannot be used, because then chrpath is not found and only static lib is built
+# target=${HOST_SYS}
+
+do_compile_prepend() {
+ export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
+ export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
+ export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
+ export LINKFLAGS="${LDFLAGS}"
+}
+
+do_install() {
+ export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
+ export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
+ export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
+ export LINKFLAGS="${LDFLAGS}"
+
+ export DESTDIR="${D}"
+ # prefix is used for RPATH and DESTDIR/prefix for instalation
+ ${STAGING_BINDIR_NATIVE}/scons prefix=${prefix} install ${EXTRA_OESCONS}|| \
+ bbfatal "scons install execution failed."
+}
+
+do_install_append() {
+ install -d ${D}/${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/gpsd ${D}/${sysconfdir}/init.d/
+ install -d ${D}/${sysconfdir}/default
+ install -m 0644 ${WORKDIR}/gpsd-default ${D}/${sysconfdir}/default/gpsd.default
+
+ #support for udev
+ install -d ${D}/${sysconfdir}/udev/rules.d
+ install -m 0644 ${WORKDIR}/60-gpsd.rules ${D}/${sysconfdir}/udev/rules.d
+ install -d ${D}${base_libdir}/udev/
+ install -m 0755 ${S}/gpsd.hotplug ${D}${base_libdir}/udev/
+
+ #support for python
+ install -d ${D}/${PYTHON_SITEPACKAGES_DIR}/gps
+ install -m 755 ${S}/gps/*.py ${D}/${PYTHON_SITEPACKAGES_DIR}/gps
+
+ #support for systemd
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_unitdir}/system/${BPN}.service
+ install -m 0644 ${S}/systemd/${BPN}.socket ${D}${systemd_unitdir}/system/${BPN}.socket
+}
+
+PACKAGES =+ "libgps libgpsd python-pygps-dbg python-pygps gpsd-udev gpsd-conf gpsd-gpsctl gps-utils"
+
+FILES_${PN}-dev += "${libdir}/pkgconfdir/libgpsd.pc ${libdir}/pkgconfdir/libgps.pc \
+ ${libdir}/libQgpsmm.prl"
+
+FILES_python-pygps-dbg += " ${libdir}/python*/site-packages/gps/.debug"
+
+RDEPENDS_${PN} = "gpsd-gpsctl"
+RRECOMMENDS_${PN} = "gpsd-conf gpsd-udev gpsd-machine-conf"
+
+SUMMARY_gpsd-udev = "udev relevant files to use gpsd hotplugging"
+FILES_gpsd-udev = "${base_libdir}/udev ${sysconfdir}/udev/*"
+RDEPENDS_gpsd-udev += "udev gpsd-conf"
+
+SUMMARY_libgpsd = "C service library used for communicating with gpsd"
+FILES_libgpsd = "${libdir}/libgpsd.so.*"
+
+SUMMARY_libgps = "C service library used for communicating with gpsd"
+FILES_libgps = "${libdir}/libgps.so.*"
+
+SUMMARY_gpsd-conf = "gpsd configuration files and init scripts"
+FILES_gpsd-conf = "${sysconfdir}"
+CONFFILES_gpsd-conf = "${sysconfdir}/default/gpsd.default"
+
+SUMMARY_gpsd-gpsctl = "Tool for tweaking GPS modes"
+FILES_gpsd-gpsctl = "${bindir}/gpsctl"
+
+SUMMARY_gps-utils = "Utils used for simulating, monitoring,... a GPS"
+FILES_gps-utils = "${bindir}/*"
+RDEPENDS_gps-utils = "python-pygps"
+
+SUMMARY_python-pygps = "Python bindings to gpsd"
+FILES_python-pygps = "${PYTHON_SITEPACKAGES_DIR}/*"
+RDEPENDS_python-pygps = " \
+ python-core \
+ python-io \
+ python-threading \
+ python-terminal \
+ python-curses \
+ gpsd \
+ python-json"
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = "${PN}.socket"
+
+
+ALTERNATIVE_${PN} = "gpsd-defaults"
+ALTERNATIVE_LINK_NAME[gpsd-defaults] = "${sysconfdir}/default/gpsd"
+ALTERNATIVE_TARGET[gpsd-defaults] = "${sysconfdir}/default/gpsd.default"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gypsy/files/0001-g_type_init-is-deprecated-for-glib-2.35.0.patch b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gypsy/files/0001-g_type_init-is-deprecated-for-glib-2.35.0.patch
deleted file mode 100644
index 063bea618..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gypsy/files/0001-g_type_init-is-deprecated-for-glib-2.35.0.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-From 5b859b6e7c82f49d967c25398a8e75b61af9bcc0 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 12 Jun 2013 20:58:51 -0700
-Subject: [PATCH] g_type_init() is deprecated for glib >= 2.35.0
-
-Call it for old versions.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- examples/list-known-gps-devices.c | 4 ++--
- examples/simple-gps-dbus.c | 3 ++-
- examples/simple-gps-gypsy.c | 4 ++--
- examples/simple-gps-satellites.c | 4 ++--
- gypsy/gypsy-marshal.c | 2 +-
- src/main.c | 4 ++--
- 6 files changed, 11 insertions(+), 10 deletions(-)
-
-diff --git a/examples/list-known-gps-devices.c b/examples/list-known-gps-devices.c
-index c7c4059..0a8b04b 100644
---- a/examples/list-known-gps-devices.c
-+++ b/examples/list-known-gps-devices.c
-@@ -20,9 +20,9 @@ main (int argc,
- GError *error = NULL;
- GPtrArray *known_devices;
- int i;
--
-+#if !GLIB_CHECK_VERSION(2,35,0)
- g_type_init ();
--
-+#endif
- discovery = gypsy_discovery_new ();
- known_devices = gypsy_discovery_list_devices (discovery, &error);
-
-diff --git a/examples/simple-gps-dbus.c b/examples/simple-gps-dbus.c
-index f7044e6..76b18aa 100644
---- a/examples/simple-gps-dbus.c
-+++ b/examples/simple-gps-dbus.c
-@@ -121,8 +121,9 @@ main (int argc,
- DBusConnection *conn;
- DBusError error;
- GMainLoop *mainloop;
--
-+#if !GLIB_CHECK_VERSION(2,35,0)
- g_type_init ();
-+#endif
- conn = get_connection ();
-
- dbus_error_init (&error);
-diff --git a/examples/simple-gps-gypsy.c b/examples/simple-gps-gypsy.c
-index 0b6b7a6..86033d9 100644
---- a/examples/simple-gps-gypsy.c
-+++ b/examples/simple-gps-gypsy.c
-@@ -67,9 +67,9 @@ main (int argc,
- g_print ("Usage: %s device\n", argv[0]);
- return 0;
- }
--
-+#if !GLIB_CHECK_VERSION(2,35,0)
- g_type_init ();
--
-+#endif
- control = gypsy_control_get_default ();
- path = gypsy_control_create (control, argv[1], &error);
- if (path == NULL) {
-diff --git a/examples/simple-gps-satellites.c b/examples/simple-gps-satellites.c
-index 140c98f..9a3f95a 100644
---- a/examples/simple-gps-satellites.c
-+++ b/examples/simple-gps-satellites.c
-@@ -42,9 +42,9 @@ main (int argc,
- g_print ("Usage: %s device\n", argv[0]);
- return 0;
- }
--
-+#if !GLIB_CHECK_VERSION(2,35,0)
- g_type_init ();
--
-+#endif
- control = gypsy_control_get_default ();
- path = gypsy_control_create (control, argv[1], &error);
- if (path == NULL) {
-diff --git a/gypsy/gypsy-marshal.c b/gypsy/gypsy-marshal.c
-index 6964644..9ac0095 100644
---- a/gypsy/gypsy-marshal.c
-+++ b/gypsy/gypsy-marshal.c
-@@ -5,7 +5,7 @@
-
- #ifdef G_ENABLE_DEBUG
- #define g_marshal_value_peek_boolean(v) g_value_get_boolean (v)
--#define g_marshal_value_peek_char(v) g_value_get_char (v)
-+#define g_marshal_value_peek_char(v) g_value_get_schar (v)
- #define g_marshal_value_peek_uchar(v) g_value_get_uchar (v)
- #define g_marshal_value_peek_int(v) g_value_get_int (v)
- #define g_marshal_value_peek_uint(v) g_value_get_uint (v)
-diff --git a/src/main.c b/src/main.c
-index 3e8a794..ec980e5 100644
---- a/src/main.c
-+++ b/src/main.c
-@@ -187,9 +187,9 @@ main (int argc,
- g_option_context_free (context);
-
- umask (022);
--
-+#if !GLIB_CHECK_VERSION(2,35,0)
- g_type_init ();
--
-+#endif
- mainloop = g_main_loop_new (NULL, FALSE);
-
- conn = dbus_g_bus_get (DBUS_BUS_SYSTEM, &error);
---
-1.7.9.5
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gypsy/files/fixups.patch b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gypsy/files/fixups.patch
deleted file mode 100644
index de4d92ea1..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gypsy/files/fixups.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
----
- docs/reference/Makefile.am | 2 ++
- 1 file changed, 2 insertions(+)
-
---- gypsy.orig/docs/reference/Makefile.am
-+++ gypsy/docs/reference/Makefile.am
-@@ -81,10 +81,12 @@ expand_content_files=
- # e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
-
- INCLUDES=-I$(top_srcdir) $(GYPSY_CFLAGS)
- GTKDOC_LIBS=$(top_builddir)/gypsy/libgypsy.la $(GYPSY_LIBS)
-
-+EXTRA_DIST =
-+CLEANFILES =
- # This includes the standard gtk-doc make rules, copied by gtkdocize.
- include $(top_srcdir)/gtk-doc.make
-
- # Other files to distribute
- # e.g. EXTRA_DIST += version.xml.in
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gypsy/gypsy.inc b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gypsy/gypsy.inc
deleted file mode 100644
index 9efd35637..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gypsy/gypsy.inc
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "GPS Multiplexing Daemon"
-DESCRIPTION = "Gypsy is a GPS multiplexing daemon which allows \
-multiple clients to access GPS data from multiple GPS sources \
-concurrently. Gypsy also hides the details of parsing NMEA from the \
-client applications, passing the data as simple values for the clients \
-to use."
-LICENSE = "GPLv2.0 & LGPLv2.1"
-SECTION = "console/network"
-DEPENDS = "glib-2.0 dbus bluez4 dbus-glib libxslt-native libxslt"
-
-PNBLACKLIST[gypsy] ?= "${@bb.utils.contains('DISTRO_FEATURES', 'bluez5', 'bluez5 conflicts with bluez4 and bluez5 is selected in DISTRO_FEATURES', '', d)}"
-
-inherit autotools pkgconfig gtk-doc
-PACKAGES += "libgypsy"
-
-FILES_${PN} = " \
- ${sysconfdir}/gypsy.conf \
- ${sysconfdir}/dbus-1 \
- ${libexecdir}/gypsy-daemon \
- ${datadir}/dbus-1 \
-"
-
-FILES_libgypsy = " \
- ${libdir}/libgypsy${SOLIBS} \
-"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gypsy/gypsy_0.9.bb b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gypsy/gypsy_0.9.bb
deleted file mode 100644
index 24c8987ef..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gypsy/gypsy_0.9.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require gypsy.inc
-
-PR = "r2"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
- file://COPYING.lib;md5=7fbc338309ac38fefcd64b04bb903e34 \
- file://src/main.c;beginline=1;endline=25;md5=3fe64e27e61b289b77383a54a982cbdd \
- file://gypsy/gypsy-time.h;beginline=1;endline=24;md5=06432ea19a7b6607428d04d9dadc37fd"
-
-SRC_URI += "http://gypsy.freedesktop.org/releases/gypsy-${PV}.tar.gz \
- file://0001-g_type_init-is-deprecated-for-glib-2.35.0.patch \
- "
-
-SRC_URI[md5sum] = "e2d186df9c2cc3b70a027043e22acf1a"
-SRC_URI[sha256sum] = "14e1cbe17351f408538e033ca370b4bf51ccf9c88744e236ddfb271904f154d6"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gypsy/gypsy_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gypsy/gypsy_git.bb
deleted file mode 100644
index 6ab16e6be..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gypsy/gypsy_git.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-require gypsy.inc
-
-DEFAULT_PREFERENCE = "-1"
-
-SRCREV = "be8c9c382d2d1d37b51d29b0843045121ec90213"
-PV = "0.9+git${SRCPV}"
-PR = "r2"
-
-S = "${WORKDIR}/git"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
- file://COPYING.lib;md5=7fbc338309ac38fefcd64b04bb903e34 \
- file://src/main.c;beginline=1;endline=25;md5=3fe64e27e61b289b77383a54a982cbdd \
- file://gypsy/gypsy-time.h;beginline=1;endline=24;md5=06432ea19a7b6607428d04d9dadc37fd"
-
-SRC_URI += "git://anongit.freedesktop.org/gypsy \
- file://fixups.patch"
-
-do_configure_prepend() {
- # from patch 563716fc596d53f1085949a9dd11a62f39b2d624
- test -d ${S}/m4 || mkdir -p ${S}/m4
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit-fpu.inc b/import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit-fpu.inc
deleted file mode 100644
index 54b7a9779..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit-fpu.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-
-def get_navit_fpu_setting(bb, d):
- if d.getVar('TARGET_FPU') in [ 'soft' ]:
- return "--enable-avoid-float"
- return ""
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit.inc b/import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit.inc
deleted file mode 100644
index 1c0bfdaae..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit.inc
+++ /dev/null
@@ -1,95 +0,0 @@
-DESCRIPTION = "Navit is a car navigation system with routing engine."
-LICENSE = "GPLv2 & LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ed539d099d6ce08de6ea0dfed9ecb333 \
- file://LGPL-2;md5=3214f080875748938ba060314b4f727d \
- file://GPL-2;md5=751419260aa954499f7abaabaa882bbe \
-"
-
-SECTION = "x11/applications"
-DEPENDS = "glib-2.0 gd gypsy librsvg-native"
-RDEPENDS_${PN} = " ${PN}-icons ${PN}-config "
-RRECOMMENDS_${PN} = "gpsd ${PN}-dbus ${PN}-speech-cmdline ${PN}-gui-internal ${PN}-graphics-gtk"
-RSUGGESTS_${PN} = "flite-alsa espeak ${PN}-speech-dbus ${PN}-gui-gtk ${PN}-gui-qml ${PN}-graphics-sdl ${PN}-graphics-qt ${PN}-maptool"
-
-PE = "1"
-INC_PR = "r11"
-
-# Depends on gypsy
-PNBLACKLIST[navit] ?= "${@bb.utils.contains('DISTRO_FEATURES', 'bluez5', 'bluez5 conflicts with bluez4 and bluez5 is selected in DISTRO_FEATURES', '', d)}"
-
-inherit autotools gettext pkgconfig
-
-PACKAGECONFIG ?= ""
-PACKAGECONFIG[fribidi] = "--enable-fribidi,--disable-fribidi,fribidi"
-PACKAGECONFIG[imlib2] = "--enable-imlib2,--disable-imlib2,imlib2"
-PACKAGECONFIG[sdl] = "--enable-graphics-sdl,--disable-graphics-sdl,libsdl"
-PACKAGECONFIG[gtk] = "--enable-graphics-gtk-drawing-area --enable-gui-gtk,--disable-graphics-gtk-drawing-area --disable-gui-gtk,gtk+"
-PACKAGECONFIG[qt] = "--enable-graphics-qt-qpainter --enable-gui-qml,--disable-graphics-qt-qpainter --disable-gui-qml,qt4-x11-free,qt4-plugin-imageformat-svg"
-
-EXTRA_OECONF += " \
- --disable-binding-python \
- --disable-samplemap \
- --enable-avoid-unaligned \
- --enable-svg2png-scaling-flag=32 \
- --disable-speech-speech-dispatcher \
- --enable-cache-size=20971520 \
-"
-
-# --enable-avoid-float \
-#check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points
-require navit-fpu.inc
-EXTRA_OECONF += "${@get_navit_fpu_setting(bb, d)}"
-
-PACKAGES =+ "${PN}-maptool ${PN}-config ${PN}-dbus ${PN}-speech-cmdline ${PN}-speech-dbus ${PN}-gui-gtk ${PN}-gui-internal ${PN}-gui-qml ${PN}-graphics-sdl ${PN}-graphics-gtk ${PN}-graphics-qt ${PN}-icons"
-
-EXTRA_AUTORECONF = " -I m4"
-
-CONFFILES_${PN}-config += "${datadir}/navit/navit.default.xml \
- ${datadir}/navit/navit.xml \
- ${datadir}/navit/maps.xml \
- ${datadir}/navit/osd.xml \
- ${datadir}/navit/speech.xml \
- ${datadir}/navit/plugins.xml \
-"
-
-SRC_URI += "file://navit.xml \
- file://maps.xml \
- file://osd.xml \
- file://speech.xml \
- file://plugins.xml \
-"
-
-FILES_${PN} += "${libdir}/${BPN}/*/*.so ${datadir}/icons"
-FILES_${PN}-dbg += "${libdir}/${BPN}/*/.debug"
-FILES_${PN}-maptool = " ${bindir}/maptool "
-FILES_${PN}-config = " ${datadir}/navit/*.xml "
-FILES_${PN}-dbus = " ${datadir}/dbus-1/services/ ${libdir}/${BPN}/binding/libbinding_dbus.so "
-FILES_${PN}-speech-cmdline = " ${libdir}/${BPN}/speech/libspeech_cmdline.so "
-FILES_${PN}-speech-dbus = " ${libdir}/${BPN}/speech/libspeech_dbus.so "
-FILES_${PN}-gui-gtk = " ${libdir}/${BPN}/gui/libgui_gtk.so "
-FILES_${PN}-gui-qml = " ${libdir}/${BPN}/gui/libgui_qml.so ${datadir}/navit/skins/ "
-FILES_${PN}-gui-internal = " ${libdir}/${BPN}/gui/libgui_internal.so "
-FILES_${PN}-graphics-sdl = " ${libdir}/${BPN}/graphics/libgraphics_sdl.so "
-FILES_${PN}-graphics-qt = " ${libdir}/${BPN}/graphics/libgraphics_qt_qpainter.so "
-FILES_${PN}-graphics-gtk = " ${libdir}/${BPN}/graphics/libgraphics_gtk_drawing_area.so "
-FILES_${PN}-icons = "/usr/share/navit/xpm/"
-
-do_configure_prepend() {
- # MOC=`$PKG_CONFIG QtGui --variable=moc_location` returns only /usr/bin/moc4 which is not available on hosts without Qt
- sed -i "s#MOC=#MOC=${STAGING_DIR_NATIVE}#g" ${S}/configure.in
-}
-
-do_install_append() {
- # fix QA issue
- sed -i 's#Categories=GTK;Utility;Geography;#Categories=Graphics;#g' ${D}${datadir}/applications/navit.desktop
-
- rm ${D}${libdir}/${BPN}/*/*.la
-
- #Use split config
- mv ${D}${datadir}/navit/navit.xml ${D}${datadir}/navit/navit.default.xml
- install -m 0644 ${WORKDIR}/navit.xml ${D}${datadir}/navit/navit.xml
- install -m 0644 ${WORKDIR}/maps.xml ${D}${datadir}/navit/maps.xml
- install -m 0644 ${WORKDIR}/osd.xml ${D}${datadir}/navit/osd.xml
- install -m 0644 ${WORKDIR}/speech.xml ${D}${datadir}/navit/speech.xml
- install -m 0644 ${WORKDIR}/plugins.xml ${D}${datadir}/navit/plugins.xml
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit/configure.add.imlib2.option.patch b/import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit/configure.add.imlib2.option.patch
deleted file mode 100644
index be4179261..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit/configure.add.imlib2.option.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- a/configure.in.orig 2014-05-10 15:57:18.146362110 +0200
-+++ b/configure.in 2014-05-10 15:59:27.859358845 +0200
-@@ -498,10 +498,13 @@
- AC_SUBST(FRIBIDI_CFLAGS)
- AC_SUBST(FRIBIDI_LIBS)
-
-+AC_ARG_ENABLE(imlib2, [ --disable-imlib2 disable imlib2 support], imlib2=$enableval;imlib2_reason="configure parameter", imlib2=yes)
-+if test x"${imlib2}" = "xyes"; then
- PKG_CHECK_MODULES(IMLIB2, [imlib2], [imlib2_pkgconfig=yes], [imlib2_pkgconfig=no])
- if test "x$imlib2_pkgconfig" = "xyes"; then
- AC_DEFINE(HAVE_IMLIB2, 1, [Define to 1 if you have imlib2])
- fi
-+fi
- AC_SUBST(IMLIB2_CFLAGS)
- AC_SUBST(IMLIB2_LIBS)
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit/freetype-include-path.patch b/import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit/freetype-include-path.patch
deleted file mode 100644
index 288997bca..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit/freetype-include-path.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Description: Fix FTBFS caused by freetype headers path change.
-Author: Gilles Filippini <pini@debian.org>
-Bug-Debian: http://bugs.debian.org/733378
-Index: navit/navit/font/freetype/font_freetype.c
-===================================================================
---- navit.orig/navit/font/freetype/font_freetype.c 2013-09-23 10:43:32.000000000 +0200
-+++ navit/navit/font/freetype/font_freetype.c 2013-12-30 19:54:45.000000000 +0100
-@@ -32,7 +32,7 @@
- #if USE_FRIBIDI
- #include <fribidi.h>
- #endif
--#include <freetype/ftglyph.h>
-+#include <ftglyph.h>
- #include "point.h"
- #include "graphics.h"
- #include "debug.h"
-diff -uNr navit.orig/navit/graphics/sdl/graphics_sdl.c navit/navit/graphics/sdl/graphics_sdl.c
---- navit.orig/navit/graphics/sdl/graphics_sdl.c 2012-06-22 14:16:01.000000000 +0200
-+++ navit/navit/graphics/sdl/graphics_sdl.c 2014-01-01 22:31:10.892948164 +0100
-@@ -84,7 +84,7 @@
- #else
- #include <ft2build.h>
- #include FT_FREETYPE_H
--#include <freetype/ftglyph.h>
-+#include <ftglyph.h>
- #endif
- #include <event.h>
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit/maps.xml b/import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit/maps.xml
deleted file mode 100644
index 6f59f20c3..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit/maps.xml
+++ /dev/null
@@ -1,24 +0,0 @@
- <!-- If you have the reiseplaner maps installed, set enabled="yes" in the next line and set the path correctly -->
- <mapset enabled="no">
- <map type="mg" enabled="yes" data="/opt/reiseplaner/travel/DE.map"/>
- <map type="mg" enabled="yes" data="/opt/reiseplaner/travel/DE.map/smp1.smp"/>
- <map type="mg" enabled="yes" data="/opt/reiseplaner/travel/DE.map/smp2.smp"/>
- <map type="mg" enabled="yes" data="/opt/reiseplaner/travel/DE.map/smp3.smp"/>
- <map type="mg" enabled="yes" data="/opt/reiseplaner/travel/DE.map/smp4.smp"/>
- <map type="mg" enabled="yes" data="/opt/reiseplaner/travel/DE.map/smp5.smp"/>
- </mapset>
-
- <!-- If you dont want to use the sample map, either set enabled="no" in the next line or remove the xml file from the maps directory -->
- <mapset enabled="no">
- <xi:include href="$NAVIT_SHAREDIR/maps/*.xml"/>
- </mapset>
-
- <!-- Mapset template for openstreetmaps -->
- <mapset enabled="yes">
- <map type="binfile" enabled="yes" data="/media/mmc2/MapsNavit/osm_europe.bin"/>
- </mapset>
-
- <!-- Mapset template for garmin maps -->
- <mapset enabled="no">
- <map type="garmin" enabled="yes" data="/path/to/img" debug="4"/>
- </mapset>
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit/navit.xml b/import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit/navit.xml
deleted file mode 100644
index 58c8c226f..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit/navit.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE config SYSTEM "navit.dtd">
-<config xmlns:xi="http://www.w3.org/2001/XInclude">
- <xi:include href="/usr/share/navit/plugins.xml"/>
- <xi:include href="/usr/share/navit/navit.default.xml" xpointer="xpointer(/config/debug)"/>
-
- <navit center="4808 N 1134 E" zoom="256" tracking="1" orientation="-1" recent_dest="10" drag_bitmap="1">
- <graphics type="gtk_drawing_area"/>
- <gui type="gtk" enabled="no" menubar="1" toolbar="1" statusbar="1"/>
- <xi:include href="/usr/share/navit/navit.default.xml" xpointer="xpointer(/config/navit/gui[@type='internal'])"/>
- <!-- or comment gtk version above and try:
- opkg install navit-graphics-qt
- opkg install navit-gui-qml
- <graphics type="qt_qpainter"/>
- <gui type="qml" enabled="yes" menubar="1" toolbar="1" statusbar="1"/>
- -->
- <xi:include href="/usr/share/navit/osd.xml"/>
- <log enabled="no" type="textfile_debug" data="debug_%Y%m%d-%i.txt" flush_size="1000" flush_time="30"/>
- <vehicle name="Local GPS" profilename="car" enabled="yes" active="1" source="gpsd://localhost" gpsd_query="w+xj">
- <!-- <log type="gpx" attr_types="position_time_iso8601,position_direction,position_speed,profilename,position_radius" data="track_%Y%m%d-%i.gpx" flush_size="1000" flush_time="30"/> -->
- </vehicle>
-
- <vehicle name="Demo" profilename="car" enabled="no" active="yes" source="demo://"/>
-
- <!-- For the cumulative displacement filter to be enabled, set cdf_histsize="x" here, with x being an integer somewhere around 4 -->
- <tracking cdf_histsize="0"/>
-
- <xi:include href="/usr/share/navit/navit.default.xml" xpointer="xpointer(/config/navit/vehicleprofile[@name='car'])"/>
- <xi:include href="/usr/share/navit/navit.default.xml" xpointer="xpointer(/config/navit/vehicleprofile[@name='bike'])"/>
- <xi:include href="/usr/share/navit/navit.default.xml" xpointer="xpointer(/config/navit/vehicleprofile[@name='pedestrian'])"/>
- <xi:include href="/usr/share/navit/navit.default.xml" xpointer="xpointer(/config/navit/vehicleprofile[@name='horse'])"/>
-
- <route destination_distance="50"/>
-
- <xi:include href="/usr/share/navit/navit.default.xml" xpointer="xpointer(/config/navit/navigation)"/>
-
- <xi:include href="/usr/share/navit/speech.xml"/>
- <xi:include href="/usr/share/navit/maps.xml"/>
-
- <xi:include href="/usr/share/navit/navit.default.xml" xpointer="xpointer(/config/navit/layout[@name='Car'])"/>
- <xi:include href="/usr/share/navit/navit.default.xml" xpointer="xpointer(/config/navit/layout[@name='Car-dark'])"/>
- <xi:include href="/usr/share/navit/navit.default.xml" xpointer="xpointer(/config/navit/layout[@name='Bike'])"/>
- <xi:include href="/usr/share/navit/navit.default.xml" xpointer="xpointer(/config/navit/layout[@name='T@H'])"/>
- </navit>
-</config>
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit/osd.xml b/import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit/osd.xml
deleted file mode 100644
index 2d0f9ffdf..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit/osd.xml
+++ /dev/null
@@ -1,15 +0,0 @@
- <!-- osd items allow to position display and control items directly on top of the map: -->
- <osd enabled="no" type="compass"/>
- <osd enabled="no" type="eta"/>
- <osd enabled="no" type="navigation_distance_to_target"/>
- <osd enabled="no" type="navigation"/>
- <osd enabled="no" type="navigation_distance_to_next"/>
- <osd enabled="no" type="navigation_next_turn"/>
-
- <!-- Commands include gui_internal_menu, gui_internal_fullscreen, zoom_in and zoom_out.
- Usage of negative values change the button origins. x="0" y="0" specifies the top left, x="-0" y="-0" the bottom right corner.
- It's always the top left corner of the icon, so you need to consider the icon's size when you enter the values. -->
- <osd enabled="no" type="button" x="0" y="0" command="gui.fullscreen()" src="toggle_fullscreen.xpm"/>
- <osd enabled="no" type="button" x="-96" y="0" command="gui.menu()" src="menu.xpm"/>
- <osd enabled="no" type="button" x="-96" y="-96" command="zoom_in()" src="zoom_in.xpm"/>
- <osd enabled="no" type="button" x="0" y="-96" command="zoom_out()" src="zoom_out.xpm"/>
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit/plugins.xml b/import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit/plugins.xml
deleted file mode 100644
index 015b05517..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit/plugins.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<plugins>
- <plugin path="$NAVIT_LIBDIR/*/${NAVIT_LIBPREFIX}lib*.so" ondemand="yes"/>
- <plugin path="$NAVIT_LIBDIR/autoload/${NAVIT_LIBPREFIX}lib*.so"/>
- <plugin path="$NAVIT_LIBDIR/*/${NAVIT_LIBPREFIX}libbinding_dbus.so" active="yes"/>
- <plugin path="$NAVIT_LIBDIR/*/${NAVIT_LIBPREFIX}libgraphics_null.so" active="no"/>
-</plugins>
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit/speech.xml b/import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit/speech.xml
deleted file mode 100644
index 28c49906d..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit/speech.xml
+++ /dev/null
@@ -1,8 +0,0 @@
- <!-- Navit provides speech output in text format.
- If you have a speech synthesizer like festival lite installed, you can get turn by turn directions out of navit. Please set the "cps"-value to how many characters your tts engine approximately speaks per second.
- The default is text output to the shell -->
- <!-- <speech type="cmdline" data="echo 'Fix the speech tag in navit.xml to let navit say:' '%s'" cps="15"/> -->
- <!-- <speech type="cmdline" data="espeak -s 150 -v czech '%s' &amp;"/> -->
- <!-- <speech type="cmdline" data="flite -t '%s'"/> -->
- <!-- <speech type="cmdline" data="/usr/local/bin/say.sh '%s'"/> -->
- <speech type="cmdline" data="espeak '%s' &amp;"/>
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit_svn.bb b/import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit_svn.bb
deleted file mode 100644
index bdfbb4b62..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit_svn.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require navit.inc
-
-SRCREV = "5310"
-PV = "0.2.0+svnr${SRCPV}"
-PR = "${INC_PR}.3"
-
-S = "${WORKDIR}/${BPN}"
-SRC_URI += "svn://anonymous@navit.svn.sourceforge.net/svnroot/navit/trunk;module=navit;protocol=http \
- file://freetype-include-path.patch \
- file://configure.add.imlib2.option.patch \
-"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/proj/proj_4.8.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-navigation/proj/proj_4.8.0.bb
deleted file mode 100644
index b4bfaf4f3..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/proj/proj_4.8.0.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "PROJ.4 - Cartographic Projections library"
-HOMEPAGE = "http://trac.osgeo.org/proj/"
-SECTION = "libs"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=74d9aaec5fa0cd734341e8c4dc91b608"
-
-SRC_URI = "http://download.osgeo.org/proj/proj-${PV}.tar.gz"
-SRC_URI[md5sum] = "d815838c92a29179298c126effbb1537"
-SRC_URI[sha256sum] = "2db2dbf0fece8d9880679154e0d6d1ce7c694dd8e08b4d091028093d87a9d1b5"
-
-inherit autotools pkgconfig lib_package
-
-FILES_${PN} += "${datadir}/proj"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/proj/proj_4.9.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-navigation/proj/proj_4.9.3.bb
new file mode 100644
index 000000000..f45f8948d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-navigation/proj/proj_4.9.3.bb
@@ -0,0 +1,14 @@
+SUMMARY = "PROJ.4 - Cartographic Projections library"
+HOMEPAGE = "http://trac.osgeo.org/proj/"
+SECTION = "libs"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=74d9aaec5fa0cd734341e8c4dc91b608"
+
+SRC_URI = "http://download.osgeo.org/proj/proj-${PV}.tar.gz"
+SRC_URI[md5sum] = "d598336ca834742735137c5674b214a1"
+SRC_URI[sha256sum] = "6984542fea333488de5c82eea58d699e4aff4b359200a9971537cd7e047185f7"
+
+inherit autotools pkgconfig lib_package
+
+FILES_${PN} += "${datadir}/proj"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/claws-mail_3.9.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/claws-mail_3.9.0.bb
deleted file mode 100644
index 534ba3b14..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/claws-mail_3.9.0.bb
+++ /dev/null
@@ -1,56 +0,0 @@
-SECTION = "x11/network"
-SUMMARY = "Mail user agent"
-DEPENDS = "gtk+ libetpan openssl aspell curl libgcrypt"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e059bde2972c1790af786f3e86bac22e"
-
-PNBLACKLIST[claws-mail] ?= "depends on blacklisted libetpan - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-inherit autotools pkgconfig gettext
-
-# translation patch: http://www.thewildbeast.co.uk/claws-mail/bugzilla/show_bug.cgi?id=1774
-SRC_URI = "\
- ${SOURCEFORGE_MIRROR}/project/claws-mail/Claws%20Mail/${PV}/claws-mail-${PV}.tar.bz2;name=archive "
-SRC_URI[archive.md5sum] = "4c5ac7b21f0ed17d0f6404124c2229a4"
-SRC_URI[archive.sha256sum] = "ed70975a5056b3ffc4fe6e977f0d9606febc1499763c090241b029a73ff24e65"
-
-do_configure_append() {
- cd ${S}/po ; for PO in *.po ; do MO=`echo $PO | sed s/\\.po//`.gmo ; if ! test -f $MO ; then msgfmt $PO -o $MO ; fi ; done; cd ${B}
-}
-
-PACKAGECONFIG ??= "startup-notification dbus"
-PACKAGECONFIG[enchant] = "--enable-enchant,--disable-enchant,enchant"
-PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification"
-PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus dbus-glib"
-PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap"
-
-# FIXME: maemo builds may want --enable-maemo
-# FIXME: some platforms may want --enable-generic-umpc
-EXTRA_OECONF = " \
- --disable-manual \
- --disable-crash-dialog \
- --disable-jpilot \
- --disable-trayicon-plugin \
- --disable-spamassassin-plugin \
- --disable-bogofilter-plugin \
- --disable-pgpcore-plugin \
- --disable-pgpmime-plugin \
- --disable-pgpinline-plugin \
- --disable-dillo-viewer-plugin \
- --disable-valgrind \
-"
-
-# Remove enchant references:
-do_install_prepend() {
- sed -i -e 's:${STAGING_INCDIR}:${includedir}:g;s:${STAGING_LIBDIR}:${libdir}:g' claws-mail.pc
-}
-
-# Work-around broken GPE icon lookup:
-do_install_append() {
- rm -r ${D}${datadir}/icons
- install -d ${D}${datadir}/pixmaps
- install -m 0644 ${S}/claws-mail.png ${D}${datadir}/pixmaps/
- sed -i 's/Icon=[^.]*$/&.png/' ${D}${datadir}/applications/claws-mail.desktop
-}
-
-RSUGGESTS_${PN} = "claws-plugin-gtkhtml2-viewer claws-plugin-mailmbox claws-plugin-rssyl"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer/configure.patch b/import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer/configure.patch
deleted file mode 100644
index 222a79602..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer/configure.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-Index: gtkhtml2_viewer-0.31/configure.ac
-===================================================================
---- gtkhtml2_viewer-0.31.orig/configure.ac 2011-08-27 08:08:55.000000000 +0000
-+++ gtkhtml2_viewer-0.31/configure.ac 2014-07-18 07:28:42.769518618 +0000
-@@ -1,33 +1,27 @@
- AC_PREREQ(2.60)
--AC_INIT(src/gtkhtml2_viewer.c)
-+
-+dnl plugin version
-+m4_define([plugin_major_version],[0])
-+m4_define([plugin_minor_version],[31])
-+m4_define([plugin_micro_version],[0])
-+m4_define([plugin_version], [plugin_major_version.plugin_minor_version.plugin_micro_version])
-+
-+AC_INIT(gtkhml2_viewer, plugin_version)
-+AC_CONFIG_SRCDIR(src/gtkhtml2_viewer.c)
- AC_CONFIG_AUX_DIR(config)
- AM_MAINTAINER_MODE
-
- PACKAGE=gtkhtml2_viewer
-
--dnl plugin version
--MAJOR_VERSION=0
--MINOR_VERSION=31
--MICRO_VERSION=0
-+MAJOR_VERSION=plugin_major_version
-+MINOR_VERSION=plugin_minor_version
-+MICRO_VERSION=plugin_micro_version
- EXTRA_VERSION=0
--
--if test \( $EXTRA_VERSION -eq 0 \); then
-- if test \( $MICRO_VERSION -eq 0 \); then
-- VERSION=${MAJOR_VERSION}.${MINOR_VERSION}
-- else
-- VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}
-- fi
--else
-- if test \( $MICRO_VERSION -eq 0 \); then
-- VERSION=${MAJOR_VERSION}.${MINOR_VERSION}cvs${EXTRA_VERSION}
-- else
-- VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}cvs${EXTRA_VERSION}
-- fi
--fi
-+VERSION=plugin_version
-
- AC_CANONICAL_SYSTEM
-
--AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define)
-+AM_INIT_AUTOMAKE([foreign no-define])
- AC_CONFIG_HEADERS(config.h)
- AC_DEFINE_UNQUOTED(PLUGINVERSION, "$VERSION", [plugin version])
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer_0.31.bb b/import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer_0.31.bb
deleted file mode 100644
index 29b41be93..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer_0.31.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SECTION = "x11/network"
-SUMMARY = "Mail user agent plugins"
-DEPENDS = "claws-mail gtkhtml2 curl"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=977f04a8048c04684e521c06e2844a94"
-
-PNBLACKLIST[claws-plugin-gtkhtml2-viewer] ?= "depends on blacklisted claws-mail - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PR = "r1"
-
-SRC_URI = "http://www.claws-mail.org/downloads/plugins_obsolete/gtkhtml2_viewer-${PV}.tar.gz \
- file://configure.patch"
-SRC_URI[md5sum] = "a6c9dfa6f969ccd844796a5724b52167"
-SRC_URI[sha256sum] = "4d41f6d961efaac0f51705e5052bac732bc0bdafee2ef2082a9cf9d89f183ae5"
-
-inherit autotools pkgconfig gettext
-
-S = "${WORKDIR}/gtkhtml2_viewer-${PV}"
-
-FILES_${PN} = "${libdir}/claws-mail/plugins/*.so"
-FILES_${PN}-dbg += "${libdir}/claws-mail/plugins/.debug"
-FILES_${PN}-dev += "${libdir}/claws-mail/plugins/*.la"
-FILES_${PN}-staticdev = "${libdir}/claws-mail/plugins/*.a"
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/claws-plugin-mailmbox_1.15.bb b/import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/claws-plugin-mailmbox_1.15.bb
deleted file mode 100644
index 986b5d40d..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/claws-plugin-mailmbox_1.15.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SECTION = "x11/network"
-SUMMARY = "Mail user agent plugins"
-DEPENDS = "claws-mail"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-PNBLACKLIST[claws-plugin-mailmbox] ?= "depends on blacklisted claws-mail - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-SRC_URI = "http://www.claws-mail.org/downloads/plugins_obsolete/mailmbox-${PV}.tar.gz"
-SRC_URI[md5sum] = "7f72c68e6e1a8768f1247f455fd20b62"
-SRC_URI[sha256sum] = "633f7835261c88a0aa06de38553ac935a1799a7128120963a7fa87ace01dac18"
-
-inherit autotools pkgconfig
-
-S = "${WORKDIR}/mailmbox-${PV}"
-
-FILES_${PN} = "${libdir}/claws-mail/plugins/*.so"
-FILES_${PN}-dbg += "${libdir}/claws-mail/plugins/.debug"
-FILES_${PN}-dev += "${libdir}/claws-mail/plugins/*.la"
-FILES_${PN}-staticdev = "${libdir}/claws-mail/plugins/*.a"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl/configure.patch b/import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl/configure.patch
deleted file mode 100644
index a7a38f30c..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl/configure.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-Index: rssyl-0.34/configure.ac
-===================================================================
---- rssyl-0.34.orig/configure.ac 2014-07-18 07:37:28.981532959 +0000
-+++ rssyl-0.34/configure.ac 2014-07-18 07:39:45.881536690 +0000
-@@ -1,5 +1,13 @@
-+
-+dnl plugin version
-+m4_define([plugin_major_version],[0])
-+m4_define([plugin_minor_version],[34])
-+m4_define([plugin_micro_version],[0])
-+m4_define([plugin_version], [plugin_major_version.plugin_minor_version.plugin_micro_version])
-+
- AC_PREREQ(2.60)
--AC_INIT(src/plugin.c)
-+AC_INIT(rssyl, plugin_version)
-+AC_CONFIG_SRCDIR(src/plugin.c)
- AC_CONFIG_AUX_DIR(config)
- AM_MAINTAINER_MODE
- AC_CONFIG_HEADERS(config.h)
-@@ -7,28 +15,15 @@
- PACKAGE=rssyl
-
- dnl plugin version
--MAJOR_VERSION=0
--MINOR_VERSION=34
--MICRO_VERSION=0
-+MAJOR_VERSION=plugin_major_version
-+MINOR_VERSION=plugin_minor_version
-+MICRO_VERSION=plugin_micro_version
- EXTRA_VERSION=0
--
--if test \( $EXTRA_VERSION -eq 0 \); then
-- if test \( $MICRO_VERSION -eq 0 \); then
-- VERSION=${MAJOR_VERSION}.${MINOR_VERSION}
-- else
-- VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}
-- fi
--else
-- if test \( $MICRO_VERSION -eq 0 \); then
-- VERSION=${MAJOR_VERSION}.${MINOR_VERSION}cvs${EXTRA_VERSION}
-- else
-- VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}cvs${EXTRA_VERSION}
-- fi
--fi
-+VERSION=plugin_version
-
- AC_CANONICAL_SYSTEM
-
--AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define)
-+AM_INIT_AUTOMAKE([foreign no-define])
- AC_DEFINE_UNQUOTED(PLUGINVERSION, "$VERSION", [plugin version])
-
- AC_PROG_CC
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl_0.34.bb b/import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl_0.34.bb
deleted file mode 100644
index eec9a2d70..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl_0.34.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SECTION = "x11/network"
-SUMMARY = "Mail user agent plugins"
-DEPENDS = "claws-mail libxml2 curl glib-2.0 gtk+"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0c2348e0a084e573f0220f5e45d8097e"
-
-PNBLACKLIST[claws-plugin-rssyl] ?= "depends on blacklisted claws-mail - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-SRC_URI = "http://www.claws-mail.org/downloads/plugins_obsolete/rssyl-${PV}.tar.gz \
- file://configure.patch"
-SRC_URI[md5sum] = "49b45608e8d160b3625d3d50016ec2ca"
-SRC_URI[sha256sum] = "2e96a1cd6a1a5bb7f86cd2eb48f6e174665957fafe1f3b1e8361aac3bb967f79"
-inherit autotools pkgconfig gettext
-
-S = "${WORKDIR}/rssyl-${PV}"
-
-FILES_${PN} = "${libdir}/claws-mail/plugins/*.so"
-FILES_${PN}-dbg += "${libdir}/claws-mail/plugins/.debug"
-FILES_${PN}-dev += "${libdir}/claws-mail/plugins/*.la"
-FILES_${PN}-staticdev = "${libdir}/claws-mail/plugins/*.a"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/sylpheed/glib-2.32.patch b/import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/sylpheed/glib-2.32.patch
deleted file mode 100644
index 1520e578a..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/sylpheed/glib-2.32.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- sylpheed-2.7.1.orig/libsylph/defs.h 2009-06-10 09:55:46.000000000 +0200
-+++ sylpheed-2.7.1/libsylph/defs.h 2012-05-06 08:28:27.514746256 +0200
-@@ -24,8 +24,6 @@
- # include "config.h"
- #endif
-
--#include <glibconfig.h>
--
- #ifdef G_OS_WIN32
- # include <glib/gwin32.h>
- #endif
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/sylpheed_2.7.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/sylpheed_2.7.1.bb
deleted file mode 100644
index 978d777ea..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/sylpheed_2.7.1.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SECTION = "x11/network"
-SUMMARY = "Mail user agent"
-DEPENDS = "gtk+ gpgme gnutls"
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4 \
- file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1"
-
-PR = "r2"
-
-SRC_URI = "http://sylpheed.sraoss.jp/sylpheed/v2.7/sylpheed-${PV}.tar.bz2 \
- file://glib-2.32.patch \
-"
-SRC_URI[md5sum] = "1f470525c1fbe53253813a0978c18228"
-SRC_URI[sha256sum] = "8bb6457db4e2eea1877b487d9ac8513546372db9a6a2e4271d11229f4af84e23"
-
-FILES_${PN} += "${datadir}/pixmaps ${datadir}/applications"
-FILES_${PN}-doc += "${datadir}"
-
-EXTRA_OECONF = "--disable-ssl"
-
-CFLAGS += "-D_GNU_SOURCE"
-
-do_configure_prepend() {
- mkdir -p m4
- for i in $(find ${S} -name "Makefile.am") ; do
- sed -i s:'-I$(includedir)'::g $i
- done
-}
-
-inherit autotools pkgconfig
-
-
-PNBLACKLIST[sylpheed] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130651/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
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
deleted file mode 100644
index c8c54a413..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-SUMMARY = "Apcupsd a daemon for controlling APC UPSes"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c12853cc7fdf20d17b4fddefd26b7802"
-
-SRC_URI = "http://garr.dl.sourceforge.net/project/apcupsd/apcupsd%20-%20Stable/3.14.10/apcupsd-${PV}.tar.gz"
-SRC_URI[md5sum] = "5928822d855c5cf7ac29655e3e0b8c23"
-SRC_URI[sha256sum] = "0707b5ec9916fbde9e44eb8d18037c8d8f75dfd6aeef51aba5487e189eef2032"
-
-PNBLACKLIST[apcupsd] ?= "BROKEN: doesn't build with B!=S - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-inherit autotools
-
-LD = "${CXX}"
-
-EXTRA_OECONF = "--without-x \
- --enable-usb \
- --with-distname=${DISTRO}"
-
-do_configure() {
- export topdir=${S}
- 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}
- fi
-
- gnu-configize --force
- # install --help says '-c' is an ignored option, but it turns out that the argument to -c isn't ignored, so drop the complete '-c path/to/strip' line
- sed -i -e 's:$(INSTALL_PROGRAM) $(STRIP):$(INSTALL_PROGRAM):g' ${S}/autoconf/targets.mak
- # Searching in host dirs triggers the QA checks
- sed -i -e 's:-I/usr/local/include::g' -e 's:-L/usr/local/lib64::g' -e 's:-L/usr/local/lib::g' ${S}/configure
-
- # m4 macros are missing, using autotools_do_configure leads to linking errors with gethostname_re
- oe_runconf
-}
-
-do_install_append() {
- rm ${D}${datadir}/hal -rf
-}
-
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc/0001-configure.ac-add-check-for-NO_GETCONTEXT-definition.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc/0001-configure.ac-add-check-for-NO_GETCONTEXT-definition.patch
new file mode 100644
index 000000000..8ef774f0f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc/0001-configure.ac-add-check-for-NO_GETCONTEXT-definition.patch
@@ -0,0 +1,29 @@
+configure.ac: add check for NO_GETCONTEXT definition
+
+Signed-off-by: Samuel Martin <s.martin49@gmail.com>
+[yann.morin.1998@free.fr: add a comment, change variable name, use
+ AS_IF, remove debug traces, use AC_CHECK_FUNCS (as suggested by
+ Thomas)]
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+---
+Upstream-Status: Pending
+ configure.ac | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+--- bdwgc-7.2f.orig/configure.ac 2014-06-01 19:00:47.000000000 +0200
++++ bdwgc-7.2f/configure.ac 2014-12-23 14:13:11.585716713 +0100
+@@ -365,6 +365,12 @@
+ AC_MSG_RESULT($ac_cv_fno_strict_aliasing)
+ fi
+
++# Check for getcontext (uClibc can be configured without it, for example)
++AC_CHECK_FUNCS([getcontext])
++AS_IF([test "$ac_cv_func_getcontext" = "no"],
++ [CFLAGS="$CFLAGS -DNO_GETCONTEXT"
++ CPPFLAGS="$CPPFLAGS -DNO_GETCONTEXT"])
++
+ case "$host" in
+ # While IRIX 6 has libdl for the O32 and N32 ABIs, it's missing for N64
+ # and unnecessary everywhere.
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc/musl_header_fix.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc/musl_header_fix.patch
new file mode 100644
index 000000000..4a1849665
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc/musl_header_fix.patch
@@ -0,0 +1,27 @@
+Add missing header to avoid:
+
+| 1472659610.016355: ../git/pthread_stop_world.c: In function 'GC_brief_async_signal_safe_sleep':
+| 1472659610.0540252: ../git/pthread_stop_world.c:397:22: error: storage size of 'tv' isn't known
+| 1472659610.0540252: struct timeval tv;
+| 1472659610.0540252: ^~
+| 1472659610.054099: ../git/pthread_stop_world.c:397:22: warning: unused variable 'tv' [-Wunused-variable]
+| 1472659610.054099: struct timeval tv;
+| 1472659610.054099: ^~
+| 1472659610.054099: Makefile:1530: recipe for target 'pthread_stop_world.lo' failed
+
+in musl builds.
+
+Upstream-Status: Pending
+
+Index: git/pthread_stop_world.c
+===================================================================
+--- git.orig/pthread_stop_world.c
++++ git/pthread_stop_world.c
+@@ -45,6 +45,7 @@
+ #include <semaphore.h>
+ #include <errno.h>
+ #include <unistd.h>
++#include <sys/time.h>
+ #include "atomic_ops.h"
+
+ /* It's safe to call original pthread_sigmask() here. */
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc_7.6.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc_7.6.0.bb
new file mode 100644
index 000000000..dcb68f028
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc_7.6.0.bb
@@ -0,0 +1,42 @@
+SUMMARY = "A garbage collector for C and C++"
+
+DESCRIPTION = "The Boehm-Demers-Weiser conservative garbage collector can be\
+ used as a garbage collecting replacement for C malloc or C++ new. It allows\
+ you to allocate memory basically as you normally would, without explicitly\
+ deallocating memory that is no longer useful. The collector automatically\
+ recycles memory when it determines that it can no longer be otherwise\
+ accessed.\
+ The collector is also used by a number of programming language\
+ implementations that either use C as intermediate code, want to facilitate\
+ easier interoperation with C libraries, or just prefer the simple collector\
+ interface.\
+ Alternatively, the garbage collector may be used as a leak detector for C\
+ or C++ programs, though that is not its primary goal.\
+ Empirically, this collector works with most unmodified C programs, simply\
+ by replacing malloc with GC_malloc calls, replacing realloc with GC_realloc\
+ calls, and removing free calls."
+
+HOMEPAGE = "http://www.hboehm.info/gc/"
+SECTION = "devel"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://README.QUICK;md5=4f81f24ec69726c312487c2ac740e9e3"
+
+SRCREV = "8ac1d84a40eb7a431fec1b8097e3f24b48fb23fa"
+SRC_URI = "git://github.com/ivmai/bdwgc.git \
+ file://0001-configure.ac-add-check-for-NO_GETCONTEXT-definition.patch \
+ file://musl_header_fix.patch \
+ "
+
+FILES_${PN}-doc = "${datadir}"
+
+S = "${WORKDIR}/git"
+
+ARM_INSTRUCTION_SET = "arm"
+
+inherit autotools pkgconfig
+
+# by default use external libatomic-ops
+PACKAGECONFIG ??= "libatomic-ops"
+PACKAGECONFIG[libatomic-ops] = "--with-libatomic-ops=yes,--with-libatomic-ops=no,libatomic-ops"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_1.13.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_1.13.bb
new file mode 100644
index 000000000..e883c70d1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_1.13.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization problems."
+AUTHOR = "Sameer Agarwal and Keir Mierle and Others"
+HOMEPAGE = "http://ceres-solver.org/"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=35e00f0c4c96a0820a03e0b31e6416be"
+
+SRC_URI = "git://github.com/ceres-solver/ceres-solver.git"
+SRCREV = "19333b0f55c8462381038e70d42af43b52941128"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "libeigen glog"
+
+inherit cmake
+
+# Only a static library and headers are created
+ALLOW_EMPTY_${PN} = "1"
+
+FILES_${PN}-dev += "${libdir}/cmake/*"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/daemontools/daemontools_0.76.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/daemontools/daemontools_0.76.bb
index def58db3d..84e9bca0e 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
@@ -1,4 +1,5 @@
SUMMARY = "DJB daemontools"
+HOMEPAGE = "http://cr.yp.to/daemontools.html"
DESCRIPTION = "supervise monitors a service. It starts the service and restarts the \
service if it dies. The companion svc program stops, pauses, or restarts \
the service on sysadmin request. The svstat program prints a one-line \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/debsums/debsums_2.2.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/debsums/debsums_2.2.2.bb
new file mode 100644
index 000000000..13f20eb94
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/debsums/debsums_2.2.2.bb
@@ -0,0 +1,54 @@
+SUMMARY = "Miscellaneous utilities specific to Debian"
+SUMMARY_${PN}-cron = "Cron scripts to control automatic debsum checking"
+DESCRIPTION = "A tool for verification of installed package files against \
+MD5 checksums debsums can verify the integrity of installed package files \
+against MD5 checksums installed by the package, or generated from a .deb \
+archive."
+DESCRIPTION_${PN}-cron = "Cron scripts to control automatic system integrity \
+checking via debsums."
+SECTION = "base"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://debian/copyright;md5=770d751553e6559e9eaefd2e11ccf7e9"
+
+SRC_URI = "http://snapshot.debian.org/archive/debian/20170530T212108Z/pool/main/d/debsums/debsums_2.2.2.tar.xz"
+SRC_URI[md5sum] = "82b0710855a7e5212d4358163a269e79"
+SRC_URI[sha256sum] = "aa61896f93a6bbfe0161c21dcd67529ae8e1ec8c3ccf244523c52c4ad8253d97"
+
+# the package is taken from snapshots.debian.org; that source is static and goes stale
+# so we check the latest upstream from a directory that does get updated
+UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/"
+
+inherit perlnative gettext
+
+do_install() {
+ install -d ${D}/${sysconfdir}/cron.daily ${D}/${sysconfdir}/cron.weekly
+ install -d ${D}/${sysconfdir}/cron.monthly ${D}${sbindir} ${D}${bindir}
+ install -d ${D}${mandir}/man1 ${D}${mandir}/man8
+ install -m 0755 debsums ${D}${bindir}/
+ install -m 0755 rdebsums ${D}${bindir}/
+ install -m 0755 debsums_init ${D}${sbindir}
+ install -m 0644 man/debsums.1 ${D}${mandir}/man1/
+ install -m 0644 man/rdebsums.1 ${D}${mandir}/man1/
+ install -m 0644 man/debsums_init.8 ${D}${mandir}/man8/
+ install -m 0644 debian/cron.daily \
+ ${D}/${sysconfdir}/cron.daily/debsums
+ install -m 0644 debian/cron.weekly \
+ ${D}/${sysconfdir}/cron.weekly/debsums
+ install -m 0644 debian/cron.monthly \
+ ${D}/${sysconfdir}/cron.monthly/debsums
+ # Must exist, defaults to empty.
+ touch ${D}/${sysconfdir}/debsums-ignore
+}
+
+PACKAGES =+ "${PN}-cron"
+
+RDEPENDS_${PN} = "dpkg dpkg-perl libfile-fnmatch-perl perl \
+ perl-module-constant perl-module-digest-md5 \
+ perl-module-errno perl-module-fcntl \
+ perl-module-file-basename perl-module-file-copy \
+ perl-module-file-find perl-module-file-glob \
+ perl-module-file-path perl-module-file-spec \
+ perl-module-file-temp perl-module-getopt-long \
+ perl-module-posix"
+
+FILES_${PN}-cron = "${sysconfdir}/cron.*"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util-native_0.9.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util-native_0.9.bb
index 7a7a662ab..aeca23bf2 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util-native_0.9.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util-native_0.9.bb
@@ -8,9 +8,8 @@ SRC_URI += "file://0001-Revert-Makefile.am-Drop-static-dfu-util.patch"
do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_TOOLS}"
do_deploy() {
- install -d ${DEPLOY_DIR_TOOLS}
- install -m 0755 src/dfu-util_static ${DEPLOY_DIR_TOOLS}/dfu-util-${PV}
- rm -f ${DEPLOY_DIR_TOOLS}/dfu-util
- ln -sf ./dfu-util-${PV} ${DEPLOY_DIR_TOOLS}/dfu-util
+ install -m 0755 src/dfu-util_static ${DEPLOYDIR}/dfu-util-${PV}
+ rm -f ${DEPLOYDIR}/dfu-util
+ ln -sf ./dfu-util-${PV} ${DEPLOYDIR}/dfu-util
}
addtask deploy before do_package after do_install
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util_0.9.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util_0.9.bb
index 01bca2294..76e1552c0 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util_0.9.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util_0.9.bb
@@ -1,4 +1,5 @@
DESCRIPTION = "USB Device Firmware Upgrade utility"
+HOMEPAGE = "http://dfu-util.sourceforge.net"
SECTION = "devel"
AUTHOR = "Harald Welte <laforge@openmoko.org>"
LICENSE = "GPLv2"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/dos2unix/dos2unix_7.3.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/dos2unix/dos2unix_7.3.4.bb
new file mode 100644
index 000000000..abf7d1c0c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/dos2unix/dos2unix_7.3.4.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Convert text file line endings between CRLF and LF"
+DESCRIPTION = "The Dos2unix package includes utilities dos2unix and \
+unix2dos to convert plain text files in DOS or Mac format to Unix \
+format and vice versa."
+HOMEPAGE = "http://waterlan.home.xs4all.nl/dos2unix.html"
+SECTION = "support"
+
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=1b78fca784db24f4a40e30b300787f3f"
+
+SRC_URI = "git://git.code.sf.net/p/dos2unix/dos2unix"
+
+# Release 7.3.4
+SRCREV = "8381ba4e1c4cd5ce98ebd9c24726d51cb203cde0"
+
+S = "${WORKDIR}/git/dos2unix"
+
+inherit gettext perlnative
+
+# The dos2unix NLS relies on po4a-native, while po4a recipe is
+# provided by meta-perl layer, so make it optional here, you
+# need have meta-perl in bblayers.conf before enabling nls in
+# PACKAGECONFIG.
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[nls] = "ENABLE_NLS=1,ENABLE_NLS=,po4a-native"
+
+EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS} LDFLAGS_USER='${LDFLAGS}'"
+EXTRA_OEMAKE_class-native = "ENABLE_NLS="
+
+do_install () {
+ oe_runmake DESTDIR="${D}${base_prefix}" install
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/emacs/emacs-23.4/nostdlib-unwind.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/emacs/emacs-23.4/nostdlib-unwind.patch
deleted file mode 100644
index 4200301a3..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/emacs/emacs-23.4/nostdlib-unwind.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Fix linking problem:
-undefined reference to `__aeabi_unwind_cpp_pr0'
-undefined reference to `__aeabi_unwind_cpp_pr1'
-Index: emacs/src/Makefile.in
-===================================================================
---- emacs.orig/src/Makefile.in 2008-08-16 14:20:18.000000000 +0000
-+++ emacs/src/Makefile.in 2008-08-16 14:51:25.000000000 +0000
-@@ -443,7 +443,7 @@
- ask GCC explicitly where to find libgcc.a. */
-
- #ifndef LINKER
--#define LINKER $(CC) -nostdlib
-+#define LINKER $(CC) -nostdlib -lgcc_s
- #endif
-
- #ifndef LIB_GCC
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/emacs/emacs-23.4/use-qemu.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/emacs/emacs-23.4/use-qemu.patch
deleted file mode 100644
index c15207a43..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/emacs/emacs-23.4/use-qemu.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-Upstream-Status: Inappropriate [embedded specific]
-
-diff -uNr emacs-23.4/Makefile.in emacs-23.4.new/Makefile.in
---- emacs-23.4/Makefile.in 2012-01-11 13:35:01.000000000 +0100
-+++ emacs-23.4.new/Makefile.in 2012-07-31 00:54:07.223590866 +0200
-@@ -336,7 +336,7 @@
- # all preloaded elisp files, and only then dump the actual src/emacs, which
- # is not wrong, but is overkill in 99.99% of the cases.
- src: Makefile FRC
-- boot=bootstrap-emacs$(EXEEXT); \
-+ boot=${QEMU} bootstrap-emacs$(EXEEXT); \
- if [ ! -x "src/$$boot" ]; then \
- cd $@; $(MAKE) all $(MFLAGS) \
- CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \
-diff -uNr emacs-23.4/leim/Makefile.in emacs-23.4.new/leim/Makefile.in
---- emacs-23.4/leim/Makefile.in 2012-01-11 13:35:01.000000000 +0100
-+++ emacs-23.4.new/leim/Makefile.in 2012-07-31 00:54:07.179590866 +0200
-@@ -51,7 +51,7 @@
-
- # How to run Emacs.
- RUN-EMACS = EMACSLOADPATH=$(buildlisppath) LC_ALL=C \
-- ${BUILT-EMACS} -batch --no-init-file --no-site-file --multibyte
-+ ${QEMU} ${BUILT-EMACS} -batch --no-init-file --no-site-file --multibyte
-
- # Subdirectories to be made if ${srcdir} is different from the current
- # directory.
-diff -uNr emacs-23.4/lib-src/Makefile.in emacs-23.4.new/lib-src/Makefile.in
---- emacs-23.4/lib-src/Makefile.in 2012-01-11 13:35:01.000000000 +0100
-+++ emacs-23.4.new/lib-src/Makefile.in 2012-07-31 00:54:07.180590866 +0200
-@@ -23,7 +23,7 @@
- SHELL = /bin/sh
-
- # Following ../lisp/Makefile.in.
--EMACS = ../src/emacs
-+EMACS = ${QEMU} ../src/emacs
- EMACSOPT = -batch --no-site-file --multibyte
-
- # ==================== Things `configure' will edit ====================
-@@ -372,7 +372,7 @@
- clobbered too. */
- test-distrib${EXEEXT}: ${srcdir}/test-distrib.c
- $(CC) ${ALL_CFLAGS} -o test-distrib ${srcdir}/test-distrib.c
-- ./test-distrib ${srcdir}/testfile
-+ ${QEMU} ./test-distrib ${srcdir}/testfile
-
- /* We need the following in order to create a <getopt.h> when the system
- does not have one that works with the given compiler. */
-diff -uNr emacs-23.4/lisp/Makefile.in emacs-23.4.new/lisp/Makefile.in
---- emacs-23.4/lisp/Makefile.in 2012-01-11 13:35:01.000000000 +0100
-+++ emacs-23.4.new/lisp/Makefile.in 2012-07-31 00:54:07.195590866 +0200
-@@ -26,8 +26,7 @@
- # You can specify a different executable on the make command line,
- # e.g. "make EMACS=../src/emacs ...".
-
--EMACS = ../src/emacs
--
-+EMACS = "${QEMU} ../src/emacs"
- # Command line flags for Emacs. This must include --multibyte,
- # otherwise some files will not compile.
-
-diff -uNr emacs-23.4/src/Makefile.in emacs-23.4.new/src/Makefile.in
---- emacs-23.4/src/Makefile.in 2012-01-12 11:27:54.000000000 +0100
-+++ emacs-23.4.new/src/Makefile.in 2012-07-31 00:55:30.344593847 +0200
-@@ -482,7 +482,7 @@
- this with the shell''s ``for'' construct.
- Note that some people do not have '.' in their paths, so we must
- use ./prefix-args. */
--#define YMF_PASS_LDFLAGS(flags) `./prefix-args -Xlinker flags`
-+#define YMF_PASS_LDFLAGS(flags) `${QEMU} ./prefix-args -Xlinker flags`
- #else
- #define YMF_PASS_LDFLAGS(flags) flags
- #endif
-@@ -919,9 +919,9 @@
- $(GNULIB_VAR) LIB_MATH LIB_STANDARD $(GNULIB_VAR)
-
- #ifdef HAVE_SHM
--RUN_TEMACS = `/bin/pwd`/temacs -nl
-+RUN_TEMACS = ${QEMU} temacs -nl
- #else
--RUN_TEMACS = `/bin/pwd`/temacs
-+RUN_TEMACS = ${QEMU} temacs
- #endif
-
- all: emacs${EXEEXT} $(OTHER_FILES)
-@@ -936,7 +936,7 @@
- @: This new Emacs is as functional and more efficient then
- @: bootstrap-emacs, so let us replace it.
- -ln -f emacs${EXEEXT} bootstrap-emacs${EXEEXT}
-- -./emacs -q -batch -f list-load-path-shadows
-+ -${QEMU} ./emacs -q -batch -f list-load-path-shadows
- #endif /* ! defined (CANNOT_DUMP) */
-
- /* We run make-docfile twice because the command line may get too long
-@@ -954,8 +954,8 @@
- only in order to reduce the command line length. --Stef */
- ${etc}DOC: ${libsrc}make-docfile${EXEEXT} ${obj} ${lisp} ${SOME_MACHINE_LISP}
- -rm -f ${etc}DOC
-- ${libsrc}make-docfile -d ${srcdir} ${SOME_MACHINE_OBJECTS} ${obj} > ${etc}DOC
-- ${libsrc}make-docfile -a ${etc}DOC -d ${srcdir} ${SOME_MACHINE_LISP} ${shortlisp}
-+ ${QEMU}${libsrc}make-docfile -d ${srcdir} ${SOME_MACHINE_OBJECTS} ${obj} > ${etc}DOC
-+ ${QEMU} ${libsrc}make-docfile -a ${etc}DOC -d ${srcdir} ${SOME_MACHINE_LISP} ${shortlisp}
-
- ${libsrc}make-docfile${EXEEXT}:
- cd ${libsrc}; ${MAKE} ${MFLAGS} make-docfile${EXEEXT}
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
deleted file mode 100644
index 5b905f93f..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/emacs/emacs.inc
+++ /dev/null
@@ -1,147 +0,0 @@
-DESCRIPTION = "Emacs"
-HOMEPAGE = "http://www.gnu.org/software/emacs/"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-SECTION = "editor"
-# and it needs to run some generated binaries..
-DEPENDS += "qemu-native"
-
-DEPENDS +=" liblockfile"
-
-X11DEPENDS = " \
- libice libsm atk cairo dbus expat libffi fontconfig freetype gconf giflib \
- jpeg xz pixman libpng librsvg tiff libcroco \
- 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} "
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
-PACKAGECONFIG[x11] = "--with-x-toolkit=gtk,--without-x --without-dbus,${X11DEPENDS}"
-
-
-inherit autotools
-
-PACKAGES =+ "${PN}-el"
-
-FILES_${PN}-el = "${datadir}/emacs/*/*/*.el.gz \
- ${datadir}/emacs/*/*/*/*.el.gz"
-
-FILES_${PN} += "${datadir}/emacs ${datadir}/icons"
-
-FILES_${PN}-dbg += "${libexecdir}/emacs/*/*/.debug ${datadir}/emacs/*/*/.debug"
-
-TREEDIR = "${WORKDIR}/qemu-treedir"
-
-QEMUARCH= "${TARGET_ARCH}"
-QEMUARCH_x86 = "i386"
-
-# Large stack is required at least on x86_64 host, otherwise random segfaults appear:
-QEMU = "qemu-${QEMUARCH} ${QEMU_OPTIONS} -s 1048576 -L ${TREEDIR} "
-
-export LOGNAME = "$(whoami)"
-
-do_compile_prepend() {
- sed -i ':1;s:\(START.* \|LIB_STANDARD.* \|LIBES.* \)/usr/lib:\1${STAGING_LIBDIR}:;t1' ${S}/src/s/gnu-linux.h `find "${S}" -name Makefile`
- export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${TOOLCHAIN_PATH}/${TARGET_SYS}/lib"
-# Ugly hack, see files/use-qemu.patch for more:
- ln -sf ../src/emacs lisp/emacs
- ln -sf ../src/emacs lib-src/emacs
- ln -sf ../src/emacs leim/emacs
-#copy STAGING_DIR_TARGET and libgcc_s.so* to WORKDIR/qemu-treedir #copied code from glibc-package.bbclass
- treedir=${TREEDIR}
- 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
- cp -pPR ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so $treedir/${base_libdir}
- fi
- if [ -f ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so.* ]; then
- cp -pPR ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so.* $treedir/${base_libdir}
- fi
- # stupid hack, but without it, it tries to use /usr/lib/libc.so from host and fails
- # temacs: error while loading shared libraries: /usr/lib/libc.so: ELF file version does not match current one
- if [ ! -f $treedir/${base_libdir}/libc.so ]; then
- ln -s libc.so.6 $treedir/${base_libdir}/libc.so
- fi
-
- # copy only as much stuff as we need
- # before: 5.5G ../../qemu-treedir/
- # after: 17M ../../qemu-treedir/
- cp -pPR \
- ${STAGING_DIR_TARGET}/${base_libdir}/ld-* \
- ${STAGING_DIR_TARGET}/${base_libdir}/libc.* \
- ${STAGING_DIR_TARGET}/${base_libdir}/libc-* \
- ${STAGING_DIR_TARGET}/${base_libdir}/libm-* \
- ${STAGING_DIR_TARGET}/${base_libdir}/libm.* \
- ${STAGING_DIR_TARGET}/${base_libdir}/libtinfo.so.* \
- ${STAGING_DIR_TARGET}/${base_libdir}/libresolv* \
- ${STAGING_DIR_TARGET}/${base_libdir}/libdl* \
- ${STAGING_DIR_TARGET}/${base_libdir}/librt* \
- ${STAGING_DIR_TARGET}/${base_libdir}/libgcc_s.so.* \
- ${STAGING_DIR_TARGET}/${base_libdir}/libpthread* $treedir/${base_libdir}/
-
- if [ ! -z "${@bb.utils.filter('PACKAGECONFIG', 'x11', d)}" ]; then
- echo "X11 build enabled"
- # copy only as much stuff as we need
- # before: 5.5G ../../qemu-treedir/
- # after: 86M ../../qemu-treedir/
- cp -pPR \
- ${STAGING_DIR_TARGET}/${base_libdir}/libuuid.so.* \
- ${STAGING_DIR_TARGET}/${base_libdir}/libz.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libICE.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libSM.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libatk-1.0.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libcairo.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libdbus-1.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libdbus-glib-1.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libexpat.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libffi.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libfontconfig.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libfreetype.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libgconf-2.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libgif.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libjpeg.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/liblzma.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libpixman-1.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libpng1*.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/librsvg-2.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libstdc++.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libtiff.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libxml2.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libcroco-0.6.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libharfbuzz.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libicule.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libicuuc.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libicudata.so.* $treedir/${base_libdir}/
-
- # X11 Xau Xcomposite Xcursor Xdamage Xdmcp Xext Xfixes Xft Xpm Xrandr Xrender
- cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libX*.so.* $treedir/${base_libdir}/
-
- # gdk-x11 gdk_pixbuf gio glib gmodule gobject gthread gtk-x11
- cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libg*-2.0.so.* $treedir/${base_libdir}/
-
- # pango pangocairo pangoft2
- cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libpango*-1.0.so.* $treedir/${base_libdir}/
-
- # xcb-render xcb-shm xcb
- cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libxcb*.so.* $treedir/${base_libdir}/
- fi
-}
-
-do_install_append() {
- # freaks package.bbclass and whole bitbake call returns error code
- # ERROR: runstrip: ''arm-oe-linux-gnueabi-strip' '/var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/emacs-23.4-r0/package/usr/share/emacs/23.4/etc/tutorials/TUTORIAL.ko'' strip command failed
- mv ${D}${datadir}/${BPN}/${PV}/etc/tutorials/TUTORIAL.ko ${D}${datadir}/${BPN}/${PV}/etc/tutorials/TUTORIAL.KO
- # Info dir listing isn't interesting at this point so remove it if it exists.
- if [ -e "${D}${infodir}/dir" ]; then
- rm -f ${D}${infodir}/dir
- fi
-}
-
-EXTRA_OEMAKE += 'QEMU="${QEMU}"'
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/emacs/emacs_23.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/emacs/emacs_23.4.bb
deleted file mode 100644
index 3388ff01e..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/emacs/emacs_23.4.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require emacs.inc
-
-PR = "r4"
-
-PNBLACKLIST[emacs] ?= "qemu: uncaught target signal 11 (Segmentation fault) - core dumped - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-SRC_URI = "${GNU_MIRROR}/emacs/emacs-${PV}.tar.gz;name=tarball \
- file://use-qemu.patch \
- file://nostdlib-unwind.patch \
-"
-SRC_URI[tarball.md5sum] = "34405165fcd978fbc8b304cbd99ccf4f"
-SRC_URI[tarball.sha256sum] = "b9a2b8434052771f797d2032772eba862ff9aa143029efc72295170607289c18"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/espeak/espeak-data_1.37.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/espeak/espeak-data_1.37.bb
deleted file mode 100644
index 914bf3601..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/espeak/espeak-data_1.37.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-require espeak.inc
-
-inherit native
-
-PACKAGES = "${PN}"
-FILES_${PN} = "${layout_datadir}"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-TARGET_ARCH = "${MACHINE_ARCH}"
-
-do_compile() {
- # Fixing byte order of phoneme data files
- cd "${S}/platforms/big_endian"
- sed -i '/^ *CC *=/d' Makefile
- sed -i 's/\(.*BYTE_ORDER\)/#undef BYTE_ORDER\n#define BYTE_ORDER BIG_ENDIAN\n\1/' espeak-phoneme-data.c
- oe_runmake
- ./espeak-phoneme-data "${S}/espeak-data"
- cp -f phondata phonindex phontab "${S}/espeak-data"
-}
-
-do_install() {
- install -d ${D}${layout_datadir}/espeak-data
- install -m 0644 ${S}/espeak-data/phon* ${D}${layout_datadir}/espeak-data
-}
-
-SRC_URI[md5sum] = "5c7b292d0537232868b4ac1317d76c02"
-SRC_URI[sha256sum] = "77f406c345362185ec4f362bf49f61d202e01ac9b9cd5c14f803195a544ce6d3"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/espeak/espeak-data_1.48.04.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/espeak/espeak-data_1.48.04.bb
new file mode 100644
index 000000000..79b2cc1f4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/espeak/espeak-data_1.48.04.bb
@@ -0,0 +1,24 @@
+require espeak.inc
+
+inherit native
+
+PACKAGES = "${PN}"
+FILES_${PN} = "${layout_datadir}"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+TARGET_ARCH = "${MACHINE_ARCH}"
+
+do_compile() {
+ # Fixing byte order of phoneme data files
+ cd "${S}/platforms/big_endian"
+ sed -i '/^ *CC *=/d' Makefile
+ sed -i 's/\(.*BYTE_ORDER\)/#undef BYTE_ORDER\n#define BYTE_ORDER BIG_ENDIAN\n\1/' espeak-phoneme-data.c
+ oe_runmake
+ ./espeak-phoneme-data "${S}/espeak-data"
+ cp -f phondata phonindex phontab "${S}/espeak-data"
+}
+
+do_install() {
+ install -d ${D}${layout_datadir}/espeak-data
+ install -m 0644 ${S}/espeak-data/phon* ${D}${layout_datadir}/espeak-data
+}
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 5d0b40308..60b3f73c8 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,8 +3,11 @@ SECTION = "base"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://License.txt;md5=cb7a20edb4c9f5f478de6523dcd7362c"
-SRC_URI = "${SOURCEFORGE_MIRROR}/espeak/espeak-${PV}-source.zip \
- file://fix-gcc6-errors.patch"
+SRC_URI = "http://downloads.sourceforge.net/espeak/espeak-1.48.04-source.zip \
+ file://gcc-narrowing-warning-fix.patch \
+"
+SRC_URI[md5sum] = "cadd7482eaafe9239546bdc09fa244c3"
+SRC_URI[sha256sum] = "bf9a17673adffcc28ff7ea18764f06136547e97bbd9edf2ec612f09b207f0659"
S = "${WORKDIR}/espeak-${PV}-source"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/espeak/espeak_1.37.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/espeak/espeak_1.37.bb
deleted file mode 100644
index 273fe340e..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/espeak/espeak_1.37.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-require espeak.inc
-inherit siteinfo
-
-EXTRA_PHONEMES = '${@bb.utils.contains("SITEINFO_ENDIANNESS", "be", "espeak-data (= ${PV})", "", d)}'
-RDEPENDS_${PN} = "portaudio-v19 ${EXTRA_PHONEMES}"
-
-SRC_URI[md5sum] = "5c7b292d0537232868b4ac1317d76c02"
-SRC_URI[sha256sum] = "77f406c345362185ec4f362bf49f61d202e01ac9b9cd5c14f803195a544ce6d3"
-
-CXXFLAGS += "-DUSE_PORTAUDIO"
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-FILES_${PN} += "${datadir}/espeak-data"
-
-do_configure() {
- # "speak" binary, a TTS engine, uses portaudio in either APIs V18 or V19, use V19
- cp "${S}/src/portaudio19.h" "${S}/src/portaudio.h"
-}
-
-do_compile() {
- cd src
- oe_runmake
-}
-
-do_install() {
- install -d ${D}${bindir}
- install -d ${D}${libdir}
- install -d ${D}${includedir}/espeak
- install -d ${D}${datadir}/espeak-data
-
- # we do not ship "speak" binary though.
- install -m 0755 ${S}/src/espeak ${D}${bindir}
- install -m 0644 ${S}/src/speak_lib.h ${D}${includedir}/espeak/
- ln -sf espeak/espeak.h ${D}${includedir}/
- oe_libinstall -so -C src libespeak ${D}${libdir}
-
- if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
- # the big-endian phon* files are provided by the package espeak-data
- rm -f ${S}/espeak-data/phon*
- fi
-
- cp -prf ${S}/espeak-data/* ${D}${datadir}/espeak-data
- chown -R root:root ${D}${datadir}/espeak-data
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/espeak/espeak_1.48.04.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/espeak/espeak_1.48.04.bb
new file mode 100644
index 000000000..552f40413
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/espeak/espeak_1.48.04.bb
@@ -0,0 +1,41 @@
+require espeak.inc
+inherit siteinfo
+
+EXTRA_PHONEMES = '${@bb.utils.contains("SITEINFO_ENDIANNESS", "be", "espeak-data (= ${PV})", "", d)}'
+RDEPENDS_${PN} = "portaudio-v19 ${EXTRA_PHONEMES}"
+
+CXXFLAGS += "-DUSE_PORTAUDIO"
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+FILES_${PN} += "${datadir}/espeak-data"
+
+do_configure() {
+ # "speak" binary, a TTS engine, uses portaudio in either APIs V18 or V19, use V19
+ cp "${S}/src/portaudio19.h" "${S}/src/portaudio.h"
+}
+
+do_compile() {
+ cd src
+ oe_runmake
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ install -d ${D}${libdir}
+ install -d ${D}${includedir}/espeak
+ install -d ${D}${datadir}/espeak-data
+
+ # we do not ship "speak" binary though.
+ install -m 0755 ${S}/src/espeak ${D}${bindir}
+ install -m 0644 ${S}/src/speak_lib.h ${D}${includedir}/espeak/
+ ln -sf espeak/espeak.h ${D}${includedir}/
+ oe_libinstall -so -C src libespeak ${D}${libdir}
+
+ if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
+ # the big-endian phon* files are provided by the package espeak-data
+ rm -f ${S}/espeak-data/phon*
+ fi
+
+ cp -prf ${S}/espeak-data/* ${D}${datadir}/espeak-data
+ chown -R root:root ${D}${datadir}/espeak-data
+}
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
deleted file mode 100644
index 9cf23cf03..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/espeak/files/fix-gcc6-errors.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-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/espeak/files/gcc-narrowing-warning-fix.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/espeak/files/gcc-narrowing-warning-fix.patch
new file mode 100644
index 000000000..2a9b4607d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/espeak/files/gcc-narrowing-warning-fix.patch
@@ -0,0 +1,56 @@
+From f09c83640b9173552fd9277c3a48619b903fa436 Mon Sep 17 00:00:00 2001
+From: "Reece H. Dunn" <msclrhd@gmail.com>
+Date: Wed, 20 Jan 2016 20:48:29 +0000
+Subject: [PATCH] Fix GCC -Wnarrowing warnings.
+
+---
+ src/tr_languages.cpp | 7 ++++---
+ src/translate.h | 2 +-
+ 2 files changed, 5 insertions(+), 4 deletions(-)
+
+Index: espeak-1.48.04-source/src/tr_languages.cpp
+===================================================================
+--- espeak-1.48.04-source.orig/src/tr_languages.cpp
++++ espeak-1.48.04-source/src/tr_languages.cpp
+@@ -198,8 +198,8 @@ static const unsigned short chars_ignore
+ 0x200d, 1, // zero width joiner
+ 0, 0 };
+
+-const char string_ordinal[] = {0xc2,0xba,0}; // masculine ordinal character, UTF-8
+-
++const unsigned char string_ordinal[] = {0xc2,0xba,0}; // masculine ordinal character, UTF-8
++const unsigned char utf8_null[] = { 0 }; // null string, UTF-8
+
+ static Translator* NewTranslator(void)
+ {//===================================
+@@ -296,7 +296,7 @@ static const char transpose_map_latin[]
+ tr->langopts.replace_chars = NULL;
+ tr->langopts.ascii_language[0] = 0; // Non-Latin alphabet languages, use this language to speak Latin words, default is English
+ tr->langopts.alt_alphabet_lang = L('e','n');
+- tr->langopts.roman_suffix = "";
++ tr->langopts.roman_suffix = utf8_null;
+
+ SetLengthMods(tr,201);
+ // tr->langopts.length_mods = length_mods_en;
+@@ -758,7 +758,7 @@ Translator *SelectTranslator(const char
+ tr->langopts.stress_flags = S_FINAL_SPANISH | S_FINAL_DIM_ONLY | S_FINAL_NO_2;
+ tr->langopts.numbers = NUM_SINGLE_STRESS | NUM_DECIMAL_COMMA | NUM_AND_UNITS | NUM_OMIT_1_HUNDRED | NUM_OMIT_1_THOUSAND | NUM_ROMAN | NUM_ROMAN_ORDINAL;
+ tr->langopts.numbers2 = NUM2_ORDINAL_NO_AND;
+- tr->langopts.roman_suffix = string_ordinal;
++ tr->langopts.roman_suffix = utf8_null;
+ }
+ else
+ if(name2 == L_pap)
+Index: espeak-1.48.04-source/src/translate.h
+===================================================================
+--- espeak-1.48.04-source.orig/src/translate.h
++++ espeak-1.48.04-source/src/translate.h
+@@ -545,7 +545,7 @@ typedef struct {
+ int decimal_sep;
+ int max_digits; // max number of digits which can be spoken as an integer number (rather than individual digits)
+ const char *ordinal_indicator; // UTF-8 string
+- const char *roman_suffix; // add this (ordinal) suffix to Roman numbers (LANG=an)
++ const unsigned char *roman_suffix; // add this (ordinal) suffix to Roman numbers (LANG=an)
+
+ // bit 0, accent name before the letter name, bit 1 "capital" after letter name
+ int accents;
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/eventlog/eventlog_0.2.13.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/eventlog/eventlog_0.2.13.bb
index 349507d36..59b01b69b 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/eventlog/eventlog_0.2.13.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/eventlog/eventlog_0.2.13.bb
@@ -1,4 +1,5 @@
SUMMARY = "Replacement syslog API"
+HOMEPAGE = "http://www.balabit.com/network-security/syslog-ng/opensource-logging-system"
DESCRIPTION = "The EventLog library aims to be a replacement of the \
simple syslog() API provided on UNIX systems. The \
major difference between EventLog and syslog is that \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/farsight/farsight2_0.0.22.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/farsight/farsight2_0.0.22.bb
deleted file mode 100644
index 14ce57aaf..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/farsight/farsight2_0.0.22.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-DESCRIPTION = "FarSight is an audio/video conferencing framework specifically designed for Instant Messengers."
-HOMEPAGE = "http://farsight.sf.net"
-SRC_URI = "http://farsight.freedesktop.org/releases/farsight2/${BP}.tar.gz"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
-
-PR = "r3"
-
-DEPENDS = "libnice glib-2.0 libxml2 zlib dbus gstreamer gst-plugins-base"
-
-inherit autotools pkgconfig
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[gupnp] = "--enable-gupnp,--disable-gupnp,gupnp-igd"
-
-EXTRA_OECONF = " \
- --disable-debug \
- --disable-gtk-doc \
- --disable-python \
-"
-
-FILES_${PN} += "${libdir}/*/*.so"
-FILES_${PN}-dev += "${libdir}/*/*.la"
-FILES_${PN}-staticdev += "${libdir}/*/*.a"
-FILES_${PN}-dbg += "${libdir}/*/.debug"
-
-
-SRC_URI[md5sum] = "e1f540cf3ebab06c3d7db1f46b44ac88"
-SRC_URI[sha256sum] = "3ae59aa61a8071c9fad111e5fd606aabc27961eb4192f8729987a27dae6b3974"
-
-PNBLACKLIST[farsight2] ?= "Depends on blacklisted gstreamer - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-PNBLACKLIST[farsight2] ?= "Depends on blacklisted libnice - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-PNBLACKLIST[farsight2] ?= "Depends on blacklisted gst-plugins-base - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/fbset/fbset-modes.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/fbset/fbset-modes.bb
index 88f7a4ff1..5f6f9909b 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/fbset/fbset-modes.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/fbset/fbset-modes.bb
@@ -1,4 +1,5 @@
SUMMARY = "Default display timings and resolutions for fbset"
+HOMEPAGE = "http://users.telenet.be/geertu/Linux/fbdev/"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/fbset/fbset_2.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/fbset/fbset_2.1.bb
index cbbe6caee..fbf834da1 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/fbset/fbset_2.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/fbset/fbset_2.1.bb
@@ -6,6 +6,7 @@
# Date: 28-May-06
SUMMARY = "The fbset console tool"
+HOMEPAGE = "http://users.telenet.be/geertu/Linux/fbdev/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://fbset.c;endline=19;md5=bf326f82cdfcac391af208f019c5603f"
RRECOMMENDS_${PN} = "fbset-modes"
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
deleted file mode 100644
index 49cc270fe..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/benchfft_3.1.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "FFTW benchmarks"
-SECTION = "libs"
-LICENSE = "GPLv2"
-
-# single precision fftw is called fftwf
-DEPENDS = "virtual/fftw"
-
-SRC_URI = "http://www.fftw.org/benchfft/benchfft-${PV}.tar.gz"
-
-EXTRA_OECONF = "--disable-fortran --enable-single --enable-shared"
-
-inherit autotools pkgconfig
-
-do_compile_prepend() {
- sed -i -e 's:all-recursive:$(RECURSIVE_TARGETS):g' ${S}/Makefile
-}
-
-SRC_URI[md5sum] = "9356e5e9dcb3f1481977009720a2ccf8"
-SRC_URI[sha256sum] = "1b4a5b5e48ad5e61a21586b7b59d5c0a88691a981e73e2c6dc5868197461791b"
-
-PNBLACKLIST[benchfft] ?= "does not build with distroless qemuarm as reported in 'State of bitbake world' thread, nobody volunteered to fix them - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/flite/flite-alsa-1.3/flite-alsa-1.3-configure-with-audio.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/flite/flite-alsa-1.3/flite-alsa-1.3-configure-with-audio.patch
deleted file mode 100644
index e1e7aed50..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/flite/flite-alsa-1.3/flite-alsa-1.3-configure-with-audio.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- flite-1.3-release/configure.in.old 2008-01-06 02:17:47.000000000 -0600
-+++ flite-1.3-release/configure.in 2008-01-06 02:19:56.000000000 -0600
-@@ -220,7 +220,8 @@ dnl allow the user to override the one d
- dnl
- AC_ARG_WITH( audio,
- [ --with-audio with specific audio support (none linux freebsd etc) ],
-- AUDIODRIVER=$with_audio )
-+ [AUDIODRIVER=$with_audio
-+ AUDIODEFS=])
-
- if test "x$AUDIODEFS" = x; then
- case "$AUDIODRIVER" in
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/flite/flite-alsa_1.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/flite/flite-alsa_1.3.bb
deleted file mode 100644
index 0883c1ad4..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/flite/flite-alsa_1.3.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-require flite.inc
-
-PR = "r1"
-
-EXTRA_OECONF = "--with-audio=alsa --enable-shared"
-
-SRC_URI = "http://www.speech.cs.cmu.edu/flite/packed/flite-${PV}/flite-${PV}-release.tar.gz \
- file://flite-1.3-alsa_support-1.2.diff \
- file://flite-alsa-1.3-configure-with-audio.patch"
-
-SRC_URI[md5sum] = "ae0aca1cb7b4801f4372f3a75a9e52b5"
-SRC_URI[sha256sum] = "922225f7001e57a0fbace8833b0a48790a68f6c7b491f2d47c78ad537ab78a8b"
-
-# Looks like caused by flite-1.3-alsa_support-1.2.diff
-# flite-alsa-1.3: No GNU_HASH in the elf binary: '/tmp/work/armv5te-oe-linux-gnueabi/flite-alsa/1.3-r1/packages-split/libflite-alsa-vox16/usr/lib/libflite_cmu_us_kal16.so.1.3' [ldflags]
-# flite-alsa-1.3: No GNU_HASH in the elf binary: '/tmp/work/armv5te-oe-linux-gnueabi/flite-alsa/1.3-r1/packages-split/libflite-alsa-vox8/usr/lib/libflite_cmu_us_kal.so.1.3' [ldflags]
-# flite-alsa-1.3: No GNU_HASH in the elf binary: '/tmp/work/core2-64-oe-linux/flite-alsa/1.3-r1/packages-split/libflite-alsa-vox16/usr/lib/libflite_cmu_us_kal16.so.1.3' [ldflags]
-# flite-alsa-1.3: No GNU_HASH in the elf binary: '/tmp/work/core2-64-oe-linux/flite-alsa/1.3-r1/packages-split/libflite-alsa-vox8/usr/lib/libflite_cmu_us_kal.so.1.3' [ldflags]
-# flite-alsa-1.3: No GNU_HASH in the elf binary: '/tmp/work/i586-oe-linux/flite-alsa/1.3-r1/packages-split/libflite-alsa-vox16/usr/lib/libflite_cmu_us_kal16.so.1.3' [ldflags]
-# flite-alsa-1.3: No GNU_HASH in the elf binary: '/tmp/work/i586-oe-linux/flite-alsa/1.3-r1/packages-split/libflite-alsa-vox8/usr/lib/libflite_cmu_us_kal.so.1.3' [ldflags]
-PNBLACKLIST[flite-alsa] ?= "OLD: wasn't updated in over 6 years, only navit was RSUGGESTing it and doesn't respect LDFLAGS - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/flite/flite.inc b/import-layers/meta-openembedded/meta-oe/recipes-support/flite/flite.inc
deleted file mode 100644
index 0ef82c004..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/flite/flite.inc
+++ /dev/null
@@ -1,33 +0,0 @@
-DESCRIPTION = "flite - the festival light speech synthesizer"
-HOMEPAGE = "http://www.speech.cs.cmu.edu/flite/"
-SECTION = "console/utils"
-LICENSE = "flite"
-LIC_FILES_CHKSUM = "file://COPYING;md5=68a16b1ee49c96c36f232ccdcd287650"
-DEPENDS = "alsa-oss"
-
-PARALLEL_MAKE = ""
-
-S = "${WORKDIR}/flite-${PV}-release"
-
-CFLAGS += " -lasound "
-
-inherit autotools-brokensep
-
-PACKAGES += "lib${PN} lib${PN}-vox8 lib${PN}-vox16"
-
-FILES_${PN} = "${bindir}"
-
-FILES_lib${PN} ="${libdir}/libflite.so.* \
- ${libdir}/libflite_cmu_time_awb.so.* \
- ${libdir}/libflite_cmulex.so.* \
- ${libdir}/libflite_usenglish.so.*"
-
-FILES_lib${PN}-vox8 = "${libdir}/libflite_cmu_us_kal.so.*"
-
-FILES_lib${PN}-vox16 = "${libdir}/libflite_cmu_us_kal16.so.*"
-
-LEAD_SONAME = "libflite.so"
-
-do_install() {
- oe_runmake INSTALLBINDIR="${D}${bindir}" INSTALLLIBDIR="${D}${libdir}" INSTALLINCDIR="${D}${includedir}" install
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk-native.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk-native.bb
index 353987e0f..2636287e3 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk-native.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk-native.bb
@@ -14,3 +14,8 @@ EXTRA_OECMAKE += " \
-DOPTION_USE_XFIXES=OFF \
-DOPTION_USE_XCURSOR=OFF \
"
+
+do_install_append() {
+ # make sure native fltk-config is not used accidentaly
+ rm -f ${D}${bindir}/fltk-config
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk.bb
index 542fd661e..619d1420a 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk.bb
@@ -1,6 +1,6 @@
require ${BPN}.inc
-DEPENDS = "alsa-lib zlib jpeg libpng libxext libxft ${BPN}-native"
+DEPENDS = "alsa-lib zlib jpeg libpng libxext libxft"
inherit binconfig lib_package gtk-icon-cache mime
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
deleted file mode 100644
index 02cb5ad75..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gd/files/fix-gcc-unused-functions.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-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/.gitignore-the-new-test-case.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/.gitignore-the-new-test-case.patch
deleted file mode 100644
index eab4975cb..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/.gitignore-the-new-test-case.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 8520274759cb8f95e483b02a445aff225e13467b Mon Sep 17 00:00:00 2001
-From: "Christoph M. Becker" <cmbecker69@gmx.de>
-Date: Tue, 16 Aug 2016 16:00:27 +0200
-Subject: [PATCH] .gitignore the new test case
-
-Upstream-Status: Backport
-
-Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
----
- tests/tga/.gitignore | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/tests/tga/.gitignore b/tests/tga/.gitignore
-index e88e124..7a659b1 100644
---- a/tests/tga/.gitignore
-+++ b/tests/tga/.gitignore
-@@ -4,3 +4,4 @@
- /bug00248
- /bug00248a
- /tga_null
-+/tga_read
---
-2.10.2
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2016-10166.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2016-10166.patch
deleted file mode 100644
index 7ccfbeabc..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2016-10166.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From c92240c1670c20c2f854761d3a89ab61dd158c91 Mon Sep 17 00:00:00 2001
-From: "Christoph M. Becker" <cmbecker69@gmx.de>
-Date: Sat, 6 Aug 2016 10:08:53 +0200
-Subject: [PATCH] Fix potential unsigned underflow
-
-No need to decrease `u`, so we don't do it. While we're at it, we also factor
-out the overflow check of the loop, what improves performance and readability.
-
-This issue has been reported by Stefan Esser to security@libgd.org.
-
-Upstream-Status: Backport
-CVE: CVE-2016-10166
-
-Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
----
- src/gd_interpolation.c | 19 ++++++++++---------
- 1 file changed, 10 insertions(+), 9 deletions(-)
-
-diff --git a/src/gd_interpolation.c b/src/gd_interpolation.c
-index 7e7943d..9944349 100644
---- a/src/gd_interpolation.c
-+++ b/src/gd_interpolation.c
-@@ -829,8 +829,13 @@ static inline LineContribType * _gdContributionsAlloc(unsigned int line_length,
- {
- unsigned int u = 0;
- LineContribType *res;
-- int overflow_error = 0;
-+ size_t weights_size;
-
-+ if (overflow2(windows_size, sizeof(double))) {
-+ return NULL;
-+ } else {
-+ weights_size = windows_size * sizeof(double);
-+ }
- res = (LineContribType *) gdMalloc(sizeof(LineContribType));
- if (!res) {
- return NULL;
-@@ -847,15 +852,11 @@ static inline LineContribType * _gdContributionsAlloc(unsigned int line_length,
- return NULL;
- }
- for (u = 0 ; u < line_length ; u++) {
-- if (overflow2(windows_size, sizeof(double))) {
-- overflow_error = 1;
-- } else {
-- res->ContribRow[u].Weights = (double *) gdMalloc(windows_size * sizeof(double));
-- }
-- if (overflow_error == 1 || res->ContribRow[u].Weights == NULL) {
-+ res->ContribRow[u].Weights = (double *) gdMalloc(weights_size);
-+ if (res->ContribRow[u].Weights == NULL) {
- unsigned int i;
-- u--;
-- for (i=0;i<=u;i++) {
-+
-+ for (i=0;i<u;i++) {
- gdFree(res->ContribRow[i].Weights);
- }
- gdFree(res->ContribRow);
---
-2.10.2
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2016-10167.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2016-10167.patch
deleted file mode 100644
index 54ef22cb6..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2016-10167.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 6ab531ef0d82efb9e00236ee5ea23928335d221f Mon Sep 17 00:00:00 2001
-From: Catalin Enache <catalin.enache@windriver.com>
-Date: Fri, 7 Apr 2017 12:30:22 +0300
-Subject: [PATCH] Fix DOS vulnerability in gdImageCreateFromGd2Ctx()
-
-We must not pretend that there are image data if there are none. Instead
-we fail reading the image file gracefully.
-
-Upstream-Status: Backport
-CVE: CVE-2016-10167
-
-Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
----
- src/gd_gd2.c | 14 ++++++--------
- 1 file changed, 6 insertions(+), 8 deletions(-)
-
-diff --git a/src/gd_gd2.c b/src/gd_gd2.c
-index 8df93c1..bae65ea 100644
---- a/src/gd_gd2.c
-+++ b/src/gd_gd2.c
-@@ -445,18 +445,16 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromGd2Ctx (gdIOCtxPtr in)
-
- if (im->trueColor) {
- if (!gdGetInt (&im->tpixels[y][x], in)) {
-- /*printf("EOF while reading\n"); */
-- /*gdImageDestroy(im); */
-- /*return 0; */
-- im->tpixels[y][x] = 0;
-+ gd_error("gd2: EOF while reading\n");
-+ gdImageDestroy(im);
-+ return NULL;
- }
- } else {
- int ch;
- if (!gdGetByte (&ch, in)) {
-- /*printf("EOF while reading\n"); */
-- /*gdImageDestroy(im); */
-- /*return 0; */
-- ch = 0;
-+ gd_error("gd2: EOF while reading\n");
-+ gdImageDestroy(im);
-+ return NULL;
- }
- im->pixels[y][x] = ch;
- }
---
-2.10.2
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2016-10168.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2016-10168.patch
deleted file mode 100644
index aef1060c4..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2016-10168.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 2d37bdc03a6e2b820fe380016f22592a7733e0be Mon Sep 17 00:00:00 2001
-From: Catalin Enache <catalin.enache@windriver.com>
-Date: Fri, 7 Apr 2017 12:32:49 +0300
-Subject: [PATCH] Fix #354: Signed Integer Overflow gd_io.c
-
-GD2 stores the number of horizontal and vertical chunks as words (i.e. 2
-byte unsigned). These values are multiplied and assigned to an int when
-reading the image, what can cause integer overflows. We have to avoid
-that, and also make sure that either chunk count is actually greater
-than zero. If illegal chunk counts are detected, we bail out from
-reading the image.
-
-Upstream-Status: Backport
-CVE: CVE-2016-10168
-
-Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
----
- src/gd_gd2.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/gd_gd2.c b/src/gd_gd2.c
-index bae65ea..9006bd2 100644
---- a/src/gd_gd2.c
-+++ b/src/gd_gd2.c
-@@ -151,6 +151,10 @@ _gd2GetHeader (gdIOCtxPtr in, int *sx, int *sy,
- GD2_DBG (printf ("%d Chunks vertically\n", *ncy));
-
- if (gd2_compressed (*fmt)) {
-+ if (*ncx <= 0 || *ncy <= 0 || *ncx > INT_MAX / *ncy) {
-+ GD2_DBG(printf ("Illegal chunk counts: %d * %d\n", *ncx, *ncy));
-+ goto fail1;
-+ }
- nc = (*ncx) * (*ncy);
-
- GD2_DBG (printf ("Reading %d chunk index entries\n", nc));
---
-2.10.2
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2016-6906-1.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2016-6906-1.patch
deleted file mode 100644
index 97b7f7249..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2016-6906-1.patch
+++ /dev/null
@@ -1,167 +0,0 @@
-From fb0e0cce0b9f25389ab56604c3547351617e1415 Mon Sep 17 00:00:00 2001
-From: "Christoph M. Becker" <cmbecker69@gmx.de>
-Date: Tue, 16 Aug 2016 16:26:19 +0200
-Subject: [PATCH] Fix OOB reads of the TGA decompression buffer
-
-It is possible to craft TGA files which will overflow the decompression
-buffer, but not the image's bitmap. Therefore we augment the check for the
-bitmap's overflow with a check for the buffer's overflow.
-
-This issue had been reported by Ibrahim El-Sayed to security@libgd.org.
-
-CVE-2016-6906
-
-Upstream-Status: Backport
-CVE: CVE-2016-6906
-
-Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
----
- src/gd_tga.c | 6 ++++--
- tests/tga/.gitignore | 1 +
- tests/tga/CMakeLists.txt | 1 +
- tests/tga/Makemodule.am | 2 ++
- tests/tga/heap_overflow.c | 51 ++++++++++++++++++++++++++++++++++++++++++++
- tests/tga/heap_overflow.tga | Bin 0 -> 605 bytes
- 6 files changed, 59 insertions(+), 2 deletions(-)
- create mode 100644 tests/tga/heap_overflow.c
- create mode 100644 tests/tga/heap_overflow.tga
-
-diff --git a/src/gd_tga.c b/src/gd_tga.c
-index 8737b04..68e4b17 100644
---- a/src/gd_tga.c
-+++ b/src/gd_tga.c
-@@ -300,7 +300,8 @@ int read_image_tga( gdIOCtx *ctx, oTga *tga )
- encoded_pixels = ( ( decompression_buffer[ buffer_caret ] & ~TGA_RLE_FLAG ) + 1 );
- buffer_caret++;
-
-- if ((bitmap_caret + (encoded_pixels * pixel_block_size)) > image_block_size) {
-+ if ((bitmap_caret + (encoded_pixels * pixel_block_size)) > image_block_size
-+ || buffer_caret + pixel_block_size > rle_size) {
- gdFree( decompression_buffer );
- gdFree( conversion_buffer );
- return -1;
-@@ -316,7 +317,8 @@ int read_image_tga( gdIOCtx *ctx, oTga *tga )
- encoded_pixels = decompression_buffer[ buffer_caret ] + 1;
- buffer_caret++;
-
-- if ((bitmap_caret + (encoded_pixels * pixel_block_size)) > image_block_size) {
-+ if ((bitmap_caret + (encoded_pixels * pixel_block_size)) > image_block_size
-+ || buffer_caret + (encoded_pixels * pixel_block_size) > rle_size) {
- gdFree( decompression_buffer );
- gdFree( conversion_buffer );
- return -1;
-diff --git a/tests/tga/.gitignore b/tests/tga/.gitignore
-index 7a659b1..cf0556b 100644
---- a/tests/tga/.gitignore
-+++ b/tests/tga/.gitignore
-@@ -3,5 +3,6 @@
- /bug00247a
- /bug00248
- /bug00248a
-+/heap_overflow
- /tga_null
- /tga_read
-diff --git a/tests/tga/CMakeLists.txt b/tests/tga/CMakeLists.txt
-index 789fb14..11542a0 100644
---- a/tests/tga/CMakeLists.txt
-+++ b/tests/tga/CMakeLists.txt
-@@ -5,6 +5,7 @@ LIST(APPEND TESTS_FILES
- bug00247a
- bug00248
- bug00248a
-+ heap_overflow
- tga_read
- )
-
-diff --git a/tests/tga/Makemodule.am b/tests/tga/Makemodule.am
-index a1e6af6..916d707 100644
---- a/tests/tga/Makemodule.am
-+++ b/tests/tga/Makemodule.am
-@@ -4,6 +4,7 @@ libgd_test_programs += \
- tga/bug00247a \
- tga/bug00248 \
- tga/bug00248a \
-+ tga/heap_overflow \
- tga/tga_null \
- tga/tga_read
-
-@@ -14,6 +15,7 @@ EXTRA_DIST += \
- tga/bug00247a.tga \
- tga/bug00248.tga \
- tga/bug00248a.tga \
-+ tga/heap_overflow.tga \
- tga/tga_read_rgb.png \
- tga/tga_read_rgb.tga \
- tga/tga_read_rgb_rle.tga
-diff --git a/tests/tga/heap_overflow.c b/tests/tga/heap_overflow.c
-new file mode 100644
-index 0000000..0e9a2d0
---- /dev/null
-+++ b/tests/tga/heap_overflow.c
-@@ -0,0 +1,51 @@
-+/**
-+ * Test that the crafted TGA file doesn't trigger OOB reads.
-+ */
-+
-+
-+#include "gd.h"
-+#include "gdtest.h"
-+
-+
-+static size_t read_test_file(char **buffer, char *basename);
-+
-+
-+int main()
-+{
-+ gdImagePtr im;
-+ char *buffer;
-+ size_t size;
-+
-+ size = read_test_file(&buffer, "heap_overflow.tga");
-+ im = gdImageCreateFromTgaPtr(size, (void *) buffer);
-+ gdTestAssert(im == NULL);
-+ free(buffer);
-+
-+ return gdNumFailures();
-+}
-+
-+
-+static size_t read_test_file(char **buffer, char *basename)
-+{
-+ char *filename;
-+ FILE *fp;
-+ size_t exp_size, act_size;
-+
-+ filename = gdTestFilePath2("tga", basename);
-+ fp = fopen(filename, "rb");
-+ gdTestAssert(fp != NULL);
-+
-+ fseek(fp, 0, SEEK_END);
-+ exp_size = ftell(fp);
-+ fseek(fp, 0, SEEK_SET);
-+
-+ *buffer = malloc(exp_size);
-+ gdTestAssert(*buffer != NULL);
-+ act_size = fread(*buffer, sizeof(**buffer), exp_size, fp);
-+ gdTestAssert(act_size == exp_size);
-+
-+ fclose(fp);
-+ free(filename);
-+
-+ return act_size;
-+}
-diff --git a/tests/tga/heap_overflow.tga b/tests/tga/heap_overflow.tga
-new file mode 100644
-index 0000000000000000000000000000000000000000..e9bc0ecb2a847ac6edba92dd0ff61167b49002cd
-GIT binary patch
-literal 605
-zcmZQz;9`IQ9tIu;g&7<$F3o7Yg1qzyh6tefy9wZAs2d<Uh*yuz=?XwW4Qvuv#g2nS
-zp93+mT0rVR>T&8(2TGy=f_l)@gSap~$FayUFu(!|SyJIFga^{8fGj~vwq8kkVgvv>
-Cavop+
-
-literal 0
-HcmV?d00001
-
---
-2.10.2
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2016-6906-2.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2016-6906-2.patch
deleted file mode 100644
index 8b6de9711..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2016-6906-2.patch
+++ /dev/null
@@ -1,135 +0,0 @@
-From 58b6dde319c301b0eae27d12e2a659e067d80558 Mon Sep 17 00:00:00 2001
-From: "Christoph M. Becker" <cmbecker69@gmx.de>
-Date: Tue, 16 Aug 2016 16:26:19 +0200
-Subject: [PATCH] Fix OOB reads of the TGA decompression buffer
-
-It is possible to craft TGA files which will overflow the decompression
-buffer, but not the image's bitmap. Therefore we also have to check for
-potential decompression buffer overflows.
-
-This issue had been reported by Ibrahim El-Sayed to security@libgd.org;
-a modified case exposing an off-by-one error of the first patch had been
-provided by Konrad Beckmann.
-
-This commit is an amendment to commit fb0e0cce, so we use CVE-2016-6906
-as well.
-
-Upstream-Status: Backport
-CVE: CVE-2016-6906
-
-Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
----
- src/gd_tga.c | 8 +++++++-
- tests/tga/Makemodule.am | 3 ++-
- tests/tga/heap_overflow.c | 16 ++++++++++++----
- tests/tga/heap_overflow_1.tga | Bin 0 -> 605 bytes
- tests/tga/heap_overflow_2.tga | Bin 0 -> 8746 bytes
- 5 files changed, 21 insertions(+), 6 deletions(-)
- create mode 100644 tests/tga/heap_overflow_1.tga
- create mode 100644 tests/tga/heap_overflow_2.tga
-
-diff --git a/src/gd_tga.c b/src/gd_tga.c
-index 68e4b17..f80f0b1 100644
---- a/src/gd_tga.c
-+++ b/src/gd_tga.c
-@@ -295,7 +295,13 @@ int read_image_tga( gdIOCtx *ctx, oTga *tga )
- buffer_caret = 0;
-
- while( bitmap_caret < image_block_size ) {
--
-+
-+ if (buffer_caret + pixel_block_size > rle_size) {
-+ gdFree( decompression_buffer );
-+ gdFree( conversion_buffer );
-+ return -1;
-+ }
-+
- if ((decompression_buffer[buffer_caret] & TGA_RLE_FLAG) == TGA_RLE_FLAG) {
- encoded_pixels = ( ( decompression_buffer[ buffer_caret ] & ~TGA_RLE_FLAG ) + 1 );
- buffer_caret++;
-diff --git a/tests/tga/Makemodule.am b/tests/tga/Makemodule.am
-index 916d707..ab08dbf 100644
---- a/tests/tga/Makemodule.am
-+++ b/tests/tga/Makemodule.am
-@@ -15,7 +15,8 @@ EXTRA_DIST += \
- tga/bug00247a.tga \
- tga/bug00248.tga \
- tga/bug00248a.tga \
-- tga/heap_overflow.tga \
-+ tga/heap_overflow_1.tga \
-+ tga/heap_overflow_2.tga \
- tga/tga_read_rgb.png \
- tga/tga_read_rgb.tga \
- tga/tga_read_rgb_rle.tga
-diff --git a/tests/tga/heap_overflow.c b/tests/tga/heap_overflow.c
-index 0e9a2d0..ddd4b63 100644
---- a/tests/tga/heap_overflow.c
-+++ b/tests/tga/heap_overflow.c
-@@ -1,5 +1,5 @@
- /**
-- * Test that the crafted TGA file doesn't trigger OOB reads.
-+ * Test that crafted TGA files don't trigger OOB reads.
- */
-
-
-@@ -7,21 +7,29 @@
- #include "gdtest.h"
-
-
-+static void check_file(char *basename);
- static size_t read_test_file(char **buffer, char *basename);
-
-
- int main()
- {
-+ check_file("heap_overflow_1.tga");
-+ check_file("heap_overflow_2.tga");
-+
-+ return gdNumFailures();
-+}
-+
-+
-+static void check_file(char *basename)
-+{
- gdImagePtr im;
- char *buffer;
- size_t size;
-
-- size = read_test_file(&buffer, "heap_overflow.tga");
-+ size = read_test_file(&buffer, basename);
- im = gdImageCreateFromTgaPtr(size, (void *) buffer);
- gdTestAssert(im == NULL);
- free(buffer);
--
-- return gdNumFailures();
- }
-
-
-diff --git a/tests/tga/heap_overflow_1.tga b/tests/tga/heap_overflow_1.tga
-new file mode 100644
-index 0000000000000000000000000000000000000000..e9bc0ecb2a847ac6edba92dd0ff61167b49002cd
-GIT binary patch
-literal 605
-zcmZQz;9`IQ9tIu;g&7<$F3o7Yg1qzyh6tefy9wZAs2d<Uh*yuz=?XwW4Qvuv#g2nS
-zp93+mT0rVR>T&8(2TGy=f_l)@gSap~$FayUFu(!|SyJIFga^{8fGj~vwq8kkVgvv>
-Cavop+
-
-literal 0
-HcmV?d00001
-
-diff --git a/tests/tga/heap_overflow_2.tga b/tests/tga/heap_overflow_2.tga
-new file mode 100644
-index 0000000000000000000000000000000000000000..2b681f2df8941d6823aa761be0a7fa3c02c92cbf
-GIT binary patch
-literal 8746
-zcmeIxF$#b%6a>*<djij4?cuz+Vi5?!RIY)@*eDAQ@`zPSwQE1NTI<YQEqdQG#s5@h
-zwDFtAoIjm)CIQa|$z*q(vz}DbnPjrN&RI{Y=}a=&UFWPP)joCZ<31}ey8!(}FZZ71
-zWop>#e)AY=opmMw&j!h4cb&7IRMVMcvb)Y%PpaumGTB|{tS8lUCYkK6bJmk;IzMDC
-D4PYIN
-
-literal 0
-HcmV?d00001
-
---
-2.10.2
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/Fix-290-TGA-RLE-decoding-is-broken.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/Fix-290-TGA-RLE-decoding-is-broken.patch
deleted file mode 100644
index 64f5c6296..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/Fix-290-TGA-RLE-decoding-is-broken.patch
+++ /dev/null
@@ -1,359 +0,0 @@
-From 4f8e26f2a40ffaa3a5b77be6a49989a1a42e2b83 Mon Sep 17 00:00:00 2001
-From: "Christoph M. Becker" <cmbecker69@gmx.de>
-Date: Tue, 16 Aug 2016 14:27:23 +0200
-Subject: [PATCH] Fix #290: TGA RLE decoding is broken
-
-We make it work only, for now. Actually, it doesn't make sense that
-`oTga::bitmap` is an `int *` as we're storing only bytes there. If this
-will be changed, we can even get rid of the `conversion_buffer` in
-`read_image_tga` altogether, and read the image data into the
-`decompression_buffer` (if RLE'd) or the `tga->bitmap` (if uncompressed)
-directly.
-
-Upstream-Status: Backport
-
-Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
----
- src/gd_tga.c | 18 ++++++++++--------
- tests/tga/CMakeLists.txt | 1 +
- tests/tga/Makemodule.am | 8 ++++++--
- tests/tga/tga_read.c | 40 ++++++++++++++++++++++++++++++++++++++++
- tests/tga/tga_read_rgb.png | Bin 0 -> 2349 bytes
- tests/tga/tga_read_rgb.tga | Bin 0 -> 90444 bytes
- tests/tga/tga_read_rgb_rle.tga | Bin 0 -> 9987 bytes
- 7 files changed, 57 insertions(+), 10 deletions(-)
- create mode 100644 tests/tga/tga_read.c
- create mode 100644 tests/tga/tga_read_rgb.png
- create mode 100644 tests/tga/tga_read_rgb.tga
- create mode 100644 tests/tga/tga_read_rgb_rle.tga
-
-diff --git a/src/gd_tga.c b/src/gd_tga.c
-index ec6781f..8737b04 100644
---- a/src/gd_tga.c
-+++ b/src/gd_tga.c
-@@ -207,12 +207,13 @@ int read_image_tga( gdIOCtx *ctx, oTga *tga )
- {
- int pixel_block_size = (tga->bits / 8);
- int image_block_size = (tga->width * tga->height) * pixel_block_size;
-- uint8_t* decompression_buffer = NULL;
-+ int* decompression_buffer = NULL;
- unsigned char* conversion_buffer = NULL;
- int buffer_caret = 0;
- int bitmap_caret = 0;
- int i = 0;
- int encoded_pixels;
-+ int rle_size;
-
- if(overflow2(tga->width, tga->height)) {
- return -1;
-@@ -266,7 +267,7 @@ int read_image_tga( gdIOCtx *ctx, oTga *tga )
- /*! \brief Read in RLE compressed RGB TGA
- * Chunk load the pixel data from an RLE compressed RGB type TGA.
- */
-- decompression_buffer = (uint8_t*) gdMalloc(image_block_size * sizeof(uint8_t));
-+ decompression_buffer = (int*) gdMalloc(image_block_size * sizeof(int));
- if (decompression_buffer == NULL) {
- return -1;
- }
-@@ -277,7 +278,8 @@ int read_image_tga( gdIOCtx *ctx, oTga *tga )
- return -1;
- }
-
-- if (gdGetBuf(conversion_buffer, image_block_size, ctx) != image_block_size) {
-+ rle_size = gdGetBuf(conversion_buffer, image_block_size, ctx);
-+ if (rle_size <= 0) {
- gdFree(conversion_buffer);
- gdFree(decompression_buffer);
- return -1;
-@@ -285,7 +287,7 @@ int read_image_tga( gdIOCtx *ctx, oTga *tga )
-
- buffer_caret = 0;
-
-- while( buffer_caret < image_block_size) {
-+ while( buffer_caret < rle_size) {
- decompression_buffer[buffer_caret] = (int)conversion_buffer[buffer_caret];
- buffer_caret++;
- }
-@@ -298,14 +300,14 @@ int read_image_tga( gdIOCtx *ctx, oTga *tga )
- encoded_pixels = ( ( decompression_buffer[ buffer_caret ] & ~TGA_RLE_FLAG ) + 1 );
- buffer_caret++;
-
-- if ((bitmap_caret + (encoded_pixels * pixel_block_size)) >= image_block_size) {
-+ if ((bitmap_caret + (encoded_pixels * pixel_block_size)) > image_block_size) {
- gdFree( decompression_buffer );
- gdFree( conversion_buffer );
- return -1;
- }
-
- for (i = 0; i < encoded_pixels; i++) {
-- memcpy(tga->bitmap + bitmap_caret, decompression_buffer + buffer_caret, pixel_block_size);
-+ memcpy(tga->bitmap + bitmap_caret, decompression_buffer + buffer_caret, pixel_block_size * sizeof(int));
- bitmap_caret += pixel_block_size;
- }
- buffer_caret += pixel_block_size;
-@@ -314,13 +316,13 @@ int read_image_tga( gdIOCtx *ctx, oTga *tga )
- encoded_pixels = decompression_buffer[ buffer_caret ] + 1;
- buffer_caret++;
-
-- if ((bitmap_caret + (encoded_pixels * pixel_block_size)) >= image_block_size) {
-+ if ((bitmap_caret + (encoded_pixels * pixel_block_size)) > image_block_size) {
- gdFree( decompression_buffer );
- gdFree( conversion_buffer );
- return -1;
- }
-
-- memcpy(tga->bitmap + bitmap_caret, decompression_buffer + buffer_caret, encoded_pixels * pixel_block_size);
-+ memcpy(tga->bitmap + bitmap_caret, decompression_buffer + buffer_caret, encoded_pixels * pixel_block_size * sizeof(int));
- bitmap_caret += (encoded_pixels * pixel_block_size);
- buffer_caret += (encoded_pixels * pixel_block_size);
- }
-diff --git a/tests/tga/CMakeLists.txt b/tests/tga/CMakeLists.txt
-index c3a589c..789fb14 100644
---- a/tests/tga/CMakeLists.txt
-+++ b/tests/tga/CMakeLists.txt
-@@ -5,6 +5,7 @@ LIST(APPEND TESTS_FILES
- bug00247a
- bug00248
- bug00248a
-+ tga_read
- )
-
- ADD_GD_TESTS()
-diff --git a/tests/tga/Makemodule.am b/tests/tga/Makemodule.am
-index dff828f..a1e6af6 100644
---- a/tests/tga/Makemodule.am
-+++ b/tests/tga/Makemodule.am
-@@ -4,7 +4,8 @@ libgd_test_programs += \
- tga/bug00247a \
- tga/bug00248 \
- tga/bug00248a \
-- tga/tga_null
-+ tga/tga_null \
-+ tga/tga_read
-
- EXTRA_DIST += \
- tga/CMakeLists.txt \
-@@ -12,4 +13,7 @@ EXTRA_DIST += \
- tga/bug00247.tga \
- tga/bug00247a.tga \
- tga/bug00248.tga \
-- tga/bug00248a.tga
-+ tga/bug00248a.tga \
-+ tga/tga_read_rgb.png \
-+ tga/tga_read_rgb.tga \
-+ tga/tga_read_rgb_rle.tga
-diff --git a/tests/tga/tga_read.c b/tests/tga/tga_read.c
-new file mode 100644
-index 0000000..310b72f
---- /dev/null
-+++ b/tests/tga/tga_read.c
-@@ -0,0 +1,40 @@
-+/**
-+ * Basic test case for reading TGA files.
-+ */
-+
-+
-+#include "gd.h"
-+#include "gdtest.h"
-+
-+
-+static void assert_equals(char *exp, char *orig);
-+
-+
-+int main()
-+{
-+ assert_equals("tga_read_rgb.png", "tga_read_rgb.tga");
-+ assert_equals("tga_read_rgb.png", "tga_read_rgb_rle.tga");
-+
-+ return gdNumFailures();
-+}
-+
-+
-+static void assert_equals(char *exp, char *orig)
-+{
-+ gdImagePtr im;
-+ FILE *fp;
-+ char *filename;
-+
-+ fp = gdTestFileOpen2("tga", orig);
-+ gdTestAssertMsg(fp != NULL, "can't open %s", orig);
-+
-+ im = gdImageCreateFromTga(fp);
-+ gdTestAssertMsg(im != NULL, "can't read %s", orig);
-+ fclose(fp);
-+
-+ filename = gdTestFilePath2("tga", exp);
-+ gdAssertImageEqualsToFile(filename, im);
-+ gdFree(filename);
-+
-+ gdImageDestroy(im);
-+}
-diff --git a/tests/tga/tga_read_rgb.png b/tests/tga/tga_read_rgb.png
-new file mode 100644
-index 0000000000000000000000000000000000000000..bc468e3d927eaeb77d2f5c3bc35b970457f60f18
-GIT binary patch
-literal 2349
-zcmZ`*c{tSX7XOaO7-6K6b&RD_MnXy$nHe#bsVG~TvfZ*vO?Jle8%ar+AySDfStFGh
-zG#*)pL0RUPJ(FedBaE?x-*o@D_deZwpZ7WMdCuo~-t)faoX_)~lW+lNCI*p(001C{
-zHOJWSbt_+Pfp_!w<m@>WzS`|-X@&uIeytaE1*v>QB*5J9HUNl9{Spw6`Sc(k6uyJC
-zHWeNNLm|3~tCo{U002|57?VrEU+1$sy;a&|;-kbZl`6E_C%>gqbDtC=57F3fUD$)k
-zSG5DTL6#NnU=7wGcCw|<f|{rZi)5q<cVW*NQPQCY0xPU0_nGG#D?wR37BO^o^261%
-z+}quQI_1ZP=gTNp-n|;#)z~^;78o=e@tRYrS#8Jc>M{W*OdYEgjJp6u9Rb7l#X%t`
-zun;^h28uEP=P3Px?|rNGF#17D%A(CJ_ar|?n^0nq!~w+Wg23867ryn!Zlb|~&7A~z
-zqkP=IPyLrOM?58>2rEq=&{*9OMU!HNWJkg`(`y(=2{WLg392OTDyiM2$iCLcv5LCG
-zjWwRq46Da$pV|V^4Gvs36k1dWF^V4c8j%3~jN{*0*$phpF|-#zi@;k@t-s?cqW&sd
-zPh{x~@zm`!5V23*L&Qb=_elN~nEEqQhrhNZiRU#|qjK>6ptaYgj*sAcuS+t-7X5aB
-zUI5f*aL0Dut+y0vde?tg7QMa^0`(plvuD^Q>)J(abQY>@6P_*YY;XJ54VC^_f7F2x
-z21ee^35}!<L@bW?<-JgJ-%sahFv68xPXghCl|CsCc-P-A{`kl_3By}Mq}YnYYmSt4
-z8h8mx?<zBgq9CzV4*#zR8t}x5Or8!9Rn6LgajJ!B)ebxEtrwC@*p4M@D51#?OEY}<
-zqJHu+sCRU2YXNxiq(DP@*(Ui?Jz;IQ@O$Lbf}e8Nwij*L&iUd$N4-Ykfp$vDx#uv?
-z#_eULpAbPvN<tVA>Ek##rQDAOW+@)2?%}XiiSi^ted1PQu{v0&?bA^r%z?7*An3_H
-zvYFv8{p8fsCguNR$#3=6O{^H&8kT9N92CeaRAj3Y_cNl-znY8JZ{MpO#OK}A<_w9J
-zWMI2Kl?xv|S-FTV(aUG_`UWTZOFJGgv2)>JR#*H2Uad(wyqbIZt?w|Dw|k<eY&&9F
-zcr!zDg7=#H^=^MC+W02GN{78K=4Kuq90c@$7f$7+h)^YFm}-?3cEdU+Ivh5RC<+Yy
-zOz(7r<tT|Z34S@glz^9lpp@OstDBGA(iwk<LQ#r@i_)^MV*Re3^qB#j7N}4etZfK>
-zt6<wtj&M2(TLgTh3AH(}4;f4j=<Iu^axvT0!8B)K0O!7g?WnhIyGH5@EtT77&?E{6
-zB5<#{PWJOxQkF}LskzI@;(qVCjE%v-h|S8;`k#h^W5wR-cadW2H2Mk+7QZhqSRd!M
-zcQ8fpx~O^(^O#2gXiWDX&u@lZT#qjPG~Xh0UobVq#~Lumf!%S9`Jhf%MH?4Re5-17
-z7BP>D>=sy59jEGoeEx_W13BnmhAs?*j6#bG1a@#16O~1>q+P2@%QN~``Ws7=WX;F9
-z`=p5I$1ig*G|iW8vslr2^8hj+A0HWDoT-@fn5I53ZWWp!r8fMghmpjdqC%E#%2HFI
-zY&A(g!Li3+$<B^y8^Hw5!sXd&k%Ev!a;~aB#joj1?2ntu9|!GAFUwyc0oe_~y<}?E
-zUh@HUbCI(x2W1rmg7ckzRL2Ew#cdujut+*-t0g)81Tu+3ZH4uP`r1d1kSooU@5ybL
-zR5_J%A5sbak)KrSf>(r|V*&yCb;Ha(&ACi9w;?kQ7q1$hwjli^);+KIJAh|K&YL#E
-z+b(`PZN>V_5?v`hu-U429K9fO%8*k8pE=jDkn5ZJK|Vgl*@&QE^;mwlCxWbq4(hyi
-zUuz)bk@5^HOk@gB`SaWZfX07Eom07js%np8Xot&?YP8R+3|jrR4c#zO{LO<?^G84O
-zoP}G`MK)LZDo_$#nWR09X>NY_mL~1^BUG})*4b;Z_zq+`Q@kzUHC&`trCiQYum;1?
-zBic+0Bl>LLYU?>!B3k!Ils}uXR*`OEr3`f<P@HZFk`0fP5`^X=BOtC?@!vUq7B4OF
-zZEw6+3eoFRE@xEw(%DfIybhJuo03Du2ldm$20Sn3hj15Lu&gPQp=N%r%hME$*j{^@
-zRTffQhH7JLB-70qVkSm$9Zt`mahHLT7O^JnNqAAJs0C^n+1uj_E-}S^?&_U=H?;D_
-z1U9UJAz|+7z|Yq(6${A~5fhc}hH5twnKukf#Dn_JnQ$J4-Z$d}*Trq>?aKr2p19c6
-zYJ}r+^s>6aD~mrp;oIUhlig4sM)Jg3=J{K;dp#BCzRu1sU3D1wJl{jA^Y#ShVT+|^
-zUyjiM&wD~v3zy}K!zWm%3cpu#(*)cmxw1+n+C7V|hcZ6h8CZLubXt&J)h$6yflV6>
-zOVv_gDb*glO9FLL8x6bqM6(F#pGhGy+jjOyt9-daMWGrJKF{XvnT#^TeYaq2MG)qw
-zJ=RV;Mwg*goOa?(wM=EH<#AS$egRj*wnm+Bu4Pb{$-O}GZSiuT1UdBDwv2Rz)b3+L
-zRA=nkaWHB7I$T~B%;KynnS0b@3YpKqt$2;qzwLf>DZ4RFCQB!=QQ`Ft&y_PThuDsA
-zckawmbFnA9Tl7+Ez%a)>>T+Nh@8UxzrZP`<pHEXVd#|2v=f_b#A@|oAzbk6Q_>|O)
-zgw?Xli!)-)xrF2z=thH-TI;|>UVYK64@asT%484CF-pjk+~~wA+Z%fZYua+sDJ<Nf
-zfO`bfl}ig_0&C7BCuBa)xZ?-mQO=bQ2N5;>Sw}~|(tM}hK+z>+^8QQhOsTxl+2AJ+
-zX8WjlS|;0WRv7s_Bk=@u$v3GL@qC?&jcNEv<o68kaz!pHOs@;#CSh|{!j&zrsfn8j
-z6|o#^6C2NO9!G&u;Q0U5hkpCs|2Z3I$nNY~x}Tl<rOB|1KiB|RQyiuYbv@>9Cook&
-
-literal 0
-HcmV?d00001
-
-diff --git a/tests/tga/tga_read_rgb.tga b/tests/tga/tga_read_rgb.tga
-new file mode 100644
-index 0000000000000000000000000000000000000000..5f11f5a080f3424dff6ff368db6af140a5777e23
-GIT binary patch
-literal 90444
-zcmeI4Kab?b5yc6Af(;c(13`fU*%&xb;tQC_*aPhI`Y#kR+DO4FyO7x>23DD|fPu*!
-zc$3RVz$FeASlIpmlR7c>{0XS{cwI!Xhn!*0&G0z9w?L_y)m6=&?%yLhCt|YfC)vBd
-z@3Mbp-(`!RR#lbBv<6~842S_SAO^&M7!U(uKn#chF(3xSfEW-1Vn7Ut0Wly3#DEwO
-z17bi7hygJm2E>3E5CdYM&A?}$ex4m_TFdrYYCYz+9zh#Fz&|9|x2zKn^W#B#+TPQk
-zkGJqug1wSH+UqE;=D8ly$2|8{dOgm*N*~8rNAWn%b(B8lxv$dearRaEIL<nX$9b-!
-z^fAwUm0pjtuhPeH)=@mpa~-9RdG4$9dYpZgK8~}F;&GnqD1FRxU!~XM?5p%~oOKkB
-z^IXTEkMH5{66|-Z6BF}fVs88T*I)i3JJhoOSJ|O9w{_I#nWx?l)duSh)duUtlh$At
-z17Cjm-|T(t=^t5ksQGyXeY}RR66}rB$6N4TCD<$JL)!2RcC~{xmhcaW#u{p)fITEy
-zttmer=|ik~9;VU``gjIkB^qnU`Ab-pXwrv%OZ+UJZKV%gx2JNgp5i>D59woyTux<9
-z(uedh6&9yB59vetm?D=`nUnM(eN2VLDb7RskUpl!<y7V*eMlcuVR4G{kUpf3DRMcL
-zIY}SV$5dFH;yfm%k4wB~a-Co=-1}Dr-lw`wu&?y~m97o@G#T{q3H)`Uv4-!7EMeD)
-zw)K9=Z~mTThuUAV|7C~TzV%W6$E~45nY6k?xn!MZFO2s+{6m8MjdfuTKfpgE*thW<
-z{Cw2@xOHLsAGrJk{yNcELpGPN>qM)WwmHy;dAx?N66{Tw1IK#{s}k%La$6ep^HE#+
-za9lo1VAA+y4Y_=oz@+gjedzt&v$!^qahUWWUeAKpvG42Bhn^$GX6~HMCw)jC=fvyS
-zbCo`%kFl9Mr}If4(#JXRI`&+p59woU=FaJS(ueeMPP~piSLs9g7@N6sI-m3*eVh}o
-zW6yPB`q2AV`u~)Z`u~(cA78-VB^qn^p2#KaF44B$FA47vAM{(Ncz3vdANUYI_Vq~T
-zJFok7_+8Hr{@dw6AD4;m*uMzx*i#=x;yd<VQBUIaym%dZzk)u#fWJ#L*6_E}FJX6y
-zR{!R@|ExhDui;aE=k$%!$6N58@;j%mqz`GsGuYJ*`gjJP^1JEGWequh2}}9ibmmGQ
-z`krwX_ipJ!*U+x(reg27kUpdjX`!D1>7##b#EsTQ`Va%U4)il1ee|!5xY623A7Vh)
-zfqn+0kN&k0H(DF%Lk#FT(9eMM(Z4q0Mr$K|hyh&(`Wcv*KJ@;s-aDDpdnZ93Q+a<^
-z`j9>*rH}Wyw|@5N=h^$%`<z>~{m%qin`x{~&_)6OkZ858w2#x+NA1ID_95uwC47}=
-zz52*T_`_V+ZoXxF%76dsKew<oecZR}82QUk$J(XkqFq?rVsrM=+dI91F>*dfeUR^p
-zOs8;+{5;gLHn&=|ON(1<&R+VEKDzjZ2Kw$F(#J>m?+&_ubg5)Jru)Zfp6{oApOQYd
-zwa^ujKBNz5CFMK%pzr4xvxIHj*iUG$U^$H6v1y&(p%Guen9G_f*dx5vTC9wj2G56n
-z|5yYq@Of%s<Hq`6AI$y@fakh_U0A;Ni03elS1=yhthu+C<>UB*F_<5lxjeqIJnut3
-z$IoG`U%^;I&v~(rw(xbnjlQMNoBDNqtoebp40e+5=NOml8^f{p%x`^%M%@zTb9U92
-zey`caUXzcCKJMFfjC?Z2I$CbIXp=9ClcgtjY;nf67)H!$*JzV-%cp;I=eWXg*SM{G
-z<g|2%V~)!lp64;Nt>)excV35he&noN-o;q_P5nGz@Fe=cxFsxRdfmf(i(%wkbmVOi
-z<GmvulgFhoW*&QO%(TX~{yvYo+;Ngy9%9Bgxif~z9^;-Z_AjlDKIHhib%?RP2szXo
-zb1ZKaayY(coc$}-*dLD9FsrNkam>0$*aBw#8>@*ua-LwUy=ULlxgBeMVC(4mz?d=L
-z_l$AfL*EMCbKYVYeX+I**76U1IV`@fly#^3k7J@WwoB=3qAm}dkd@q$&?aw;nHAPY
-zkGSW%b<U`^)n{WM$234rTl(r4|H<k?-x@VGuhRF0{=)U=9sRs-S^X9J$Kr45=K*VE
-z?x@dK7_WdC|75w=hTj*&HZG^d4C4MiQTjTz(eKCSdA4$}-^NU9?0BsB7<EJRv5M<>
-zjM~z1wy>NiUh`*t=0grOa$~XBqwf(`bL{&Nv(L)Dt+i$hM%}T0Ywn2gyzFaqH+62u
-znjhFYg+6XEuIZ!mnU_qvoEF0_&M_9A1#2Vj?;)kd&10{Pnbz3W-{(;`L?3xqJ!<_u
-zq|pK5ox157qc4Ur$oM{eY<ASIP~Xx3bHlid(;DrJ#oyG=1J0<AOW0kav99wzjQAR6
-z`Y5~h4E?#wX&8>;RaY%z$lG}i?DabAc{6t3SU!%Lz54L^aXXxotd-Wsw#6;B%OjUM
-zD?;50zR?BR9J{qHINtkNk>fv?*DlXfkI5XH*VMTkYkuIY=KN6KHP49M!q(h-<VYWW
-zLC^-DH?WQ4)wtdAz7+ZEP_y$|;Kr`MgL4d5yYXXo?W<x{=lvjcT_Syye%-B&oGX~!
-zW14-9bW>S=?Dw6+?RztJJVw_s>il&!w;aSvSk0-$y1eBu-};Bt`kXMv2A<sC!l)bG
-zQ%nb~b#d{XpA~t{XF&S`wt&^23BL6loVw@AAFds+>%V`jj1%vpoYuag&vZk-^mW!o
-z{6l{K=$sQ6J4jooBdbp^vdU+vg?&!%Lto8v6gS<p*3sv%&2eF-hXQTt&W>B3NxTo|
-zJ$0?XuD>^IF^>ND-+x>CivCBKX=F=Z==0BJ%qu%s7{p9R-CoAQ)Ykbp4&p1v+l7tI
-ze2ZJmd-QdlGs;=m81zx!;LnQM`!EhYwMczD`tjIK-E-v+*Av$l%x)axyw+1Q)CIlg
-zpM1yqC=fG!(BE)O{-I56_<INY%evG32YWu48COQeJ6T1%gpnoM6RdT;#c>h(*uRR#
-zY-)Yn+8oQ(mKHZ3`i<p!4%SDH{&lEtt)tJeHuC&D>#-1P*4OgH`*7Y<*NSTlW~l?u
-z_^$TWzM?kP5H+#s8MCx~HSd@q%j9RD)x0AwhZ#4y8?Rv;{hN@pf@l0b9J7w+TUZ@E
-zj+<H^_ig0Zm>gprYP!Z|KdsSc$gk`Cn0;;JbB;C+{UXjy-E-v+*ORR^SdQ-lUL&6M
-zE`2O_=z-(-dq`>LH1C-49PDc6tVLb!*r{V7-Y|}SUhiYZIQE8p%=dqYHMKtO+pL3i
-zjmdEt=NMNo`wWHEBeo9lt#z~<?~%K5<8;=D_u;&!u9e>laJ+!s!q&m=;i;P(W_sz|
-zBlPomtc10+gk#qFF$;fAwz2;Oj7$x+MW|c2nmQKZxy4=HEn;Mob_2U$U;Kx7t2XYp
-zW90GN9LL7I568{8;kbmqa&-lc87nNd%d-|%1?#Ly-E-v+*Av(!|E7m#AN`)8pWK^1
-zntzY?IclF~1)z(S(?_E{e>U+xocGkVirDA1zqJQA=ChN3KDzOHqxR`m0J^w<*>l{g
-z?@XzCuKeM83jEu>fu366a~1CyYgpX3=-Vg7kFx^M1fQvL7@yhf*{XNl#rtsHQ`d?+
-z3Jt6x9e7RncENo8opuGF3A<;QHd_C`JU)Bso-2R2o@}k54}K5X^yq~5lcnX#pLPYH
-z5BttRos|2|Cf<khp1M}?+Cv8mSnjO#eI(A;@rPf5)IC@J>GY(v)!K>yF(3xSfEW-1
-zVn7Ut0Wly3#DEwO17bi7hygJm2E>3E5CdXB42S_SAO^&M7!U(uKn#chF(3xSfEW-1
-pVn7Ut0Wly3rpJK2`Txh?|LN;LKmWt?-@f?SH@|xR>#u*F{Rp+*(8>S+
-
-literal 0
-HcmV?d00001
-
-diff --git a/tests/tga/tga_read_rgb_rle.tga b/tests/tga/tga_read_rgb_rle.tga
-new file mode 100644
-index 0000000000000000000000000000000000000000..ce845ad0c3da65205af25854d64568b1cf0921e3
-GIT binary patch
-literal 9987
-zcmeI2J!~9R5Xbk<L5NgWrh*l6K@rf2A`LFK334O|$EPT_a+TuJx!kjzIGiJ2I<P>x
-ziiRRbk%9(oq!dtCIspYA&6UugGcC>X|IOQdZ+$+;#>5ek&eFVnJ3DVa{%>aX?a5Je
-zF>-%5qwk}eQT$4wzvw%Lr!o5$L%T1%_;U0&GrMhYD|*=1u+QBMI7bBz5GWAXUI?5o
-z4)=h152)YuP~W$``}B?1quuDQ!tKvI-d*GdmoNVj?N0AU(FV5-mWdwpH55x49>GD6
-z=%BBmXlU4mV>@qJ8fX!<cQoubnZc3TbVtK}?@1Y0!9an5mD0dE28xA&sM>=CL?@={
-z0-|RLqE&j)8olUxtrw;AqBVNamHEBs60Ks5R&l9p6>VC@T4)u!Z+{g<yLY2MYn^Q1
-zd9ELFE4tU$u)n0?3plJ1J?v}PZ)msyr`8V<5?$KSu-0S-M?&o#4QoBb4;grXfdT`M
-zN=c*-Fi>D%n-xb5tYDzPz)HDn9RtO}K-2&bfLTDa$ReF=%5-@43+;@(Xqh_Lqg5;e
-zg}THltzs{<ie37oodrXq8PIa=9O>E>BBIs4hP5RP*Wqxy6Qz9`Y(v8pI6+HwtX$ra
-zy1k}`<+7Ep?x=h3^=RRT3_QR<fq_Rg0|yu=Ft9z}zzPNm46Kv})-g~l4EUq{0-{A0
-z@uf#ui57)+Y^yj$Kb#Ty+&-!K64#`N?AC_rx07^75BGbIkyuBfFo`X6d}cobiI>AG
-z_yH!{gxCD>ho1(boNM2tG;8-@MK-H=sqwzy_Dk<p<<Y;ghphqw-d=+40((iXvX>d}
-zeC*AO?;PyiJI7egrh5aA*tASEv0P|sHWdv;37nkl7;GWQvslElsh1w>E)mVkrK5Wr
-zvyT~j8_(=*6BF=71Iw<4W?fOstUs?=BFaQ*Da#xiBX|}K8QkJdG}zFPqlKLAcr83*
-zWg<d$C_)R@Zt(9GMk4VnKb+4e=emmuJZ@>Q+HzQdV{TOj;%(7%jzp+KJSs$|sS9Fk
-zi>8|_;%+MHn6)L%h}LxJYN%Lsjm=l2JEG}rgt!}vT81WTD?iXN22oo(>Q%FW$7$$!
-zt&?$T0IopDHZ|A}nmLfzok8W3vju;nlA35T-r~-!Mh%-@xp^A6E=V4LfMg^hw4o2J
-zZI)js`N&kV*g%#wDTZ~m<nWLi1ePizuWxAjE=soYvC=mb&tTOxu05X^q<~*Zj<9wL
-zP=$-ZWz~5>cOy6~E}sky$N;c`=y|Ej2+1ZQ2f9i4w?h@e2{8NMT~!94nB@itGuLH}
-zXVpo_fLn+Ny=`_6ub%qVxz9IOHOQr&m-w|E<2CfOb2=CaIW-6=RoY?8DbvigNhHcJ
-zG#i_20Ls>TP|sG<1T!>Hm<6C_+a^z4YoiJ>5de05QI0M6IheVSK%5>}CEC#MwBHBI
-ziIa1Wpa&iZ_r@?tJkJ5<afw}YS{54Q*|ADIR<0rq7ju0Ezq{lB$w1gObbznQZdZVC
-zC{fEsk6_CHMd|PuWL7zD?Gbil$1PB(y&Zkn_I|ZCmODo!ml!;5_YN=f8&f%XLJ69i
-zw+YreoXy~Iho>|{-W{nZBP!8&Q$t}P*I~(hRwZ6%$Lp+>-V88<W1vX?KTsG@4Mp7*
-zP43JO--G~U!gJBc0<A+dG0?19zUEwf+}?LWRX6~j_TKxg%r*$-xiTt}Yajv!vcmP)
-zqnTh(gvtWBmMHdlF_;5HXb)v)Q_z7o(;nJBIi5s&D7DGOkh+Oa-OSuJgOmf2R1I-V
-zRL&L6j_DV<hr<B?9Mn_S!{H7Uhx4N2TcLZ}5FFv{ZJA>rG8_ARaUB|->lMt--ZnEI
-zTJ7{U4;S{j2Ay9PTlySLkZpPkSyjD9xB@11Gqz?H&}bm6INZyXa|<usjtD%sjy+Z`
-zO^{AKuWKHIUn2Ss=N8*9c5f<jyF%cp-^Zcb5%Fp{gGhMmxXnNb1>}y*$KYeSt=BT^
-z9)n8f69who6DC3I4i6#*smWsw#8aACPLFDXvaYploY`rTzv^v6%`=fZ=~tM<Gx7U2
-zGVu^u%W!94&zt&L+f3G5W^S(`9GhA$F^gxQaDFP%)PFP84q_$@7HzQb60>~+#d%*t
-zf%)V_G>Dlk3}01X6V9YA0}KH#x+MuyPXYm7$4BlC*YhI}#g|)Uh0-v*i7ggcv&@^C
-zjYO%ac80KpJfmhZkwXX$pH_*;t&cQIT_(xF6ht!Iic3UdT(%7ihfT|wtXWA&V1Sf;
-zU3WEU`G(*m{rfc5Lu-SUf;0gW_gTQ5!wKEEk(Qj)=S2;}8FVa^9uYEg=U`?TJS&;e
-zZ|IGrGhpnT4H$<N0L>R>%fn7eg+%K9in1ezX3K%Y`r6i<mRK!fyE0L3T&%#2e?}WI
-zcSMQE6&v2hGddfHYR&MD28%5H1s1ZQZU%;X@Wf!oTq<&1f;-%4`%tL#0yUz{`gTy@
-x8%~Vp2_Ce5$E=Cyg!2^tf$X%_aF4$a-uv+CN7vrJ_RjTJKYsJtTUTF;{sH~|7$pDz
-
-literal 0
-HcmV?d00001
-
---
-2.10.2
-
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
deleted file mode 100644
index 562170694..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd_2.2.3.bb
+++ /dev/null
@@ -1,67 +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 = "git://github.com/libgd/libgd.git;branch=GD-2.2 \
- file://fix-gcc-unused-functions.patch \
- file://CVE-2016-10166.patch \
- file://CVE-2016-10167.patch \
- file://CVE-2016-10168.patch \
- file://.gitignore-the-new-test-case.patch \
- file://Fix-290-TGA-RLE-decoding-is-broken.patch;apply=no \
- file://CVE-2016-6906-1.patch;apply=no \
- file://CVE-2016-6906-2.patch;apply=no"
-
-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_git_apply () {
- cd ${S}
- if [ ! -f tests/tga/tga_read_rgb.png ]; then
- git apply ${S}/../Fix-290-TGA-RLE-decoding-is-broken.patch
- git apply ${S}/../CVE-2016-6906-1.patch
- git apply ${S}/../CVE-2016-6906-2.patch
- fi
-}
-
-do_patch_append() {
- bb.build.exec_func('do_git_apply', d)
-}
-
-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.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd_2.2.4.bb
new file mode 100644
index 000000000..4932bb7b6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd_2.2.4.bb
@@ -0,0 +1,48 @@
+SUMMARY = "gd is a library used to create PNG, JPEG, or WBMP images"
+DESCRIPTION = "The gd graphics library allows your code to quickly draw images \
+complete with lines, arcs, text, multiple colors, cut and paste from other \
+images, and flood fills, and to write out the result as a PNG or JPEG file. \
+This is particularly useful in Web applications, where PNG and JPEG are two \
+of the formats accepted for inline images by most browsers. Note that gd is not \
+a paint program."
+HOMEPAGE = "http://libgd.bitbucket.org/"
+
+SECTION = "libs"
+LICENSE = "GD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=07384b3aa2e0d39afca0d6c40286f545"
+
+DEPENDS = "freetype libpng jpeg zlib tiff"
+
+SRC_URI = "git://github.com/libgd/libgd.git;branch=GD-2.2 \
+ "
+
+SRCREV = "de09874b15a4c88772db35ced842330f5de23e76"
+
+S = "${WORKDIR}/git"
+
+inherit autotools binconfig gettext pkgconfig
+
+EXTRA_OECONF += " --disable-rpath \
+ --with-jpeg=${STAGING_LIBDIR}/.. \
+ --with-freetype=yes \
+ --without-fontconfig \
+ --without-webp \
+ --without-xpm \
+ --without-x \
+ "
+
+EXTRA_OEMAKE = 'LDFLAGS="${LDFLAGS}"'
+
+do_install_append() {
+ # cleanup buildpaths from gdlib.pc
+ sed -i -e 's#${STAGING_DIR_HOST}##g' ${D}${libdir}/pkgconfig/gdlib.pc
+}
+
+PACKAGES += "${PN}-tools"
+
+FILES_${PN} = "${libdir}/lib*${SOLIBS}"
+FILES_${PN}-tools = "${bindir}/*"
+
+PROVIDES += "${PN}-tools"
+RPROVIDES_${PN}-tools = "${PN}-tools"
+RDEPENDS_${PN}-tools = "perl perl-module-strict"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_2017-08-20.18.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_2017-08-20.18.bb
new file mode 100644
index 000000000..b505ac18d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_2017-08-20.18.bb
@@ -0,0 +1,36 @@
+SUMMARY = "The GNU portability library"
+DESCRIPTION = "A collection of software subroutines which are designed to \
+be usable on many operating systems. The goal of the project \
+is to make it easy for free software authors to make their \
+software run on many operating systems. Since source is designed \
+to be copied from gnulib, it is not a library per-se, as much \
+as a collection of portable idioms to be used in other projects."
+
+HOMEPAGE = "http://www.gnu.org/software/gnulib/"
+SECTION = "devel"
+LICENSE = "LGPLv2+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=56a22a6e5bcce45e2c8ac184f81412b5"
+SRCREV = "b23000de1e47c7d580e0e220966dd1ee42a5e5bc"
+
+SRC_URI = "git://git.sv.gnu.org/gnulib;protocol=git \
+"
+
+S = "${WORKDIR}/git"
+
+do_install () {
+ cd ${S}
+ git checkout master
+ git clone ${S} ${D}/${datadir}/gnulib
+}
+
+do_patch[noexec] = "1"
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+do_package[noexec] = "1"
+do_packagedata[noexec] = "1"
+do_package_write_ipk[noexec] = "1"
+do_package_write_deb[noexec] = "1"
+do_package_write_rpm[noexec] = "1"
+
+BBCLASSEXTEND = "native"
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
deleted file mode 100644
index c7c7ae850..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_git.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "The GNU portability library"
-DESCRIPTION = "A collection of software subroutines which are designed to \
-be usable on many operating systems. The goal of the project \
-is to make it easy for free software authors to make their \
-software run on many operating systems. Since source is designed \
-to be copied from gnulib, it is not a library per-se, as much \
-as a collection of portable idioms to be used in other projects."
-
-HOMEPAGE = "http://www.gnu.org/software/gnulib/"
-SECTION = "devel"
-LICENSE = "LGPLv2+"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=e4cf3810f33a067ea7ccd2cd889fed21"
-SRCREV = "b6b3ed1fa4c6de12908a9f01d1689f156c3cd441"
-PV = "0.1.496+git${SRCPV}"
-
-SRC_URI = "git://git.sv.gnu.org/gnulib;protocol=git \
-"
-
-S = "${WORKDIR}/git"
-
-do_install () {
- cd ${S}
- git checkout master
- git clone ${S} ${D}/${datadir}/gnulib
-}
-
-do_patch[noexec] = "1"
-do_configure[noexec] = "1"
-do_compile[noexec] = "1"
-do_package[noexec] = "1"
-do_packagedata[noexec] = "1"
-do_package_write_ipk[noexec] = "1"
-do_package_write_deb[noexec] = "1"
-do_package_write_rpm[noexec] = "1"
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-Fix-build-failure-for-ppc.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-Fix-build-failure-for-ppc.patch
deleted file mode 100644
index 27f855d1e..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-Fix-build-failure-for-ppc.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Subject: Fix build failure for ppc
-
-Upstream-Status: Pending
-
-Fix the following build failure.
-
- error: 'siginfo_t' does not name a type
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/stacktrace_powerpc-linux-inl.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/stacktrace_powerpc-linux-inl.h b/src/stacktrace_powerpc-linux-inl.h
-index 5d16fa1..a9bf775 100644
---- a/src/stacktrace_powerpc-linux-inl.h
-+++ b/src/stacktrace_powerpc-linux-inl.h
-@@ -44,6 +44,7 @@
-
- #include <stdint.h> // for uintptr_t
- #include <stdlib.h> // for NULL
-+#include <signal.h> // for siginfo_t
- #include <gperftools/stacktrace.h>
- #include <base/vdso_support.h>
-
---
-2.8.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch
new file mode 100644
index 000000000..99127e11a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch
@@ -0,0 +1,25 @@
+From b5961f17e9d7f2bc44da611b3e4b27c8a641fc72 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 2 Sep 2017 08:07:17 -0700
+Subject: [PATCH] disbale heap checkers and debug allocator on musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ configure.ac | 2 ++
+ 1 file changed, 2 insertions(+)
+
+Index: git/configure.ac
+===================================================================
+--- git.orig/configure.ac
++++ git/configure.ac
+@@ -51,6 +51,8 @@ case "$host" in
+ *-cygwin*) default_enable_heap_checker=no; default_enable_cpu_profiler=no;;
+ *-freebsd*) default_enable_heap_checker=no;;
+ *-darwin*) default_enable_heap_checker=no;;
++ *-musl*) default_enable_heap_checker=no; default_enable_heap_profiler=no;
++ default_enable_debugalloc=no; default_enable_libunwind=no;
+ esac
+
+ # Currently only backtrace works on s390.
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch
new file mode 100644
index 000000000..78621c7fe
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch
@@ -0,0 +1,61 @@
+From 157914941bd38f1a38bb6bd7294ca6c2bc1b8dcb Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 16 Jul 2017 15:51:28 -0700
+Subject: [PATCH] fix build with musl libc
+
+Patch from https://github.com/gperftools/gperftools/pull/765/
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 1 +
+ src/malloc_hook_mmap_linux.h | 8 ++++++--
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index b42fea3..70b49a3 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -188,6 +188,7 @@ AC_HEADER_STDC
+ AC_CHECK_TYPES([__int64]) # defined in some windows platforms
+ AC_CHECK_TYPES([struct mallinfo],,, [#include <malloc.h>])
+ AC_CHECK_TYPES([Elf32_Versym],,, [#include <elf.h>]) # for vdso_support.h
++AC_CHECK_FUNCS(__sbrk) # for intercepting glibc memory allocator
+ AC_CHECK_FUNCS(sbrk) # for tcmalloc to get memory
+ AC_CHECK_FUNCS(geteuid) # for turning off services when run as root
+ AC_CHECK_FUNCS(fork) # for the pthread_atfork setup
+diff --git a/src/malloc_hook_mmap_linux.h b/src/malloc_hook_mmap_linux.h
+index 79ac4e3..d444635 100755
+--- a/src/malloc_hook_mmap_linux.h
++++ b/src/malloc_hook_mmap_linux.h
+@@ -46,6 +46,10 @@
+ #include <errno.h>
+ #include "base/linux_syscall_support.h"
+
++#ifndef __GLIBC__
++typedef off64_t __off64_t;
++#endif
++
+ // The x86-32 case and the x86-64 case differ:
+ // 32b has a mmap2() syscall, 64b does not.
+ // 64b and 32b have different calling conventions for mmap().
+@@ -168,7 +172,7 @@ extern "C" void* mmap64(void *start, size_t length, int prot, int flags,
+ return result;
+ }
+
+-# if !defined(__USE_FILE_OFFSET64) || !defined(__REDIRECT_NTH)
++# if defined(__GLIBC__) && (!defined(__USE_FILE_OFFSET64) || !defined(__REDIRECT_NTH))
+
+ extern "C" void* mmap(void *start, size_t length, int prot, int flags,
+ int fd, off_t offset) __THROW {
+@@ -206,7 +210,7 @@ extern "C" void* mremap(void* old_addr, size_t old_size, size_t new_size,
+ return result;
+ }
+
+-#ifndef __UCLIBC__
++#if HAVE___SBRK
+ // libc's version:
+ extern "C" void* __sbrk(ptrdiff_t increment);
+
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-include-fcntl.h-for-loff_t-definition.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-include-fcntl.h-for-loff_t-definition.patch
new file mode 100644
index 000000000..667008a5b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-include-fcntl.h-for-loff_t-definition.patch
@@ -0,0 +1,28 @@
+From 04ea8e001501931f4dbf20288aca78469617b08a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 16 Jul 2017 19:28:17 -0700
+Subject: [PATCH] include fcntl.h for loff_t definition
+
+Fixes
+linux_syscall_support.h:2641:26: error: 'loff_t' has not been declared
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/base/linux_syscall_support.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/base/linux_syscall_support.h b/src/base/linux_syscall_support.h
+index 85347a2..70431ca 100644
+--- a/src/base/linux_syscall_support.h
++++ b/src/base/linux_syscall_support.h
+@@ -162,6 +162,7 @@ extern "C" {
+ #include <unistd.h>
+ #include <linux/unistd.h>
+ #include <endian.h>
++#include <fcntl.h>
+
+ #ifdef __mips__
+ /* Include definitions of the ABI currently in use. */
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/disable_libunwind_aarch64.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/disable_libunwind_aarch64.patch
new file mode 100644
index 000000000..f2647404b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/disable_libunwind_aarch64.patch
@@ -0,0 +1,23 @@
+Disable libunwind on aarch64
+
+Fixes hangs when using libtcmalloc.so
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: git/configure.ac
+===================================================================
+--- git.orig/configure.ac
++++ git/configure.ac
+@@ -69,6 +69,11 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(, [re
+ [default_enable_libunwind=yes
+ default_tcmalloc_pagesize=8])
+
++# Disable libunwind linking on aarch64 by default.
++AC_COMPILE_IFELSE([AC_LANG_PROGRAM(, [return __aarch64__])],
++ [default_enable_libunwind=no],
++ [default_enable_libunwind=yes])
++
+ AC_ARG_ENABLE([cpu-profiler],
+ [AS_HELP_STRING([--disable-cpu-profiler],
+ [do not build the cpu profiler])],
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/sgidef.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/sgidef.patch
new file mode 100644
index 000000000..7e1a23bf6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/sgidef.patch
@@ -0,0 +1,17 @@
+sgidef.h does not exist on musl and its not needed to compile
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+Index: git/src/base/linux_syscall_support.h
+===================================================================
+--- git.orig/src/base/linux_syscall_support.h
++++ git/src/base/linux_syscall_support.h
+@@ -164,7 +164,7 @@ extern "C" {
+ #include <endian.h>
+ #include <fcntl.h>
+
+-#ifdef __mips__
++#if defined(__mips__) && defined(__glibc__)
+ /* Include definitions of the ABI currently in use. */
+ #include <sgidefs.h>
+ #endif
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
deleted file mode 100644
index 43780a5ee..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.5.bb
+++ /dev/null
@@ -1,23 +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.5.tar.gz/aa1eaf95dbe2c9828d0bd3a00f770f50/gperftools-2.5.tar.gz \
- file://0001-Support-Atomic-ops-on-clang.patch \
- file://0001-Fix-build-failure-for-ppc.patch \
- file://0001-Use-ucontext_t-instead-of-struct-ucontext.patch \
- "
-
-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/gperftools/gperftools_2.6.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.6.1.bb
new file mode 100644
index 000000000..ecac6c5cc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.6.1.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Fast, multi-threaded malloc() and nifty performance analysis tools"
+HOMEPAGE = "https://github.com/gperftools/gperftools"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=762732742c73dc6c7fbe8632f06c059a"
+DEPENDS += "libunwind"
+
+SRCREV = "bf840dec0495e17f5c8403e68e10b9d6bf05c559"
+SRC_URI = "git://github.com/gperftools/gperftools \
+ file://0001-Support-Atomic-ops-on-clang.patch \
+ file://0001-Use-ucontext_t-instead-of-struct-ucontext.patch \
+ file://0001-fix-build-with-musl-libc.patch \
+ file://0001-include-fcntl.h-for-loff_t-definition.patch \
+ file://0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch \
+ file://disable_libunwind_aarch64.patch \
+ file://sgidef.patch \
+ "
+
+inherit autotools
+
+S = "${WORKDIR}/git"
+
+# Disable thumb1
+# {standard input}: Assembler messages:
+# {standard input}:434: Error: lo register required -- `ldr pc,[sp]'
+# Makefile:4538: recipe for target 'src/base/libtcmalloc_la-linuxthreads.lo' failed
+ARM_INSTRUCTION_SET_armv5 = "arm"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm/0001-Use-sigemptyset-API-instead-of-__sigemptyset.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm/0001-Use-sigemptyset-API-instead-of-__sigemptyset.patch
new file mode 100644
index 000000000..a9198166a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm/0001-Use-sigemptyset-API-instead-of-__sigemptyset.patch
@@ -0,0 +1,34 @@
+From 52e6cf052b1f938fcca1bc24d578fe0bfd972988 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 25 Jun 2017 07:25:33 -0700
+Subject: [PATCH] Use sigemptyset API instead of __sigemptyset
+
+__sigemptyset has been removed from glibc public
+API headers in upcoming (2.26) release onwards
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted
+
+ src/prog/gpm-root.y | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/src/prog/gpm-root.y b/src/prog/gpm-root.y
+index 5126c65..76c896c 100644
+--- a/src/prog/gpm-root.y
++++ b/src/prog/gpm-root.y
+@@ -1196,11 +1196,7 @@ int main(int argc, char **argv)
+ LOG_DAEMON : LOG_USER);
+ /* reap your zombies */
+ childaction.sa_handler=reap_children;
+-#if defined(__GLIBC__)
+- __sigemptyset(&childaction.sa_mask);
+-#else /* __GLIBC__ */
+ sigemptyset(&childaction.sa_mask);
+-#endif /* __GLIBC__ */
+ childaction.sa_flags=0;
+ sigaction(SIGCHLD,&childaction,NULL);
+
+--
+2.13.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm_git.bb
index 69f12d9b8..51c4dd639 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm_git.bb
@@ -12,10 +12,12 @@ SRCREV = "1fd19417b8a4dd9945347e98dfa97e4cfd798d77"
DEPENDS = "ncurses"
SRC_URI = "git://github.com/telmich/gpm;protocol=git \
+ file://init \
file://no-docs.patch \
file://processcreds.patch \
file://gpm.service.in \
- file://init"
+ file://0001-Use-sigemptyset-API-instead-of-__sigemptyset.patch \
+ "
S = "${WORKDIR}/git"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap/0001-Fix-out-of-tree-builds.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap/0001-Fix-out-of-tree-builds.patch
new file mode 100644
index 000000000..5ceb4bf02
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap/0001-Fix-out-of-tree-builds.patch
@@ -0,0 +1,178 @@
+From 8a10b6bd556426616e93f15639f369defbeca33f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 14 Aug 2017 11:58:58 -0700
+Subject: [PATCH] Fix out of tree builds
+
+When build dir is not same as sourcedir then the build failed due
+to use of $(srcdir) variable which assumes source = build therefore
+replace that with top_srcdir
+
+Additionally move the conditional addition of sources to Makefile.am
+instead of adding it in configure.ac, since then we can use top_srcdir
+variable to access those sources too otherwise its not possible to
+specify the right dir for these sources
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted[https://sourceforge.net/p/gsoap2/patches/171/]
+
+ configure.ac | 5 +++--
+ gsoap/Makefile.am | 14 +++++++-------
+ gsoap/samples/autotest/Makefile.am | 8 ++++----
+ gsoap/samples/databinding/Makefile.am | 8 ++++----
+ gsoap/wsdl/Makefile.am | 15 +++++++++------
+ 5 files changed, 27 insertions(+), 23 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 0631c18..c36e696 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -265,7 +265,7 @@ if test "x$with_openssl" = "xyes"; then
+ WSDL2H_EXTRA_FLAGS="-DWITH_OPENSSL -DWITH_GZIP"
+ # an ugly hack to get httpda and smdevp plugins to conditionally
+ # compile with wsdl2h when OPENSSL is available
+- WSDL2H_EXTRA_LIBS="${WSDL2H_EXTRA_LIBS} ../plugin/httpda.c ../plugin/smdevp.c ../plugin/threads.c -lssl -lcrypto -lz"
++ WSDL2H_EXTRA_LIBS="${WSDL2H_EXTRA_LIBS} -lssl -lcrypto -lz"
+ SAMPLE_INCLUDES=
+ SAMPLE_SSL_LIBS="-lssl -lcrypto -lz"
+ WSDL2H_SOAP_CPP_LIB="libgsoapssl++.a"
+@@ -289,12 +289,13 @@ else
+ SAMPLE_INCLUDES=
+ WSDL2H_SOAP_CPP_LIB="libgsoap++.a"
+ fi
++AM_CONDITIONAL(WITH_OPENSSL, test "x$with_openssl" = "xyes" -a "x$with_gnutls" != "xyes")
++AC_SUBST(WITH_OPENSSL)
+ AC_SUBST(WSDL2H_EXTRA_FLAGS)
+ AC_SUBST(WSDL2H_EXTRA_LIBS)
+ AC_SUBST(SAMPLE_INCLUDES)
+ AC_SUBST(SAMPLE_SSL_LIBS)
+ AC_SUBST(WSDL2H_SOAP_CPP_LIB)
+-
+ # enable the compile of the samples
+ AC_ARG_ENABLE(samples,
+ [ --enable-samples enable compile for the gsoap samples],
+diff --git a/gsoap/Makefile.am b/gsoap/Makefile.am
+index 7273b82..9c0c89f 100644
+--- a/gsoap/Makefile.am
++++ b/gsoap/Makefile.am
+@@ -13,26 +13,26 @@ AM_CXXFLAGS = $(SOAPCPP2_DEBUG) -D$(platform)
+ AM_CFLAGS = $(SOAPCPP2_DEBUG) -D$(platform)
+
+ # Install all soapcpp2 and wsdl2h files into ${prefix}/share/gsoap
+-nobase_pkgdata_DATA = $(srcdir)/import/* $(srcdir)/plugin/* $(srcdir)/WS/* $(srcdir)/custom/* $(srcdir)/extras/*
++nobase_pkgdata_DATA = $(top_srcdir)/gsoap/import/* $(top_srcdir)/gsoap/plugin/* $(top_srcdir)/gsoap/WS/* $(top_srcdir)/gsoap/custom/* $(top_srcdir)/gsoap/extras/*
+
+ ## we cannot build stdsoap2.o from 2 different sources (stdsoap2.cpp and stdsoap2.c), so we need an intermediate target:
+ stdsoap2_ck.c: stdsoap2.cpp
+- $(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_ck.c
++ $(LN_S) -f $(top_srcdir)/gsoap/stdsoap2.cpp stdsoap2_ck.c
+
+ stdsoap2_cpp.cpp: stdsoap2.cpp
+- $(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_cpp.cpp
++ $(LN_S) -f $(top_srcdir)/gsoap/stdsoap2.cpp stdsoap2_cpp.cpp
+
+ stdsoap2_ck_cpp.cpp: stdsoap2.cpp
+- $(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_ck_cpp.cpp
++ $(LN_S) -f $(top_srcdir)/gsoap/stdsoap2.cpp stdsoap2_ck_cpp.cpp
+
+ stdsoap2_ssl.c: stdsoap2.cpp
+- $(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_ssl.c
++ $(LN_S) -f $(top_srcdir)/gsoap/stdsoap2.cpp stdsoap2_ssl.c
+
+ stdsoap2_ssl_cpp.cpp: stdsoap2.cpp
+- $(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_ssl_cpp.cpp
++ $(LN_S) -f $(top_srcdir)/gsoap/stdsoap2.cpp stdsoap2_ssl_cpp.cpp
+ ## do the same fo dom.cpp since we want to link it into the cpp libs and dom.c into the c libs
+ dom_cpp.cpp: dom.cpp
+- $(LN_S) -f $(srcdir)/dom.cpp dom_cpp.cpp
++ $(LN_S) -f $(top_srcdir)/gsoap/dom.cpp dom_cpp.cpp
+
+ lib_LIBRARIES = libgsoap.a libgsoap++.a libgsoapck.a libgsoapck++.a libgsoapssl.a libgsoapssl++.a
+
+diff --git a/gsoap/samples/autotest/Makefile.am b/gsoap/samples/autotest/Makefile.am
+index 36adf51..61e514c 100644
+--- a/gsoap/samples/autotest/Makefile.am
++++ b/gsoap/samples/autotest/Makefile.am
+@@ -6,13 +6,13 @@
+ AUTOMAKE_OPTIONS = subdir-objects foreign 1.4
+
+ CPPFLAGS=-I$(top_srcdir)/gsoap -I$(top_srcdir)/gsoap/plugin
+-AM_LDFLAGS=$(CPPFLAGS) -I$(srcdir) -L$(srcdir)
++AM_LDFLAGS=$(CPPFLAGS) -I$(top_srcdir)/gsoap/samples/autotest -L$(top_srcdir)/gsoap/samples/autotest
+ SOAP=$(top_srcdir)/gsoap/src/soapcpp2$(EXEEXT)
+ WSDL=$(top_srcdir)/gsoap/wsdl/wsdl2h$(EXEEXT)
+-WSDL_FLAGS=-d -P -t $(srcdir)/typemap.dat
++WSDL_FLAGS=-d -P -t $(top_srcdir)/gsoap/samples/autotest/typemap.dat
+ SOAP_FLAGS=-SL -T -I$(top_srcdir)/gsoap/import -I$(top_srcdir)/gsoap/custom
+-WSDLINPUT=$(srcdir)/examples.wsdl
+-SOAPHEADER=$(srcdir)/examples.h
++WSDLINPUT=$(top_srcdir)/gsoap/samples/autotest/examples.wsdl
++SOAPHEADER=$(top_srcdir)/gsoap/samples/autotest/examples.h
+ SOAP_CPP_SRC=soapC.cpp soapServer.cpp
+ SOAP_CPP_LIB=$(top_builddir)/gsoap/libgsoap++.a
+
+diff --git a/gsoap/samples/databinding/Makefile.am b/gsoap/samples/databinding/Makefile.am
+index 892d4fd..86ad482 100644
+--- a/gsoap/samples/databinding/Makefile.am
++++ b/gsoap/samples/databinding/Makefile.am
+@@ -6,13 +6,13 @@
+ AUTOMAKE_OPTIONS = subdir-objects foreign 1.4
+
+ CPPFLAGS=$(SAMPLE_INCLUDES) -I$(top_srcdir)/gsoap -I$(top_srcdir)/gsoap/plugin
+-AM_LDFLAGS=$(AM_CPPFLAGS) -I$(srcdir) -L$(srcdir)
++AM_LDFLAGS=$(AM_CPPFLAGS) -I$(top_srcdir)/gsoap/samples/databinding -L$(top_srcdir)/gsoap/samples/databinding
+ SOAP=$(top_srcdir)/gsoap/src/soapcpp2$(EXEEXT)
+ WSDL=$(top_srcdir)/gsoap/wsdl/wsdl2h$(EXEEXT)
+-WSDL_FLAGS=-g -t $(srcdir)/addresstypemap.dat
++WSDL_FLAGS=-g -t $(top_srcdir)/gsoap/samples/databinding/addresstypemap.dat
+ SOAP_FLAGS=-0 -CS -p address -I$(top_srcdir)/gsoap/import
+-WSDLINPUT=$(srcdir)/address.xsd
+-SOAPHEADER=$(srcdir)/address.h
++WSDLINPUT=$(top_srcdir)/gsoap/samples/databinding/address.xsd
++SOAPHEADER=$(top_srcdir)/gsoap/samples/databinding/address.h
+ SOAP_CPP_SRC=addressC.cpp
+ SOAP_CPP_LIB=$(top_builddir)/gsoap/libgsoap++.a
+
+diff --git a/gsoap/wsdl/Makefile.am b/gsoap/wsdl/Makefile.am
+index b8da5db..9f2aefa 100644
+--- a/gsoap/wsdl/Makefile.am
++++ b/gsoap/wsdl/Makefile.am
+@@ -6,14 +6,14 @@
+ AUTOMAKE_OPTIONS = foreign 1.4
+
+ # INCLUDES=-I$(top_srcdir)/gsoap
+-# AM_LDFLAGS=$(INCLUDES) -I$(srcdir) -L$(srcdir)
+-AM_LDFLAGS=-L$(srcdir) -I$(top_srcdir)/gsoap -I$(top_srcdir)/gsoap/plugin
++# AM_LDFLAGS=$(INCLUDES) -I$(top_srcdir)/gsoap/wsdl -L$(top_srcdir)/gsoap/wsdl
++AM_LDFLAGS=-L$(top_srcdir)/gsoap/wsdl -I$(top_srcdir)/gsoap -I$(top_srcdir)/gsoap/plugin
+ AM_CPPFLAGS=-I$(top_srcdir)/gsoap -I$(top_srcdir)/gsoap/plugin
+ SOAP=$(top_builddir)/gsoap/src/soapcpp2$(EXEEXT)
+ SOAP_CPP_LIB=$(top_builddir)/gsoap/$(WSDL2H_SOAP_CPP_LIB)
+ SOAP_CPP_SRC=wsdlC.cpp
+-SOAPHEADER=$(srcdir)/wsdl.h
+-SOAP_FLAGS=-SC -pwsdl -I$(srcdir) -I$(top_srcdir)/gsoap/import
++SOAPHEADER=$(top_srcdir)/gsoap/wsdl/wsdl.h
++SOAP_FLAGS=-SC -pwsdl -I$(top_srcdir)/gsoap/wsdl -I$(top_srcdir)/gsoap/import
+ BUILT_SOURCES=$(SOAP_CPP_SRC)
+ # WSDL2H_EXTRA_FLAGS=-DWITH_OPENSSL -DWITH_GZIP # defined in configure.in
+ # WSDL2H_EXTRA_LIBS=-lssl -lcrypto -lz # defined in configure.in
+@@ -24,11 +24,14 @@ $(SOAP_CPP_SRC) : $(SOAPHEADER)
+ #LIBS=
+
+ bin_PROGRAMS=wsdl2h
+-
++if WITH_OPENSSL
++wsdl2h_LDADD=$(SOAP_CPP_LIB) $(top_srcdir)/gsoap/plugin/httpda.c $(top_srcdir)/gsoap/plugin/smdevp.c $(top_srcdir)/gsoap/plugin/threads.c $(WSDL2H_EXTRA_LIBS)
++else
++wsdl2h_LDADD=$(SOAP_CPP_LIB) $(WSDL2H_EXTRA_LIBS)
++endif
+ wsdl2h_CFLAGS=$(C_DEBUG_FLAGS) $(SOAPCPP2_NO_C_LOCALE) $(WSDL2H_EXTRA_FLAGS)
+ wsdl2h_CXXFLAGS=$(C_DEBUG_FLAGS) $(SOAPCPP2_NO_C_LOCALE) $(WSDL2H_EXTRA_FLAGS) $(WSDL2H_IMPORTPATH)
+ wsdl2h_CPPFLAGS=$(AM_CPPFLAGS) $(SOAPCPP2_NONAMESPACES) -D$(platform)
+ wsdl2h_SOURCES=wsdl2h.cpp wsdl.cpp wadl.cpp schema.cpp types.cpp service.cpp soap.cpp mime.cpp wsp.cpp bpel.cpp $(SOAP_CPP_SRC)
+-wsdl2h_LDADD=$(SOAP_CPP_LIB) $(WSDL2H_EXTRA_LIBS)
+
+ CLEANFILES= *~ *C.cpp *H.h *Stub.h *.nsmap
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap/0001-stdgsoap2-Fix-build-with-musl.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap/0001-stdgsoap2-Fix-build-with-musl.patch
new file mode 100644
index 000000000..571cbe540
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap/0001-stdgsoap2-Fix-build-with-musl.patch
@@ -0,0 +1,63 @@
+From db260fbc7af4c73c997c485a0c69c61594a0e59c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 30 Aug 2017 19:48:50 -0700
+Subject: [PATCH] stdgsoap2: Fix build with musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gsoap/stdsoap2.c | 2 +-
+ gsoap/stdsoap2.cpp | 4 ++--
+ gsoap/stdsoap2.h | 2 +-
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/gsoap/stdsoap2.c b/gsoap/stdsoap2.c
+index 58e9df4..62389e1 100644
+--- a/gsoap/stdsoap2.c
++++ b/gsoap/stdsoap2.c
+@@ -4462,7 +4462,7 @@ tcp_gethost(struct soap *soap, const char *addr, struct in_addr *inaddr)
+ return soap->error = SOAP_EOM;
+ return SOAP_OK;
+ }
+-#if defined(__GLIBC__) || (defined(HAVE_GETHOSTBYNAME_R) && (defined(FREEBSD) || defined(__FreeBSD__))) || defined(__ANDROID__)
++#if defined(LINUX) || (defined(HAVE_GETHOSTBYNAME_R) && (defined(FREEBSD) || defined(__FreeBSD__))) || defined(__ANDROID__)
+ if (gethostbyname_r(addr, &hostent, soap->buf, sizeof(soap->buf), &host, &soap->errnum) < 0)
+ host = NULL;
+ #elif defined(_AIX43) || ((defined(TRU64) || defined(HP_UX)) && defined(HAVE_GETHOSTBYNAME_R))
+diff --git a/gsoap/stdsoap2.cpp b/gsoap/stdsoap2.cpp
+index 58e9df4..b637161 100644
+--- a/gsoap/stdsoap2.cpp
++++ b/gsoap/stdsoap2.cpp
+@@ -4462,7 +4462,7 @@ tcp_gethost(struct soap *soap, const char *addr, struct in_addr *inaddr)
+ return soap->error = SOAP_EOM;
+ return SOAP_OK;
+ }
+-#if defined(__GLIBC__) || (defined(HAVE_GETHOSTBYNAME_R) && (defined(FREEBSD) || defined(__FreeBSD__))) || defined(__ANDROID__)
++#if defined(LINUX) || (defined(HAVE_GETHOSTBYNAME_R) && (defined(FREEBSD) || defined(__FreeBSD__))) || defined(__ANDROID__)
+ if (gethostbyname_r(addr, &hostent, soap->buf, sizeof(soap->buf), &host, &soap->errnum) < 0)
+ host = NULL;
+ #elif defined(_AIX43) || ((defined(TRU64) || defined(HP_UX)) && defined(HAVE_GETHOSTBYNAME_R))
+@@ -19658,7 +19658,7 @@ soap_strerror(struct soap *soap)
+ {
+ #ifndef WIN32
+ # ifdef HAVE_STRERROR_R
+-# if defined(_GNU_SOURCE) && !defined(__ANDROID__)
++# if defined(_GNU_SOURCE) && !defined(__ANDROID__) && defined(__GLIBC__)
+ return strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* GNU-specific */
+ # else
+ strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* XSI-compliant */
+diff --git a/gsoap/stdsoap2.h b/gsoap/stdsoap2.h
+index 07a3952..c6ace4c 100644
+--- a/gsoap/stdsoap2.h
++++ b/gsoap/stdsoap2.h
+@@ -947,7 +947,7 @@ extern "C" {
+ # endif
+ #elif defined(SOCKLEN_T)
+ # define SOAP_SOCKLEN_T SOCKLEN_T
+-#elif defined(__socklen_t_defined) || defined(_SOCKLEN_T) || defined(CYGWIN) || defined(FREEBSD) || defined(__FreeBSD__) || defined(OPENBSD) || defined(__QNX__) || defined(QNX) || defined(OS390) || defined(__ANDROID__) || defined(_XOPEN_SOURCE)
++#elif defined(__socklen_t_defined) || defined(_SOCKLEN_T) || defined(CYGWIN) || defined(FREEBSD) || defined(__FreeBSD__) || defined(OPENBSD) || defined(__QNX__) || defined(QNX) || defined(OS390) || defined(__ANDROID__) || defined(_XOPEN_SOURCE) || defined (LINUX)
+ # define SOAP_SOCKLEN_T socklen_t
+ #elif defined(IRIX) || defined(WIN32) || defined(__APPLE__) || defined(SUN_OS) || defined(OPENSERVER) || defined(TRU64) || defined(VXWORKS)
+ # define SOAP_SOCKLEN_T int
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap_2.8.12.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap_2.8.12.bb
deleted file mode 100644
index 6da08ac84..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap_2.8.12.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-DESCRIPTION = "The gSOAP toolkit provides a unique SOAP-to-C/C++ language binding \
-for the development of SOAP Web Services and clients."
-SECTION = "devel"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b338b08b1b61e028e0f399a4de25e58f"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}2/${BPN}_${PV}.zip"
-SRC_URI[md5sum] = "5700d26fc6fe3073d038349e19c3640d"
-SRC_URI[sha256sum] = "51eef118544fa846f4d2dea2eedf91c84c46a1abeafc5eee3dcff783f4015a00"
-
-inherit autotools
-
-BBCLASSEXTEND = "native"
-
-PR = "r1"
-
-S = "${WORKDIR}/${BPN}-2.8"
-
-PARALLEL_MAKE = ""
-
-EXTRA_OEMAKE_class-target = "SOAP=${STAGING_BINDIR_NATIVE}/soapcpp2"
-
-DEPENDS = "openssl zlib flex bison"
-DEPENDS_append_class-target = " gsoap-native"
-
-do_install_append() {
- install -d ${D}${libdir}
- for lib in libgsoapssl libgsoapssl++ libgsoap libgsoapck++ libgsoap++ libgsoapck
- do
- oe_libinstall -C gsoap $lib ${D}${libdir}
- done
-}
-
-do_install_class-native() {
- oe_runmake DESTDIR=${D} BINDIR=${D}${bindir} install
-}
-
-FILES_${PN} = "${bindir}/wsdl2h ${bindir}/soapcpp2"
-FILES_${PN} += "${datadir}"
-FILES_${PN}-staticdev = "${libdir}"
-FILES_${PN}-dev = "${includedir}"
-RRECOMMENDS_${PN}-dev = "${PN}-staticdev"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap_2.8.51.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap_2.8.51.bb
new file mode 100644
index 000000000..887584461
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap_2.8.51.bb
@@ -0,0 +1,44 @@
+DESCRIPTION = "The gSOAP toolkit provides a unique SOAP-to-C/C++ language binding \
+for the development of SOAP Web Services and clients."
+SECTION = "devel"
+LICENSE = "GPL-2.0-with-OpenSSL-exception"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4f40a941379143186f9602242c3fb729 \
+ file://GPLv2_license.txt;md5=a33672dbe491b6517750a0389063508b"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}2/${BPN}_${PV}.zip \
+ file://0001-Fix-out-of-tree-builds.patch \
+ file://0001-stdgsoap2-Fix-build-with-musl.patch \
+ "
+SRC_URI[md5sum] = "212951d6e1435bb51fa4320f458809ea"
+SRC_URI[sha256sum] = "3e7bb24a9e492f5cb86daca34054c9787152f1d7b70add36b789d03816d5ffa1"
+
+inherit autotools
+
+BBCLASSEXTEND = "native"
+
+S = "${WORKDIR}/${BPN}-2.8"
+
+PARALLEL_MAKE = ""
+
+EXTRA_OEMAKE_class-target = "SOAP=${STAGING_BINDIR_NATIVE}/soapcpp2"
+
+DEPENDS = "openssl zlib flex bison"
+DEPENDS_append_class-target = " gsoap-native"
+
+do_install_append() {
+ install -d ${D}${libdir}
+ for lib in libgsoapssl libgsoapssl++ libgsoap libgsoapck++ libgsoap++ libgsoapck
+ do
+ oe_libinstall -C gsoap $lib ${D}${libdir}
+ done
+}
+
+do_install_class-native() {
+ oe_runmake DESTDIR=${D} BINDIR=${D}${bindir} install
+}
+
+FILES_${PN} = "${bindir}/wsdl2h ${bindir}/soapcpp2"
+FILES_${PN} += "${datadir}"
+FILES_${PN}-staticdev = "${libdir}"
+FILES_${PN}-dev = "${includedir}"
+RRECOMMENDS_${PN}-dev = "${PN}-staticdev"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp/0001-backtrace-Replace-struct-ucontext-with-ucontext_t.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp/0001-backtrace-Replace-struct-ucontext-with-ucontext_t.patch
new file mode 100644
index 000000000..cfffa2ed0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp/0001-backtrace-Replace-struct-ucontext-with-ucontext_t.patch
@@ -0,0 +1,37 @@
+From d195f8cfe41991573128ccdcd3a0ed0267aa5e33 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 28 Jun 2017 19:44:46 -0700
+Subject: [PATCH] backtrace: Replace struct ucontext with ucontext_t
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/backtrace.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/backtrace.c b/src/backtrace.c
+index 69bee99..dc35f8f 100644
+--- a/src/backtrace.c
++++ b/src/backtrace.c
+@@ -42,7 +42,7 @@
+ #define MAX_BTSIZE 64
+
+ void backtrace_handler(int n, siginfo_t *ist, void *extra) {
+- static struct ucontext *puc;
++ static ucontext_t *puc;
+ static void *btinfo[MAX_BTSIZE];
+ static char **messages = NULL;
+ static size_t btsize = 0;
+@@ -58,7 +58,7 @@ void backtrace_handler(int n, siginfo_t *ist, void *extra) {
+
+ #define SIC_CASE(c) case c: strerr = #c
+
+- puc = (struct ucontext *)extra;
++ puc = (ucontext_t *)extra;
+ switch(n) {
+ case SIGSEGV:
+ switch(ist->si_code) {
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp_0.3-beta15.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp_0.3-beta15.bb
index 601b7b115..4a871bf4f 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp_0.3-beta15.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp_0.3-beta15.bb
@@ -8,6 +8,7 @@ SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/hddtemp/hddtemp-0.3-beta15.tar.bz2 \
file://hddtemp-no-nls-support.patch \
file://hddtemp_0.3-beta15-52.diff \
file://hddtemp-0.3-beta15-autodetect-717479.patch \
+ file://0001-backtrace-Replace-struct-ucontext-with-ucontext_t.patch \
file://hddtemp.db \
file://init \
"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/iksemel/iksemel_1.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/iksemel/iksemel_1.4.bb
deleted file mode 100644
index 3dc22c590..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/iksemel/iksemel_1.4.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Fast and portable XML parser and Jabber protocol library"
-AUTHOR = "Gurer Ozen <meduketto at gmail.com>"
-HOMEPAGE = "http://iksemel.googlecode.com"
-SECTION = "libs"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
-DEPENDS = "gnutls"
-
-PR = "r1"
-
-# http://errors.yoctoproject.org/Errors/Details/25825/
-PNBLACKLIST[iksemel] ?= "Not compatible with gnutls version 3.4 currently in oe-core - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-SRC_URI = "http://iksemel.googlecode.com/files/${BP}.tar.gz;name=archive \
- file://r25.diff"
-SRC_URI[archive.md5sum] = "532e77181694f87ad5eb59435d11c1ca"
-SRC_URI[archive.sha256sum] = "458c1b8fb3349076a6cecf26c29db1d561315d84e16bfcfba419f327f502e244"
-
-inherit autotools pkgconfig
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
deleted file mode 100644
index 960cb00ef..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.2.bb
+++ /dev/null
@@ -1,90 +0,0 @@
-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=.im7 --without-perl --disable-openmp --without-xml --disable-opencl"
-
-CACHED_CONFIGUREVARS = "ac_cv_sys_file_offset_bits=yes"
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', '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.im7"
-ALTERNATIVE_TARGET[compare] = "${bindir}/compare.im7"
-ALTERNATIVE_TARGET[composite] = "${bindir}/composite.im7"
-ALTERNATIVE_TARGET[conjure] = "${bindir}/conjure.im7"
-ALTERNATIVE_TARGET[convert] = "${bindir}/convert.im7"
-ALTERNATIVE_TARGET[display] = "${bindir}/display.im7"
-ALTERNATIVE_TARGET[identify] = "${bindir}/identify.im7"
-ALTERNATIVE_TARGET[import] = "${bindir}/import.im7"
-ALTERNATIVE_TARGET[mogrify] = "${bindir}/mogrify.im7"
-ALTERNATIVE_TARGET[montage] = "${bindir}/montage.im7"
-ALTERNATIVE_TARGET[stream] = "${bindir}/stream.im7"
-
-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.im7.1"
-ALTERNATIVE_LINK_NAME[compare.1] = "${mandir}/man1/compare.1"
-ALTERNATIVE_TARGET[compare.1] = "${mandir}/man1/compare.im7.1"
-ALTERNATIVE_LINK_NAME[composite.1] = "${mandir}/man1/composite.1"
-ALTERNATIVE_TARGET[composite.1] = "${mandir}/man1/composite.im7.1"
-ALTERNATIVE_LINK_NAME[conjure.1] = "${mandir}/man1/conjure.1"
-ALTERNATIVE_TARGET[conjure.1] = "${mandir}/man1/conjure.im7.1"
-ALTERNATIVE_LINK_NAME[convert.1] = "${mandir}/man1/convert.1"
-ALTERNATIVE_TARGET[convert.1] = "${mandir}/man1/convert.im7.1"
-ALTERNATIVE_LINK_NAME[display.1] = "${mandir}/man1/display.1"
-ALTERNATIVE_TARGET[display.1] = "${mandir}/man1/display.im7.1"
-ALTERNATIVE_LINK_NAME[identify.1] = "${mandir}/man1/identify.1"
-ALTERNATIVE_TARGET[identify.1] = "${mandir}/man1/identify.im7.1"
-ALTERNATIVE_LINK_NAME[import.1] = "${mandir}/man1/import.1"
-ALTERNATIVE_TARGET[import.1] = "${mandir}/man1/import.im7.1"
-ALTERNATIVE_LINK_NAME[mogrify.1] = "${mandir}/man1/mogrify.1"
-ALTERNATIVE_TARGET[mogrify.1] = "${mandir}/man1/mogrify.im7.1"
-ALTERNATIVE_LINK_NAME[montage.1] = "${mandir}/man1/montage.1"
-ALTERNATIVE_TARGET[montage.1] = "${mandir}/man1/montage.im7.1"
-ALTERNATIVE_LINK_NAME[stream.1] = "${mandir}/man1/stream.1"
-ALTERNATIVE_TARGET[stream.1] = "${mandir}/man1/stream.im7.1"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.7.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.7.bb
new file mode 100644
index 000000000..669534eaa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.7.bb
@@ -0,0 +1,82 @@
+SUMMARY = "ImageMagick is an image convertion tools"
+SECTION = "console/utils"
+LICENSE = "ImageMagick"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=dad5a98f173fd3fa6958a1a58c6131c1"
+# 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"
+
+BASE_PV := "${PV}"
+PV .= "_7"
+SRC_URI = "git://github.com/ImageMagick/ImageMagick.git "
+SRCREV = "e12602b39b5e778240d286b6f9bbbc0fe3fb26c5"
+
+S = "${WORKDIR}/git"
+
+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=.im7 --without-perl --disable-openmp --without-xml --disable-opencl"
+
+CACHED_CONFIGUREVARS = "ac_cv_sys_file_offset_bits=yes"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', '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-${BASE_PV}/config-Q16* \
+ ${datadir}/ImageMagick-7"
+
+FILES_${PN}-dev += "${libdir}/ImageMagick-${BASE_PV}/modules-Q16/*/*.a"
+
+FILES_${PN}-dbg += "${libdir}/ImageMagick-${BASE_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.im7"
+ALTERNATIVE_TARGET[compare] = "${bindir}/compare.im7"
+ALTERNATIVE_TARGET[composite] = "${bindir}/composite.im7"
+ALTERNATIVE_TARGET[conjure] = "${bindir}/conjure.im7"
+ALTERNATIVE_TARGET[convert] = "${bindir}/convert.im7"
+ALTERNATIVE_TARGET[display] = "${bindir}/display.im7"
+ALTERNATIVE_TARGET[identify] = "${bindir}/identify.im7"
+ALTERNATIVE_TARGET[import] = "${bindir}/import.im7"
+ALTERNATIVE_TARGET[mogrify] = "${bindir}/mogrify.im7"
+ALTERNATIVE_TARGET[montage] = "${bindir}/montage.im7"
+ALTERNATIVE_TARGET[stream] = "${bindir}/stream.im7"
+
+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.im7.1"
+ALTERNATIVE_LINK_NAME[compare.1] = "${mandir}/man1/compare.1"
+ALTERNATIVE_TARGET[compare.1] = "${mandir}/man1/compare.im7.1"
+ALTERNATIVE_LINK_NAME[composite.1] = "${mandir}/man1/composite.1"
+ALTERNATIVE_TARGET[composite.1] = "${mandir}/man1/composite.im7.1"
+ALTERNATIVE_LINK_NAME[conjure.1] = "${mandir}/man1/conjure.1"
+ALTERNATIVE_TARGET[conjure.1] = "${mandir}/man1/conjure.im7.1"
+ALTERNATIVE_LINK_NAME[convert.1] = "${mandir}/man1/convert.1"
+ALTERNATIVE_TARGET[convert.1] = "${mandir}/man1/convert.im7.1"
+ALTERNATIVE_LINK_NAME[display.1] = "${mandir}/man1/display.1"
+ALTERNATIVE_TARGET[display.1] = "${mandir}/man1/display.im7.1"
+ALTERNATIVE_LINK_NAME[identify.1] = "${mandir}/man1/identify.1"
+ALTERNATIVE_TARGET[identify.1] = "${mandir}/man1/identify.im7.1"
+ALTERNATIVE_LINK_NAME[import.1] = "${mandir}/man1/import.1"
+ALTERNATIVE_TARGET[import.1] = "${mandir}/man1/import.im7.1"
+ALTERNATIVE_LINK_NAME[mogrify.1] = "${mandir}/man1/mogrify.1"
+ALTERNATIVE_TARGET[mogrify.1] = "${mandir}/man1/mogrify.im7.1"
+ALTERNATIVE_LINK_NAME[montage.1] = "${mandir}/man1/montage.1"
+ALTERNATIVE_TARGET[montage.1] = "${mandir}/man1/montage.im7.1"
+ALTERNATIVE_LINK_NAME[stream.1] = "${mandir}/man1/stream.1"
+ALTERNATIVE_TARGET[stream.1] = "${mandir}/man1/stream.im7.1"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools/inotify-nosys-fix-system-call-number.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools/inotify-nosys-fix-system-call-number.patch
new file mode 100644
index 000000000..89b890dda
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools/inotify-nosys-fix-system-call-number.patch
@@ -0,0 +1,31 @@
+inotify-tools: fix __NR_inotify_add_watch system call number on _MIPS_SIM_ABI64
+
+The correct value should be the same as defined in
+linux/arch/mips/include/uapi/asm/unistd.h
+
+Upstream-Status: Summitted [https://github.com/rvoicilas/inotify-tools/pull/71]
+
+Signed-off-by: Roy Li <rongqing.li@windriver.com>
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ libinotifytools/src/inotifytools/inotify-nosys.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libinotifytools/src/inotifytools/inotify-nosys.h b/libinotifytools/src/inotifytools/inotify-nosys.h
+index db76b2c..5f7b11b 100644
+--- a/libinotifytools/src/inotifytools/inotify-nosys.h
++++ b/libinotifytools/src/inotifytools/inotify-nosys.h
+@@ -100,8 +100,8 @@ struct inotify_event {
+ # endif
+ # if _MIPS_SIM == _MIPS_SIM_ABI64
+ # define __NR_inotify_init (__NR_Linux + 243)
+-# define __NR_inotify_add_watch (__NR_Linux + 243)
+-# define __NR_inotify_rm_watch (__NR_Linux + 243)
++# define __NR_inotify_add_watch (__NR_Linux + 244)
++# define __NR_inotify_rm_watch (__NR_Linux + 245)
+ # endif
+ # if _MIPS_SIM == _MIPS_SIM_NABI32
+ # define __NR_inotify_init (__NR_Linux + 247)
+--
+1.7.10.4
+
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
index a8ef55764..efc753d5b 100644
--- 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
@@ -10,6 +10,7 @@ PV = "3.14+git${SRCPV}"
SRC_URI = "git://github.com/rvoicilas/${BPN} \
file://inotifywait-fix-compile-error-with-GCC-6.patch \
+ file://inotify-nosys-fix-system-call-number.patch \
"
S = "${WORKDIR}/git"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/ipmiutil/ipmiutil/fix_systemd_path.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/ipmiutil/ipmiutil/fix_systemd_path.patch
index 2fa7c6883..33116b3c0 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/ipmiutil/ipmiutil/fix_systemd_path.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/ipmiutil/ipmiutil/fix_systemd_path.patch
@@ -6,115 +6,11 @@ Upstream Status: Inappropriate [Embedded]
Signed-off-By: Armin Kuster <akuster@mvista.com>
-Index: ipmiutil-2.9.6/configure
+Index: ipmiutil-3.0.5/configure.ac
===================================================================
---- ipmiutil-2.9.6.orig/configure
-+++ ipmiutil-2.9.6/configure
-@@ -792,7 +792,6 @@ LTLIBOBJS
- LIBOBJS
- pkgconfigdir
- SHR_LINK
--SYSTEMD_DIR
- CROSS_LFLAGS
- CROSS_CFLAGS
- SUBDIR_S
-@@ -999,7 +998,7 @@ psdir='${docdir}'
- libdir='${exec_prefix}/lib'
- localedir='${datarootdir}/locale'
- mandir='${datarootdir}/man'
--
-+systemddir='${datarootdir}/ipmiutil'
- ac_prev=
- ac_dashdash=
- for ac_option
-@@ -1594,7 +1593,10 @@ Optional Features:
- --enable-standalone build standalone, with no GPL or LanPlus libs.
- --enable-libsensors build libipmiutil with sensor modules [default=no]
- --enable-gpl build with some GPL code [default=no]
-- --enable-systemd enable systemd service type=notify support and %_unitdir [default=disabled]
-+ --enable-systemd[=systemddir] install systemd unit file. If 'yes'
-+ probe the system for unit directory.
-+ If a path is specified, assume that
-+ is a valid install path. [default=disabled]
-
- Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
-@@ -12980,7 +12982,6 @@ CROSS_LFLAGS=""
- CROSS_CFLAGS=""
- LIBSENSORS=""
- SAM2OBJ="isensor2.o ievents2.o"
--SYSTEMD_DIR=/usr/share/ipmiutil
-
- # Check whether --enable-useflags was given.
- if test "${enable_useflags+set}" = set; then
-@@ -13032,31 +13033,43 @@ if test "${enable_gpl+set}" = set; then
- fi
-
- fi
--
-+#
-+# Check for systemd unit files direectory exists if unit file installation
-+# is requested
-+#
-
- # Check whether --enable-systemd was given.
--if test "${enable_systemd+set}" = set; then
-- enableval=$enable_systemd;
--fi
--
--if test "x$enable_systemd" = "xyes"; then
-- GPL_CFLAGS="$GPL_CFLAGS -DENABLE_SYSTEMD"
-- # if systemd enabled, install service scripts in unitdir
-- SYSTEMD_DIR=`rpm --eval "%{_unitdir}"`
--else
-- # otherwise install the systemd service scripts in the data dir
-- if test "x$sysname" = "xDarwin" ; then
-- # MacOS 'which' command returns 0 always
-- SYSTEMD_DIR=/usr/share/ipmiutil
-- else
-+if test "${enable_systemd+set}" = set; then :
-+ withval=$enable_systemd; if test "$withval" = yes; then
-+ GPL_CFLAGS="$GPL_CFLAGS -DENABLE_SYSTEMD"
-+ if test -z "$systemddir"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking location of the systemd unit files directory" >&5
-+$as_echo_n "checking location of the systemd unit files directory... " >&6; }
-+ _rpmdir = ""
- which rpm >/dev/null 2>&1
- if test $? -eq 0 ; then
-- datad=`rpm --eval "%{_datadir}"`
-- SYSTEMD_DIR=${datad}/ipmiutil
-- else
-- SYSTEMD_DIR=/usr/share/ipmiutil
-+ _rpmdir = `rpm --eval "%{_unitdir}"`
- fi
-+ for systemd_d in ${datadir}/usr/share/ipmiutil ${_rpmdir} /usr/share/ipmiutil; do
-+ if test -z "$systemddir"; then
-+ if test -d "$systemd_d"; then
-+ systemddir="$systemd_d"
-+ fi
-+ fi
-+ done
- fi
-+ if test -n "$systemddir"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $systemddir" >&5
-+$as_echo "$systemddir" >&6; }
-+ else
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
-+$as_echo "not found" >&6; }
-+ fi
-+else
-+ if test "$withval" != no; then
-+ systemddir=$withval
-+ fi
-+fi
- fi
-
- case "$archm" in
-Index: ipmiutil-2.9.6/configure.ac
-===================================================================
---- ipmiutil-2.9.6.orig/configure.ac
-+++ ipmiutil-2.9.6/configure.ac
-@@ -140,7 +140,6 @@ CROSS_LFLAGS=""
+--- ipmiutil-3.0.5.orig/configure.ac
++++ ipmiutil-3.0.5/configure.ac
+@@ -149,7 +149,6 @@ CROSS_LFLAGS=""
CROSS_CFLAGS=""
LIBSENSORS=""
SAM2OBJ="isensor2.o ievents2.o"
@@ -122,7 +18,7 @@ Index: ipmiutil-2.9.6/configure.ac
AC_ARG_ENABLE([useflags],
[ --enable-useflags include environment CFLAGS and LDFLAGS.],
-@@ -191,25 +190,42 @@ AC_ARG_ENABLE([gpl],
+@@ -200,29 +199,42 @@ AC_ARG_ENABLE([gpl],
dnl Does this Linux have systemd enabled? Otherwise use sysv init.
AC_ARG_ENABLE([systemd],
@@ -130,7 +26,12 @@ Index: ipmiutil-2.9.6/configure.ac
-if test "x$enable_systemd" = "xyes"; then
- GPL_CFLAGS="$GPL_CFLAGS -DENABLE_SYSTEMD"
- # if systemd enabled, install service scripts in unitdir
-- SYSTEMD_DIR=`rpm --eval "%{_unitdir}"`
+- which rpm >/dev/null 2>&1
+- if test $? -eq 0 ; then
+- SYSTEMD_DIR=`rpm --eval "%{_unitdir}"`
+- else
+- SYSTEMD_DIR=/usr/share/ipmiutil
+- fi
+ [ --enable-systemd[=systemddir] install systemd unit file. If 'yes'
+ probe the system for unit directory.
+ If a path is specified, assume that
@@ -164,16 +65,15 @@ Index: ipmiutil-2.9.6/configure.ac
+ fi
else
- # otherwise install the systemd service scripts in the data dir
-- if test "x$sysname" = "xDarwin" ; then
-- # MacOS 'which' command returns 0 always
-- SYSTEMD_DIR=/usr/share/ipmiutil
-- else
-- which rpm >/dev/null 2>&1
-- if test $? -eq 0 ; then
-- datad=`rpm --eval "%{_datadir}"`
-- SYSTEMD_DIR=${datad}/ipmiutil
-- else
-- SYSTEMD_DIR=/usr/share/ipmiutil
+- SYSTEMD_DIR=/usr/share/ipmiutil
+- if test "x$sysname" != "xDarwin" ; then
+- if test "x$os" != "xhpux" ; then
+- # MacOS and HP-UX: 'which' command returns 0 always
+- which rpm >/dev/null 2>&1
+- if test $? -eq 0 ; then
+- datad=`rpm --eval "%{_datadir}"`
+- SYSTEMD_DIR=${datad}/ipmiutil
+- fi
- fi
- fi
+ if test "$withval" != no; then
@@ -183,7 +83,7 @@ Index: ipmiutil-2.9.6/configure.ac
fi
dnl start main logic
-@@ -481,7 +497,7 @@ AC_SUBST(INS_LIB)
+@@ -528,7 +540,7 @@ AC_SUBST(INS_LIB)
AC_SUBST(SUBDIR_S)
AC_SUBST(CROSS_CFLAGS)
AC_SUBST(CROSS_LFLAGS)
@@ -192,74 +92,10 @@ Index: ipmiutil-2.9.6/configure.ac
AC_SUBST(SHR_LINK)
AC_SUBST(pkgconfigdir)
-Index: ipmiutil-2.9.6/Makefile.in
-===================================================================
---- ipmiutil-2.9.6.orig/Makefile.in
-+++ ipmiutil-2.9.6/Makefile.in
-@@ -182,7 +182,7 @@ SHELL = @SHELL@
- SHR_LINK = @SHR_LINK@
- STRIP = @STRIP@
- SUBDIR_S = @SUBDIR_S@
--SYSTEMD_DIR = @SYSTEMD_DIR@
-+SYSTEMD_DIR = @systemddir@
- VERSION = @VERSION@
- abs_builddir = @abs_builddir@
- abs_srcdir = @abs_srcdir@
-@@ -233,6 +233,7 @@ sbindir = @sbindir@
- sharedstatedir = @sharedstatedir@
- srcdir = @srcdir@
- sysconfdir = @sysconfdir@
-+systemddir = @systemddir@
- target_alias = @target_alias@
- top_build_prefix = @top_build_prefix@
- top_builddir = @top_builddir@
-Index: ipmiutil-2.9.6/scripts/Makefile.in
-===================================================================
---- ipmiutil-2.9.6.orig/scripts/Makefile.in
-+++ ipmiutil-2.9.6/scripts/Makefile.in
-@@ -126,7 +126,7 @@ SHELL = @SHELL@
- SHR_LINK = @SHR_LINK@
- STRIP = @STRIP@
- SUBDIR_S = @SUBDIR_S@
--SYSTEMD_DIR = @SYSTEMD_DIR@
-+SYSTEMD_DIR = @systemddir@
- VERSION = @VERSION@
- abs_builddir = @abs_builddir@
- abs_srcdir = @abs_srcdir@
-@@ -195,7 +195,8 @@ cronto = ${DESTDIR}${etcdir}/cron.daily
- sbinto = ${DESTDIR}${sbindir}
- varto = ${DESTDIR}/var/lib/ipmiutil
- initto = ${DESTDIR}@INIT_DIR@
--sysdto = ${DESTDIR}@SYSTEMD_DIR@
-+sysdto = ${DESTDIR}@systemddir@
-+systemddir = @systemddir@
- sysvinit = ${datato}
- sbinfls = ialarms ihealth ifru igetevent ireset icmd isol ilan isensor isel iserial iwdt iconfig ipicmg ifirewall ifwum ihpm
- all: all-am
-@@ -398,11 +399,14 @@ install:
- ${INSTALL_SCRIPT_SH} evt.sh ${datato}
- if [ -f /etc/debian_version ]; then \
- sysvinit=${initto}; fi
-- ${INSTALL_SCRIPT_SH} ipmiutil_wdt ${sysvinit}/ipmiutil_wdt
-- ${INSTALL_SCRIPT_SH} ipmiutil_asy ${sysvinit}/ipmiutil_asy
-- ${INSTALL_SCRIPT_SH} ipmiutil_evt ${sysvinit}/ipmiutil_evt
-- ${INSTALL_SCRIPT_SH} ipmi_port.sh ${sysvinit}/ipmi_port
-- ${INSTALL_SCRIPT_SH} ipmi_info ${sysvinit}/ipmi_info
-+ if [ ! -z "${systemddir}" ]; then \
-+ $(MKDIR) ${sysdto}; \
-+ ${INSTALL_SCRIPT_SH} ipmiutil_wdt ${sysvinit}/ipmiutil_wdt; \
-+ ${INSTALL_SCRIPT_SH} ipmiutil_asy ${sysvinit}/ipmiutil_asy; \
-+ ${INSTALL_SCRIPT_SH} ipmiutil_evt ${sysvinit}/ipmiutil_evt; \
-+ ${INSTALL_SCRIPT_SH} ipmi_port.sh ${sysvinit}/ipmi_port; \
-+ ${INSTALL_SCRIPT_SH} ipmi_info ${sysvinit}/ipmi_info; \
-+ fi
- ${INSTALL_SCRIPT_SH} checksel ${datato}
- ${INSTALL_DATA_SH} ipmiutil_wdt.service ${sysdto}
- ${INSTALL_DATA_SH} ipmiutil_asy.service ${sysdto}
-Index: ipmiutil-2.9.6/scripts/Makefile.am
+Index: ipmiutil-3.0.5/scripts/Makefile.am
===================================================================
---- ipmiutil-2.9.6.orig/scripts/Makefile.am
-+++ ipmiutil-2.9.6/scripts/Makefile.am
+--- ipmiutil-3.0.5.orig/scripts/Makefile.am
++++ ipmiutil-3.0.5/scripts/Makefile.am
@@ -17,7 +17,8 @@ cronto = ${DESTDIR}${etcdir}/cron.daily
sbinto = ${DESTDIR}${sbindir}
varto = ${DESTDIR}/var/lib/ipmiutil
@@ -268,7 +104,7 @@ Index: ipmiutil-2.9.6/scripts/Makefile.am
+sysdto = ${DESTDIR}@systemddir@
+systemddir = @systemddir@
sysvinit = ${datato}
- sbinfls = ialarms ihealth ifru igetevent ireset icmd isol ilan isensor isel iserial iwdt iconfig ipicmg ifirewall ifwum ihpm
+ sbinfls = ialarms ihealth ifru igetevent ireset icmd isol ilan isensor isel iserial iwdt iconfig ipicmg ifirewall ifwum ihpm iuser
@@ -47,10 +48,14 @@ install:
${INSTALL_SCRIPT_SH} ipmi_port.sh ${sysvinit}/ipmi_port
@@ -289,30 +125,3 @@ Index: ipmiutil-2.9.6/scripts/Makefile.am
${INSTALL_SCRIPT_SH} ipmiutil.env ${datato}
${INSTALL_SCRIPT_SH} ipmiutil.pre ${datato}
${INSTALL_SCRIPT_SH} ipmiutil.setup ${datato}
-Index: ipmiutil-2.9.6/lib/Makefile.in
-===================================================================
---- ipmiutil-2.9.6.orig/lib/Makefile.in
-+++ ipmiutil-2.9.6/lib/Makefile.in
-@@ -128,7 +128,7 @@ SHELL = @SHELL@
- SHR_LINK = @SHR_LINK@
- STRIP = @STRIP@
- SUBDIR_S = @SUBDIR_S@
--SYSTEMD_DIR = @SYSTEMD_DIR@
-+SYSTEMD_DIR = @systemddir@
- VERSION = @VERSION@
- abs_builddir = @abs_builddir@
- abs_srcdir = @abs_srcdir@
-Index: ipmiutil-2.9.6/lib/lanplus/Makefile.in
-===================================================================
---- ipmiutil-2.9.6.orig/lib/lanplus/Makefile.in
-+++ ipmiutil-2.9.6/lib/lanplus/Makefile.in
-@@ -177,7 +177,8 @@ SHELL = @SHELL@
- SHR_LINK = @SHR_LINK@
- STRIP = @STRIP@
- SUBDIR_S = @SUBDIR_S@
--SYSTEMD_DIR = @SYSTEMD_DIR@
-+SYSTEMD_DIR = @systemddir@
-+systemddir = @systemddir@
- VERSION = @VERSION@
- abs_builddir = @abs_builddir@
- abs_srcdir = @abs_srcdir@
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
deleted file mode 100644
index ee0766ea7..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/ipmiutil/ipmiutil_2.9.6.bb
+++ /dev/null
@@ -1,62 +0,0 @@
-SUMMARY = "ipmiutil is an easy-to-use set of IPMI server management utilities.\
-It can get/set sensor thresholds, automate SEL management, do SOL console, etc."
-
-DESCRIPTION = "The IPMI Management Utilities currently work with platforms that \
-support the IPMI 1.5 or 2.0 specification. IPMI servers can be managed\
-locally, or remotely via IPMI LAN, even when the OS or main CPU is not\
-functional.\n \
-The ipmiutil utilities will use an IPMI Driver, either the Intel IPMI package \
-(ipmidrvr, /dev/imb), MontaVista OpenIPMI (/dev/ipmi0), the valinux IPMI \
-Driver (/dev/ipmikcs), or the LANDesk ldipmi daemon. The ipmiutil utilities \
-can also use direct user-space I/Os in Linux or FreeBSD if no IPMI driver \
-is detected."
-
-HOMEPAGE = "http://ipmiutil.sourceforge.net"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5f9372493401f309e6149dd2ce0a044b"
-
-DEPENDS += "openssl"
-
-PARALLEL_MAKE = ""
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/ipmiutil/ipmiutil-${PV}.tar.gz \
- file://fix_systemd_path.patch "
-
-SRC_URI[md5sum] = "462087995f05fa9e692ed7f55c840f71"
-SRC_URI[sha256sum] = "884c1f3d8bfb0b33c303973d286c3166f5a537976451a0312e3524af54771519"
-
-inherit autotools-brokensep pkgconfig systemd
-
-PACKAGECONFIG ?= "lanplus gpl"
-PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[systemd] = "--enable-systemd=${datadir}/${BPN}, --enable-systemd=no"
-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"
-
-#build with some GPL code
-PACKAGECONFIG[gpl] = "--enable-gpl, --enable-gpl=no"
-#no GPL or LanPlus libs
-PACKAGECONFIG[standalone] = "--enable-standalone, --enable-standalone=no"
-
-CFLAGS += "-I${STAGING_INCDIR}"
-LDFLAGS += "-L${STAGING_LIBDIR}"
-
-do_configure () {
- aclocal
- libtoolize --automake --copy --force
- autoheader
- automake --foreign --add-missing --copy
-
- aclocal
- autoconf
- automake --foreign
- ./configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
-}
-
-do_install () {
- oe_runmake install DESTDIR=${D}
-}
-
-COMPATIBLE_HOST = '(x86_64|i.86).*-linux'
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/ipmiutil/ipmiutil_3.0.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/ipmiutil/ipmiutil_3.0.5.bb
new file mode 100644
index 000000000..338cafd53
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/ipmiutil/ipmiutil_3.0.5.bb
@@ -0,0 +1,46 @@
+SUMMARY = "ipmiutil is an easy-to-use set of IPMI server management utilities.\
+It can get/set sensor thresholds, automate SEL management, do SOL console, etc."
+
+DESCRIPTION = "The IPMI Management Utilities currently work with platforms that \
+support the IPMI 1.5 or 2.0 specification. IPMI servers can be managed\
+locally, or remotely via IPMI LAN, even when the OS or main CPU is not\
+functional.\n \
+The ipmiutil utilities will use an IPMI Driver, either the Intel IPMI package \
+(ipmidrvr, /dev/imb), MontaVista OpenIPMI (/dev/ipmi0), the valinux IPMI \
+Driver (/dev/ipmikcs), or the LANDesk ldipmi daemon. The ipmiutil utilities \
+can also use direct user-space I/Os in Linux or FreeBSD if no IPMI driver \
+is detected."
+
+HOMEPAGE = "http://ipmiutil.sourceforge.net"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=626a5970304daa1fcb87f757fb42b795"
+
+DEPENDS += "openssl"
+
+PARALLEL_MAKE = ""
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/ipmiutil/ipmiutil-${PV}.tar.gz \
+ file://fix_systemd_path.patch \
+ "
+SRC_URI[md5sum] = "5feaf6a827205792e057bb4ff5c4e842"
+SRC_URI[sha256sum] = "b2d7f72535131c7832ba4be13dc33c81513fc3ee43fe797b4b52014600ecee5e"
+
+inherit autotools-brokensep pkgconfig systemd
+
+PACKAGECONFIG ?= "lanplus gpl"
+PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[systemd] = "--enable-systemd=${datadir}/${BPN}, --enable-systemd=no"
+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"
+
+#build with some GPL code
+PACKAGECONFIG[gpl] = "--enable-gpl, --enable-gpl=no"
+#no GPL or LanPlus libs
+PACKAGECONFIG[standalone] = "--enable-standalone, --enable-standalone=no"
+
+CFLAGS += "-I${STAGING_INCDIR}"
+LDFLAGS += "-L${STAGING_LIBDIR}"
+
+COMPATIBLE_HOST = '(x86_64|i.86).*-linux'
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libbytesize/files/0001-remove-python2-support.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/libbytesize/files/0001-remove-python2-support.patch
new file mode 100644
index 000000000..b57e39fbc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libbytesize/files/0001-remove-python2-support.patch
@@ -0,0 +1,30 @@
+From 2ddc97b30792817d162f51ec3818376aefbf184e Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 3 May 2017 02:05:33 -0400
+Subject: [PATCH] remove python2 support
+
+We use python3 rather than python2 support
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ src/python/Makefile.am | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/src/python/Makefile.am b/src/python/Makefile.am
+index 567d0d7..8d9f446 100644
+--- a/src/python/Makefile.am
++++ b/src/python/Makefile.am
+@@ -1,8 +1,3 @@
+-pylibdir = $(shell python -c "import distutils.sysconfig; print(distutils.sysconfig.get_python_lib(1,0,prefix='${exec_prefix}'))")
+-
+-pybytesizedir = $(pylibdir)/bytesize
+-dist_pybytesize_DATA = bytesize.py __init__.py
+-
+ if WITH_PYTHON3
+ py3libdir = $(shell python3 -c "import distutils.sysconfig; print(distutils.sysconfig.get_python_lib(1,0,prefix='${exec_prefix}'))")
+ py3bytesizedir = $(py3libdir)/bytesize
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_0.10.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_0.10.bb
new file mode 100644
index 000000000..690302149
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_0.10.bb
@@ -0,0 +1,34 @@
+DESCRIPTION = "The goal of this project is to provide a tiny library that would \
+facilitate the common operations with sizes in bytes."
+HOMEPAGE = "https://github.com/rhinstaller/libbytesize"
+LICENSE = "LGPLv2+"
+SECTION = "devel/lib"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c07cb499d259452f324bb90c3067d85c"
+
+S = "${WORKDIR}/git"
+B = "${S}"
+
+SRCREV = "369127c0edbba7d1a4e2e02486375dd9d379524f"
+PV = "0.10+git${SRCPV}"
+SRC_URI = "git://github.com/rhinstaller/libbytesize;branch=master \
+ file://0001-remove-python2-support.patch \
+"
+
+inherit gettext autotools python3native
+
+DEPENDS += " \
+ libpcre \
+ gmp \
+ mpfr \
+"
+
+FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}/bytesize"
+
+PACKAGECONFIG ??= "python3"
+PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3"
+PACKAGECONFIG[doc] = "--with-gtk-doc, --without-gtk-doc, gtk-doc-native"
+
+EXTRA_OEMAKE = "py3libdir=${PYTHON_SITEPACKAGES_DIR}"
+
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libcyusbserial/libcyusbserial_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libcyusbserial/libcyusbserial_git.bb
new file mode 100644
index 000000000..74b5e21e2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libcyusbserial/libcyusbserial_git.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Enable userspace control of Cypress USB-Serial bridge devices"
+HOMEPAGE = "https://github.com/cyrozap/libcyusbserial"
+BUGTRACKER = "https://github.com/cyrozap/libcyusbserial/issues"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING.LESSER.txt;md5=4fbd65380cdd255951079008b364516c"
+DEPENDS = "libusb udev"
+
+PV = "1.0.0+git${SRCPV}"
+
+SRCREV = "655e2d544183d094f0e2d119c7e0c6206a0ddb3f"
+SRC_URI = "git://github.com/cyrozap/${BPN}.git"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+PACKAGES =+ "${PN}-utils"
+FILES_${PN}-utils = "${bindir}/*"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libdbi/libdbi-drivers.inc b/import-layers/meta-openembedded/meta-oe/recipes-support/libdbi/libdbi-drivers.inc
deleted file mode 100644
index b509532e4..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libdbi/libdbi-drivers.inc
+++ /dev/null
@@ -1,51 +0,0 @@
-# libdbi-drivers OE build file
-# Copyright (C) 2005, Koninklijke Philips Electronics NV. All Rights Reserved
-# Released under the MIT license (see packages/COPYING)
-
-DESCRIPTION = "Database Drivers for libdbi"
-HOMEPAGE = "http://libdbi-drivers.sourceforge.net/"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
-SECTION = "libs"
-
-PROVIDES = "libdbd-sqlite"
-DEPENDS = "libdbi sqlite sqlite3 mysql5 postgresql"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/libdbi-drivers/libdbi-drivers-${PV}.tar.gz"
-
-inherit autotools
-
-PACKAGES += "libdbd-sqlite3 libdbd-sqlite libdbd-pgsql libdbd-mysql"
-
-EXTRA_OECONF = "--with-dbi-incdir=${STAGING_INCDIR} \
- --with-dbi-libdir=${STAGING_LIBDIR} \
- --with-sqlite \
- --with-sqlite3 \
- --with-pgsql \
- --with-mysql \
- --with-sqlite-libdir=${STAGING_LIBDIR} \
- --with-sqlite-incdir=${STAGING_INCDIR} \
- --with-sqlite3-incdir=${STAGING_INCDIR} \
- --with-sqlite3-libdir=${STAGING_LIBDIR} \
- --with-mysql-incdir=${STAGING_INCDIR} \
- --with-mysql-libdir=${STAGING_LIBDIR} \
- --with-pgsql-incdir=${STAGING_INCDIR} \
- --with-pgsql-libdir=${STAGING_LIBDIR} \
- --disable-docs"
-
-FILES_${PN}-dbg += " ${libdir}/dbd/.debug/*.so"
-FILES_${PN}-dev += " ${libdir}/dbd/*.la"
-FILES_${PN}-staticdev += " ${libdir}/dbd/*.a"
-
-DESCRIPTION_libdbd-sqlite = "SQLite database driver for libdbi"
-FILES_libdbd-sqlite = "${libdir}/dbd/libdbdsqlite.so"
-
-DESCRIPTION_libdbd-sqlite3 = "SQLite3 database driver for libdbi"
-FILES_libdbd-sqlite3 = "${libdir}/dbd/libdbdsqlite3.so"
-
-DESCRIPTION_libdbd-mysql = "MySQL4 database driver for libdbi"
-FILES_libdbd-mysql = "${libdir}/dbd/libdbdmysql.so"
-
-DESCRIPTION_libdbd-psql = "Postgres SQL database driver for libdbi"
-FILES_libdbd-pgsql = "${libdir}/dbd/libdbdpgsql.so"
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libdbi/libdbi-drivers_0.8.3-1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libdbi/libdbi-drivers_0.8.3-1.bb
deleted file mode 100644
index 8d2c5054a..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libdbi/libdbi-drivers_0.8.3-1.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require ${PN}.inc
-
-
-SRC_URI[md5sum] = "4de79b323162a5a7652b65b608eca6cd"
-SRC_URI[sha256sum] = "4ab9944398ce769c0deeb64d2f73555c67bc25ccd2ade1ccf552226c7b2acf72"
-
-# libdbi-drivers-0.8.3-1/drivers/mysql/dbd_mysql.c:232:5: error: conflicting types for 'dbd_goto_row'
-PNBLACKLIST[libdbi-drivers] ?= "BROKEN: fails to build with gcc-5 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libetpan/libetpan-0.57/libetpan-autoreconf.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/libetpan/libetpan-0.57/libetpan-autoreconf.patch
deleted file mode 100644
index d05967da3..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libetpan/libetpan-0.57/libetpan-autoreconf.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: libetpan-0.57/configure.ac
-===================================================================
---- libetpan-0.57.orig/configure.ac 2008-10-08 19:54:20.000000000 +0000
-+++ libetpan-0.57/configure.ac 2008-11-11 16:34:33.000000000 +0000
-@@ -106,6 +106,7 @@
-
- # Check the C compiler.
- AC_PROG_CC
-+AC_PROG_CXX
-
- # Compiler flags.
- AC_ARG_ENABLE(debug, [ --enable-debug setup flags (gcc) for debugging (default=no)],
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libetpan/libetpan-0.57/libetpan-ldflags.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/libetpan/libetpan-0.57/libetpan-ldflags.patch
deleted file mode 100644
index 438f44f15..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libetpan/libetpan-0.57/libetpan-ldflags.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- libetpan-0.57/configure.ac~ 2009-09-21 23:31:42.000000000 +0200
-+++ libetpan-0.57/configure.ac 2009-09-21 23:31:42.000000000 +0200
-@@ -457,7 +457,7 @@
- LDFLAGS="-$flag $LDFLAGS"
- AC_TRY_LINK([], [pthread_create();],
- [pthflag=yes; checkpthread=no],
-- [pthflag=no; LDFLAGS="$OLDCFLAGS"])
-+ [pthflag=no; LDFLAGS="$OLDFLAGS"])
- AC_MSG_RESULT($pthflag)
- fi
- done
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libetpan/libetpan-0.57/sepbuild.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/libetpan/libetpan-0.57/sepbuild.patch
deleted file mode 100644
index 4f0161727..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libetpan/libetpan-0.57/sepbuild.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Index: libetpan-0.57/rules.mk
-===================================================================
---- libetpan-0.57.orig/rules.mk
-+++ libetpan-0.57/rules.mk
-@@ -134,9 +134,9 @@ prepare-am: prepare-local
- if test -e ../../$(subdir)/$${hdr}; then \
- echo "$(LN_S) -f ../../$(subdir)/$${hdr} ."; \
- $(LN_S) -f ../../$(subdir)/$${hdr} .; \
- else \
-- echo "$(LN_S) -f ../../$(subdir)/$(srcdir)/$${hdr} ."; \
-- $(LN_S) -f ../../$(subdir)/$(srcdir)/$${hdr} .; \
-+ echo "$(LN_S) -f $(srcdir)/$${hdr} ."; \
-+ $(LN_S) -f $(srcdir)/$${hdr} .; \
- fi; \
- fi; \
- done; \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libetpan/libetpan_0.57.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libetpan/libetpan_0.57.bb
deleted file mode 100644
index 5cadf16ce..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libetpan/libetpan_0.57.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-DESCRIPTION = "libetpan is a library for communicating with mail and news servers. \
-It supports the protocols SMTP, POP3, IMAP and NNTP."
-HOMEPAGE = "http://www.etpan.org"
-SECTION = "libs"
-DEPENDS = "gnutls liblockfile curl"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=f18ebe7e452708c26f83954f81062ba7"
-
-PR = "r1"
-
-# http://errors.yoctoproject.org/Errors/Details/25823/
-PNBLACKLIST[libetpan] ?= "Not compatible with gnutls version 3.4 currently in oe-core - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/libetpan/libetpan-${PV}.tar.gz \
- file://libetpan-autoreconf.patch \
- file://libetpan-ldflags.patch \
- file://sepbuild.patch"
-
-inherit autotools pkgconfig gettext binconfig
-
-EXTRA_OECONF = "--without-openssl --without-sasl --with-gnutls --disable-db"
-
-PARALLEL_MAKE = ""
-
-FILES_${PN} = "${libdir}/lib*.so.*"
-FILES_${PN}-dev = "${bindir} ${includedir} ${libdir}/lib*.so ${libdir}/*.la ${libdir}/*.a ${libdir}/pkgconfig"
-
-
-SRC_URI[md5sum] = "8ce8c6c071e81884a475b12b7f9a9cc0"
-SRC_URI[sha256sum] = "1f3fda5c9e2961d1a6298dc8aadae321493d37727d8db45bc2e8d58f20547011"
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
deleted file mode 100644
index 199e5a8f6..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.3.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=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').replace('lib', '')}"
-
-FILES_${PN}-dev += "${libdir}/cmake"
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.4.bb
new file mode 100644
index 000000000..6bea16582
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.4.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] = "0c09fb2bb19a57c839fa6845c6c780a2"
+SRC_URI[sha256sum] = "ec36fb49080f834690c24008328a5ef42d3cf584ef4060f3a35aa4681cb31b74"
+
+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').replace('lib', '')}"
+
+FILES_${PN}-dev += "${libdir}/cmake"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.bb
new file mode 100644
index 000000000..c50605775
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.bb
@@ -0,0 +1,23 @@
+SUMMARY = "C library and tools for interacting with the linux GPIO character device"
+
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2caced0b25dfefd4c601d92bd15116de"
+
+SRC_URI = "https://www.kernel.org/pub/software/libs/libgpiod/${BP}.tar.xz"
+
+SRC_URI[md5sum] = "5f9d855352b1a5272cf6f1c2e20689d2"
+SRC_URI[sha256sum] = "6dfd6aeb544e8b7baf484a05c9ae0e67022c109362a41d87005393046b6beacf"
+
+PV = "0.3.1"
+
+inherit autotools pkgconfig
+
+# enable tools
+PACKAGECONFIG ?= "tools"
+
+PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,kmod udev"
+PACKAGECONFIG[tools] = "--enable-tools,--disable-tools,"
+
+PACKAGES += " ${PN}-tools"
+
+FILES_${PN}-tools = "${bindir}/*"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery_1.7.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery_1.7.2.bb
index ec8f360ac..7f425cdea 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery_1.7.2.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery_1.7.2.bb
@@ -1,4 +1,5 @@
SUMMARY = "JavaScript library for dynamic web applications"
+HOMEPAGE = "https://jquery.com/"
LICENSE = "MIT | BSD | GPL-2"
LIC_FILES_CHKSUM = "file://usr/share/doc/libjs-jquery/copyright;md5=5d1ec6f95e0a91d38e2f71de93ddb00e"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libjs/libjs-sizzle_1.10.18.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libjs/libjs-sizzle_1.10.18.bb
index 92ab31f54..4928b6c3a 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libjs/libjs-sizzle_1.10.18.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libjs/libjs-sizzle_1.10.18.bb
@@ -1,4 +1,5 @@
SUMMARY = "Pure-JavaScript CSS selector engine"
+HOMEPAGE = "https://github.com/jquery/sizzle/wiki"
LICENSE = "GPL-2.0 & MIT & AFL-2.1"
LIC_FILES_CHKSUM = "file://MIT-LICENSE.txt;md5=e43aa437a6a1ba421653bd5034333bf9"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd/Check-response-existence-on-upgrade.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd/Check-response-existence-on-upgrade.patch
deleted file mode 100644
index a02bbd4d0..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd/Check-response-existence-on-upgrade.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From: jose.bollo@iot.bzh
-Date: Thu, 4 May 2017 21:47:38 +0200
-Subject: [PATCH] Check response existence on upgrade
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-When a connection upgrade is requested and when the
-request sent an error reply, the response is most of
-the time already sent when the test on
-connection->response->upgrade_handler is made, leading
-to dereferencing NULL.
-
-Two possibilities exist:
-
- NULL == connection->response || NULL == connection->response->upgrade_handler
-
-or
-
- NULL != connection->response && NULL == connection->response->upgrade_handler
-
-The first is prefered because it is probably safer to close the connection
-in that case.
-
-Upstream-Status: Accepted [https://gnunet.org/git/libmicrohttpd.git/commit/?id=b4216c60fdb5b48f6cfec416301fc63a1167e6cd]
-
-Change-Id: Ie6e7fc165f7fe3635ade0952bb34a0b937d38716
-Signed-off-by: José Bollo <jobol@nonadev.net>
-Signed-off-by: José Bollo <jose.bollo@iot.bzh>
----
- src/microhttpd/connection.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/microhttpd/connection.c b/src/microhttpd/connection.c
-index a495524..d39c110 100644
---- a/src/microhttpd/connection.c
-+++ b/src/microhttpd/connection.c
-@@ -882,7 +882,7 @@ keepalive_possible (struct MHD_Connection *connection)
- #ifdef UPGRADE_SUPPORT
- if ( (MHD_str_equal_caseless_ (end,
- "upgrade")) &&
-- (NULL == connection->response->upgrade_handler) )
-+ (NULL == connection->response || NULL == connection->response->upgrade_handler) )
- return MHD_NO;
- #endif /* UPGRADE_SUPPORT */
-
---
-2.9.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.53.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.53.bb
deleted file mode 100644
index 45f2460d0..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.53.bb
+++ /dev/null
@@ -1,28 +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] = "5a425e993a0f5295aecb5d6607a1c242"
-SRC_URI[sha256sum] = "9b15ec2d381f44936323adfd4f989fa35add517cccbbfa581896b02a393c2cc4"
-
-FILESEXTRAPATHS_append := ":${THISDIR}/${PN}"
-SRC_URI += " file://Check-response-existence-on-upgrade.patch"
-
-inherit autotools lib_package pkgconfig gettext
-
-EXTRA_OECONF += "--disable-static --with-gnutls=${STAGING_LIBDIR}/../"
-
-PACKAGECONFIG ?= "curl"
-PACKAGECONFIG_append_class-target = "\
- ${@bb.utils.filter('DISTRO_FEATURES', '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.55.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.55.bb
new file mode 100644
index 000000000..ee399a764
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.55.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] = "1c20f84a8b9cf692dd50b558b3571a3a"
+SRC_URI[sha256sum] = "0c1cab8dc9f2588bd3076a28f77a7f8de9560cbf2d80e53f9a8696ada80ed0f8"
+
+inherit autotools lib_package pkgconfig gettext
+
+EXTRA_OECONF += "--disable-static --with-gnutls=${STAGING_LIBDIR}/../"
+
+PACKAGECONFIG ?= "curl"
+PACKAGECONFIG_append_class-target = "\
+ ${@bb.utils.filter('DISTRO_FEATURES', '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.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libnih/libnih_1.0.3.bb
index 02fe805fc..3e35f4d1f 100644
--- 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
@@ -1,6 +1,7 @@
# Copyright (c) 2013 LG Electronics, Inc.
SUMMARY = "libnih library"
+HOMEPAGE = "https://launchpad.net/libnih"
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. \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libol/libol_0.3.18.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libol/libol_0.3.18.bb
index c31f48313..74e1ef215 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libol/libol_0.3.18.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libol/libol_0.3.18.bb
@@ -1,4 +1,5 @@
SUMMARY = "A tiny C support library"
+HOMEPAGE = "https://my.balabit.com/downloads/libol"
SECTION = "libs"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
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
deleted file mode 100644
index d88006c36..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.4.0.bb
+++ /dev/null
@@ -1,30 +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"
-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/libp11/libp11_0.4.7.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.4.7.bb
new file mode 100644
index 000000000..949c33752
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.4.7.bb
@@ -0,0 +1,26 @@
+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 = "64569a391897bd29c5060b19fa4613e619e59277"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--disable-static"
+
+do_install_append () {
+ rm -rf ${D}${libdir}/*.la
+ rm -rf ${D}${docdir}/${BPN}
+}
+
+FILES_${PN} += "${libdir}/engines/pkcs11.so"
+FILES_${PN}-dev += "${libdir}/engines/libpkcs11${SOLIBSDEV}"
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
deleted file mode 100644
index c62dab133..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.7.0.bb
+++ /dev/null
@@ -1,26 +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] = "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/libssh2/libssh2_1.8.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.8.0.bb
new file mode 100644
index 000000000..94bfb8f87
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.8.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] = "3d1147cae66e2959ea5441b183de1b1c"
+SRC_URI[sha256sum] = "39f34e2f6835f4b992cafe8625073a88e5a28ba78f83e8099610a7b3af4676d4"
+
+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/libtar/files/0002-Do-not-strip-libtar.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/libtar/files/0002-Do-not-strip-libtar.patch
new file mode 100644
index 000000000..31c0d29e9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libtar/files/0002-Do-not-strip-libtar.patch
@@ -0,0 +1,25 @@
+From e9fee689430af7791b932a1ee3c2cc103ccf290f Mon Sep 17 00:00:00 2001
+From: Stefan Eichenberger <stefan.eichenberger@netmodule.com>
+Date: Wed, 2 Nov 2016 05:43:43 -0400
+Subject: [PATCH] Do not strip libtar.
+
+---
+ libtar/Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libtar/Makefile.in b/libtar/Makefile.in
+index 7c6f1bc..80bb8d9 100644
+--- a/libtar/Makefile.in
++++ b/libtar/Makefile.in
+@@ -20,7 +20,7 @@ SHELL = @SHELL@
+
+ ### Installation programs and flags
+ INSTALL = @INSTALL@
+-INSTALL_PROGRAM = @INSTALL_PROGRAM@ -s
++INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_DATA = @INSTALL_DATA@
+ LN_S = @LN_S@
+ MKDIR = @MKDIR@
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libtar/files/fix_libtool_sysroot.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/libtar/files/fix_libtool_sysroot.patch
new file mode 100644
index 000000000..178a97029
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libtar/files/fix_libtool_sysroot.patch
@@ -0,0 +1,19 @@
+---
+ configure.ac | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/configure.ac b/configure.ac
+index 4623100..1c6b43d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -13,6 +13,7 @@ AC_CONFIG_MACRO_DIR([autoconf])
+ AM_INIT_AUTOMAKE([dist-bzip2])
+ ENCAP_PKG([], [postinstall-encap])
+
++LT_INIT
+
+ dnl ### Load subdirectory modules. ##################################
+ PSG_MODULE([compat])
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libtar/libtar_1.2.20.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libtar/libtar_1.2.20.bb
new file mode 100644
index 000000000..60710f416
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libtar/libtar_1.2.20.bb
@@ -0,0 +1,21 @@
+SUMMARY = "libtar, tar manipulating library"
+DESCRIPTION = "libtar is a library for manipulating POSIX tar files"
+HOMEPAGE = "http://www.feep.net/libtar"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=61cbac6719ae682ce6cd45b5c11e21af"
+
+SRC_URI = "${DEBIAN_MIRROR}/main/libt/${BPN}/${BPN}_${PV}.orig.tar.gz \
+ file://fix_libtool_sysroot.patch \
+ file://0002-Do-not-strip-libtar.patch \
+ "
+
+S = "${WORKDIR}/${BPN}"
+
+SRC_URI[md5sum] = "6ced95ab3a4b33fbfe2dfb231d156cdb"
+SRC_URI[sha256sum] = "50f24c857a7ef1cb092e6508758b86d06f1188508f897f3e6b40c573e8879109"
+
+inherit autotools-brokensep
+
+PACKAGECONFIG ??= "zlib"
+PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libteam/libteam/0001-include-sys-select.h-for-fd_set-definition.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/libteam/libteam/0001-include-sys-select.h-for-fd_set-definition.patch
new file mode 100644
index 000000000..a4a17ed85
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libteam/libteam/0001-include-sys-select.h-for-fd_set-definition.patch
@@ -0,0 +1,28 @@
+From 0ab69dc18a2057ff5bf41abcdf2b983b72d5a903 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 12 Jul 2017 15:34:49 -0700
+Subject: [PATCH 1/2] include sys/select.h for fd_set definition
+
+Fixes
+teamnl.c:160:2: error: unknown type name 'fd_set'; did you mean 'fpos_t'?
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ utils/teamnl.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/utils/teamnl.c b/utils/teamnl.c
+index e8de7e2..25129e8 100644
+--- a/utils/teamnl.c
++++ b/utils/teamnl.c
+@@ -24,6 +24,7 @@
+ #include <getopt.h>
+ #include <errno.h>
+ #include <sys/signalfd.h>
++#include <sys/select.h>
+ #include <signal.h>
+ #include <unistd.h>
+ #include <team.h>
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libteam/libteam/0002-teamd-Re-adjust-include-header-order.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/libteam/libteam/0002-teamd-Re-adjust-include-header-order.patch
new file mode 100644
index 000000000..beabf63ca
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libteam/libteam/0002-teamd-Re-adjust-include-header-order.patch
@@ -0,0 +1,40 @@
+From a5b945cb3c62a18dcd7047f62707c09076c4e48b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 12 Jul 2017 15:35:51 -0700
+Subject: [PATCH 2/2] teamd: Re-adjust include header order
+
+So it gets the library definition before kernel definition
+
+usr/include/ne
+tinet/if_ether.h:101:8: error: redefinition of 'struct ethhdr'
+ struct ethhdr {
+ ^~~~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ teamd/teamd_runner_lacp.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/teamd/teamd_runner_lacp.c b/teamd/teamd_runner_lacp.c
+index 9c77fae..8800854 100644
+--- a/teamd/teamd_runner_lacp.c
++++ b/teamd/teamd_runner_lacp.c
+@@ -23,6 +23,7 @@
+ #include <unistd.h>
+ #include <limits.h>
+ #include <sys/ioctl.h>
++#include <net/ethernet.h>
+ #include <linux/if_ether.h>
+ #include <sys/socket.h>
+ #include <linux/netdevice.h>
+@@ -30,7 +31,6 @@
+ #include <errno.h>
+ #include <team.h>
+ #include <private/misc.h>
+-#include <net/ethernet.h>
+
+ #include "teamd.h"
+ #include "teamd_config.h"
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.27.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.27.bb
new file mode 100644
index 000000000..32227009e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.27.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Library for controlling team network device"
+HOMEPAGE = "http://www.libteam.org/"
+SECTION = "libs/network"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = "libnl libdaemon jansson"
+
+SRC_URI = "git://github.com/jpirko/libteam \
+ file://0001-include-sys-select.h-for-fd_set-definition.patch \
+ file://0002-teamd-Re-adjust-include-header-order.patch \
+ "
+SRCREV = "91a928a56a501daac5ce8b3c16bd9943661f1d16"
+
+SRC_URI[md5sum] = "565114d70c41bff6093d8e57be284e8a"
+SRC_URI[sha256sum] = "d65286379141db141bea33424ec0507bb0f827a0bf03d9c65004bb593e3d5545"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+FILES_${PN} = "${libdir}/libteam${SOLIBS} \
+"
+
+PACKAGES += "${PN}-dctl ${PN}-utils"
+FILES_${PN}-dctl = "${libdir}/libteamdctl${SOLIBS} \
+"
+FILES_${PN}-utils = "${bindir}/bond2team \
+ ${bindir}/teamd \
+ ${bindir}/teamdctl \
+ ${bindir}/teamnl \
+"
+
+RDEPENDS_${PN}-utils = "bash"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_4.0.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_4.0.1.bb
deleted file mode 100644
index 3a6659815..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_4.0.1.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "TinyXML-2 is a simple, small, efficient, C++ XML parser that can be easily integrating into other programs"
-HOMEPAGE = "http://www.grinninglizard.com/tinyxml2/"
-SECTION = "libs"
-LICENSE = "Zlib"
-LIC_FILES_CHKSUM = "file://tinyxml2.cpp;endline=22;md5=c19221dbd8a66ad3090462af4c5de5e7"
-
-SRC_URI = "git://github.com/leethomason/tinyxml2.git"
-
-SRCREV = "74d44acb176f8510abf28ee0a70961eb26631988"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_5.0.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_5.0.1.bb
new file mode 100644
index 000000000..8b5ab44fd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_5.0.1.bb
@@ -0,0 +1,17 @@
+SUMMARY = "TinyXML-2 is a simple, small, efficient, C++ XML parser that can be easily integrating into other programs"
+HOMEPAGE = "http://www.grinninglizard.com/tinyxml2/"
+SECTION = "libs"
+LICENSE = "Zlib"
+LIC_FILES_CHKSUM = "file://tinyxml2.cpp;endline=22;md5=c19221dbd8a66ad3090462af4c5de5e7"
+
+SRC_URI = "git://github.com/leethomason/tinyxml2.git"
+
+SRCREV = "37bc3aca429f0164adf68c23444540b4a24b5778"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+FILES_${PN}-dev += "${libdir}/cmake/"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch
new file mode 100644
index 000000000..fb3878dc3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch
@@ -0,0 +1,88 @@
+From 727524453f115ddc05109e9bbb3d0e60a7db9185 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 16 Jul 2017 15:05:50 -0700
+Subject: [PATCH] prog: Do not limit sys/io.h header include to just glibc
+
+musl provides it too.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ prog/dump/isadump.c | 6 ------
+ prog/dump/isaset.c | 6 ------
+ prog/dump/superio.c | 5 -----
+ prog/dump/util.c | 5 -----
+ 4 files changed, 22 deletions(-)
+
+diff --git a/prog/dump/isadump.c b/prog/dump/isadump.c
+index e0e6f00..8794537 100644
+--- a/prog/dump/isadump.c
++++ b/prog/dump/isadump.c
+@@ -36,13 +36,7 @@
+ #include "util.h"
+ #include "superio.h"
+
+-
+-/* To keep glibc2 happy */
+-#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0
+ #include <sys/io.h>
+-#else
+-#include <asm/io.h>
+-#endif
+
+ #ifdef __powerpc__
+ unsigned long isa_io_base = 0; /* XXX for now */
+diff --git a/prog/dump/isaset.c b/prog/dump/isaset.c
+index e743755..85a4f64 100644
+--- a/prog/dump/isaset.c
++++ b/prog/dump/isaset.c
+@@ -32,13 +32,7 @@
+ #include <string.h>
+ #include "util.h"
+
+-
+-/* To keep glibc2 happy */
+-#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0
+ #include <sys/io.h>
+-#else
+-#include <asm/io.h>
+-#endif
+
+ #ifdef __powerpc__
+ unsigned long isa_io_base = 0; /* XXX for now */
+diff --git a/prog/dump/superio.c b/prog/dump/superio.c
+index 64ef27b..906fe55 100644
+--- a/prog/dump/superio.c
++++ b/prog/dump/superio.c
+@@ -20,12 +20,7 @@
+ */
+
+ #include <stdlib.h>
+-
+-#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0
+ #include <sys/io.h>
+-#else
+-#include <asm/io.h>
+-#endif
+
+ #include "superio.h"
+
+diff --git a/prog/dump/util.c b/prog/dump/util.c
+index 874c1b9..197fa64 100644
+--- a/prog/dump/util.c
++++ b/prog/dump/util.c
+@@ -11,12 +11,7 @@
+ #include <stdio.h>
+ #include "util.h"
+
+-/* To keep glibc2 happy */
+-#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0
+ #include <sys/io.h>
+-#else
+-#include <asm/io.h>
+-#endif
+
+ /* Return 1 if we should continue, 0 if we should abort */
+ int user_ack(int def)
+--
+2.13.3
+
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 dbc05a898..454a69f40 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
@@ -11,6 +11,7 @@ SRC_URI = "https://github.com/groeck/lm-sensors/archive/V3-4-0.tar.gz \
file://fancontrol.init \
file://sensord.init \
file://0001-lmsensors-sensors-detect-print-a-special-message-whe.patch \
+ file://0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch \
"
SRC_URI[md5sum] = "1e9f117cbfa11be1955adc96df71eadb"
SRC_URI[sha256sum] = "e334c1c2b06f7290e3e66bdae330a5d36054701ffd47a5dde7a06f9a7402cb4e"
@@ -37,6 +38,11 @@ EXTRA_OEMAKE = 'EXLDFLAGS="${LDFLAGS}" \
CC="${CC}" AR="${AR}"'
do_compile() {
+ sed -i -e 's:^# \(PROG_EXTRA\):\1:' ${S}/Makefile
+ # Respect LDFLAGS
+ sed -i -e 's/\$(LIBDIR)$/\$(LIBDIR) \$(LDFLAGS)/g' ${S}/Makefile
+ sed -i -e 's/\$(LIBSHSONAME) -o/$(LIBSHSONAME) \$(LDFLAGS) -o/g' \
+ ${S}/lib/Module.mk
oe_runmake user PROG_EXTRA="sensors sensord"
}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/logwarn/logwarn_1.0.14.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/logwarn/logwarn_1.0.14.bb
new file mode 100644
index 000000000..5ae36bb67
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/logwarn/logwarn_1.0.14.bb
@@ -0,0 +1,52 @@
+SUMMARY = "A utility for finding interesting messages in log files"
+DESCRIPTION = "Logwarn searches for interesting messages in log files, \
+ where 'interesting' is defined by a user-supplied list of positive and \
+ negative extended regular expressions. \
+"
+HOMEPAGE = "https://github.com/archiecobbs/logwarn/wiki"
+SECTION = "console/utils"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI = "https://s3.amazonaws.com/archie-public/${BPN}/${BP}.tar.gz"
+
+SRC_URI[md5sum] = "e544a6230673ea54f7430bf817bb39d8"
+SRC_URI[sha256sum] = "8dbfcf9b28c782ab3bddd6a620d4fb95d1b0ffcbe93276996cdc4800aa9aebd1"
+
+inherit autotools-brokensep
+
+# This directory is NOT volatile.
+#
+lcl_default_state_dir = "${localstatedir}/lib/logwarn"
+
+CFLAGS += '-DDEFAULT_STATE_DIR=\""${lcl_default_state_dir}\""'
+
+CACHED_CONFIGUREVARS += " \
+ ac_cv_path_BASH_SHELL=${base_bindir}/bash \
+ ac_cv_path_CAT=${base_bindir}/cat \
+ ac_cv_path_RM=${base_bindir}/rm \
+ ac_cv_path_SED=${base_bindir}/sed \
+"
+
+# Make sure some files exist for autoreconf.
+#
+do_configure_prepend () {
+ touch ${S}/NEWS
+ touch ${S}/ChangeLog
+ touch ${S}/README
+}
+
+# Create a directory for logfile state info, usually under /var/lib.
+#
+do_install_append () {
+ install -d ${D}${lcl_default_state_dir}
+}
+
+# Make a package for the nagios plug-in (script).
+#
+PACKAGES += "${PN}-nagios"
+
+FILES_${PN}-nagios = "${nonarch_libdir}/nagios"
+
+RDEPENDS_${PN}-nagios += "bash coreutils sed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/0005-do-not-build-manual.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/0005-do-not-build-manual.patch
new file mode 100644
index 000000000..15aa9f500
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/0005-do-not-build-manual.patch
@@ -0,0 +1,58 @@
+From d8bb25e34d6533ba78eaae697771ee499a66706f Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 2 Aug 2017 03:41:37 -0400
+Subject: [PATCH] do not build manual
+
+On some host (ubuntu 1404), build manual failed.
+...
+./tools/man-generator --primary lvscan lvscan.8_des
+Failed to stat description file lvscan.8_des.
+...
+
+Do not build man to workaround the issue.
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ Makefile.in | 4 ++--
+ configure.in | 1 -
+ 2 files changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 31d428d..24f89a2 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -18,7 +18,7 @@ top_builddir = @top_builddir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
+
+-SUBDIRS = conf daemons include lib libdaemon libdm man scripts tools
++SUBDIRS = conf daemons include lib libdaemon libdm scripts tools
+
+ ifeq ("@UDEV_RULES@", "yes")
+ SUBDIRS += udev
+@@ -69,7 +69,7 @@ liblvm.device-mapper: include.device-mapper
+ daemons.device-mapper: libdm.device-mapper
+ tools.device-mapper: libdm.device-mapper
+ scripts.device-mapper: include.device-mapper
+-device-mapper: tools.device-mapper daemons.device-mapper man.device-mapper
++device-mapper: tools.device-mapper daemons.device-mapper
+
+ ifeq ("@INTL@", "yes")
+ lib.pofile: include.pofile
+diff --git a/configure.in b/configure.in
+index 1dc8819..108ace4 100644
+--- a/configure.in
++++ b/configure.in
+@@ -2213,7 +2213,6 @@ libdm/Makefile
+ libdm/libdevmapper.pc
+ liblvm/Makefile
+ liblvm/liblvm2app.pc
+-man/Makefile
+ po/Makefile
+ python/Makefile
+ python/setup.py
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/0006-start-lvm2-monitor.service-after-tmp.mount.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/0006-start-lvm2-monitor.service-after-tmp.mount.patch
new file mode 100644
index 000000000..0e68d62fc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/0006-start-lvm2-monitor.service-after-tmp.mount.patch
@@ -0,0 +1,32 @@
+From 24a2c47fd01dde1710f1fa66f5c30ce7010c5956 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 21 Sep 2017 15:28:10 +0800
+Subject: [PATCH] start lvm2-monitor.service after tmp.mount
+
+The lvm2-monitor.service reqires the existence of locking_dir
+("/tmp/lock/lvm"), and unit tmp.mount is to mount /tmp.
+So start lvm2-monitor.service after tmp.mount
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ scripts/lvm2_monitoring_systemd_red_hat.service.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/scripts/lvm2_monitoring_systemd_red_hat.service.in b/scripts/lvm2_monitoring_systemd_red_hat.service.in
+index 22238b7..93b2bee 100644
+--- a/scripts/lvm2_monitoring_systemd_red_hat.service.in
++++ b/scripts/lvm2_monitoring_systemd_red_hat.service.in
+@@ -2,7 +2,7 @@
+ Description=Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling
+ Documentation=man:dmeventd(8) man:lvcreate(8) man:lvchange(8) man:vgchange(8)
+ Requires=dm-event.socket lvm2-lvmetad.socket
+-After=dm-event.socket dm-event.service lvm2-lvmetad.socket lvm2-activation.service lvm2-lvmetad.service
++After=dm-event.socket dm-event.service lvm2-lvmetad.socket lvm2-activation.service lvm2-lvmetad.service tmp.mount
+ Before=local-fs-pre.target
+ DefaultDependencies=no
+ Conflicts=shutdown.target
+--
+1.8.3.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/lvm.conf b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/lvm.conf
index 9e3b5fe29..c2bb85d8b 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/lvm.conf
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/lvm.conf
@@ -214,7 +214,7 @@ global {
# Local non-LV directory that holds file-based locks while commands are
# in progress. A directory like /tmp that may get wiped on reboot is OK.
- locking_dir = "/var/lock/lvm"
+ locking_dir = "/tmp/lock/lvm"
# Other entries can go here to allow you to load shared libraries
# e.g. if support for LVM1 metadata was compiled as a shared library use
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.02.166.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.02.166.bb
deleted file mode 100644
index 462e8fb01..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.02.166.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-require lvm2.inc
-
-SRC_URI[md5sum] = "c5a54ee0b86703daaad6e856439e115a"
-SRC_URI[sha256sum] = "e120b066b85b224552efda40204488c5123de068725676fd6e5c8bc655051b94"
-
-DEPENDS += "autoconf-archive-native"
-
-PACKAGECONFIG = ""
-
-# Unset user/group to unbreak install.
-EXTRA_OECONF = "--with-user= \
- --with-group= \
- --enable-pkgconfig \
- --with-usrlibdir=${libdir} \
-"
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-do_install_append() {
- # Remove things unrelated to libdevmapper
- rm -rf ${D}${sysconfdir}
- for i in `ls ${D}${sbindir}/*`; do
- if [ $i != ${D}${sbindir}/dmsetup ]; then
- rm $i
- fi
- done
- # Remove docs
- rm -rf ${D}${datadir}
-}
-
-RRECOMMENDS_${PN} += "lvm2-udevrules"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.02.171.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.02.171.bb
new file mode 100644
index 000000000..b6ae90240
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.02.171.bb
@@ -0,0 +1,16 @@
+require lvm2.inc
+
+SRC_URI[md5sum] = "153b7bb643eb26073274968e9026fa8f"
+SRC_URI[sha256sum] = "b815a711a2fabaa5c3dc1a4a284df0268bf0f325f0fc0f5c9530c9bbb54b9964"
+
+DEPENDS += "autoconf-archive-native"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' -C libdm install
+}
+
+RRECOMMENDS_${PN}_append_class-target = " lvm2-udevrules"
+
+BBCLASSEXTEND = "native nativesdk"
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 cb5a9e042..289e07d8d 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
@@ -1,3 +1,4 @@
+HOMEPAGE = "https://www.sourceware.org/lvm2/"
SECTION = "utils"
DESCRIPTION = "LVM2 is a set of utilities to manage logical volumes in Linux."
LICENSE = "GPLv2 & LGPLv2"
@@ -13,16 +14,25 @@ SRC_URI = "ftp://sources.redhat.com/pub/lvm2/old/LVM2.${PV}.tgz \
file://0003-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch \
file://0004-tweak-MODPROBE_CMD-for-cross-compile.patch \
file://0001-Avoid-bashisms-in-init-scripts.patch \
+ file://0005-do-not-build-manual.patch \
+ file://0006-start-lvm2-monitor.service-after-tmp.mount.patch \
"
S = "${WORKDIR}/LVM2.${PV}"
-inherit autotools-brokensep pkgconfig systemd
+inherit autotools-brokensep pkgconfig systemd license
+
+LVM2_PACKAGECONFIG = "dmeventd lvmetad"
+LVM2_PACKAGECONFIG_append_class-target = " \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \
+ ${@incompatible_license_contains('GPLv3', '', 'thin-provisioning-tools', d)} \
+ udev \
+"
# odirect is always enabled because there currently is a bug in
# lib/device/dev-io.c which prevents compiling without it. It is
# better to stick to configurations that were actually tested by
# upstream...
-PACKAGECONFIG_append = " odirect"
+PACKAGECONFIG ??= "odirect ${LVM2_PACKAGECONFIG}"
PACKAGECONFIG[dmeventd] = "--enable-dmeventd,--disable-dmeventd"
PACKAGECONFIG[lvmetad] = "--enable-lvmetad,--disable-lvmetad"
@@ -31,3 +41,20 @@ 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[udev] = "--enable-udev_sync --enable-udev_rules --with-udevdir=${nonarch_base_libdir}/udev/rules.d,--disable-udev_sync --disable-udev_rules,udev"
+
+# Unset user/group to unbreak install.
+EXTRA_OECONF = "--with-user= \
+ --with-group= \
+ --enable-realtime \
+ --enable-applib \
+ --enable-cmdlib \
+ --enable-pkgconfig \
+ --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 \
+"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-explicitly-do-not-install-libdm.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-explicitly-do-not-install-libdm.patch
new file mode 100644
index 000000000..e85818dbd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-explicitly-do-not-install-libdm.patch
@@ -0,0 +1,36 @@
+From 0a8e466fcf99622896e070c5133165e4278e8cfb Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 25 May 2017 05:27:11 -0400
+Subject: [PATCH] explicitly do not install libdm
+
+Already have package libdevmapper which split from lvm2,
+explicitly do not do the installation here.
+
+Upstream-Status: Inappropriate [meta-oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ libdm/Makefile.in | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/libdm/Makefile.in b/libdm/Makefile.in
+index 3c9a4ce..45c91c6 100644
+--- a/libdm/Makefile.in
++++ b/libdm/Makefile.in
+@@ -77,9 +77,11 @@ ifeq ("@PKGCONFIG@", "yes")
+ INSTALL_TYPE += install_pkgconfig
+ endif
+
+-install: $(INSTALL_TYPE) install_include
++install:
++ echo "Do not install device mappler in lvm2"
+
+-install_device-mapper: install
++install_device-mapper:
++ echo "Do not install device mappler in lvm2"
+
+ install_include: $(srcdir)/libdevmapper.h
+ $(INSTALL_DATA) -D $< $(includedir)/$(<F)
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.02.166.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.02.166.bb
deleted file mode 100644
index 7939f0552..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.02.166.bb
+++ /dev/null
@@ -1,81 +0,0 @@
-require lvm2.inc
-
-SRC_URI[md5sum] = "c5a54ee0b86703daaad6e856439e115a"
-SRC_URI[sha256sum] = "e120b066b85b224552efda40204488c5123de068725676fd6e5c8bc655051b94"
-
-DEPENDS += "autoconf-archive-native"
-
-LVM2_PACKAGECONFIG = "dmeventd lvmetad"
-LVM2_PACKAGECONFIG_append_class-target = " \
- ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \
- thin-provisioning-tools \
- udev \
-"
-
-PACKAGECONFIG ??= "${LVM2_PACKAGECONFIG}"
-
-# Unset user/group to unbreak install.
-EXTRA_OECONF = "--with-user= \
- --with-group= \
- --enable-realtime \
- --enable-applib \
- --enable-cmdlib \
- --enable-pkgconfig \
- --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 -d ${D}${sysconfdir}/lvm
- install -m 0644 ${WORKDIR}/lvm.conf ${D}${sysconfdir}/lvm/lvm.conf
- sed -i -e 's:@libdir@:${libdir}:g' ${D}${sysconfdir}/lvm/lvm.conf
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- oe_runmake 'DESTDIR=${D}' install install_systemd_units
- sed -i -e 's:/usr/bin/true:${base_bindir}/true:g' ${D}${systemd_system_unitdir}/blk-availability.service
- else
- oe_runmake 'DESTDIR=${D}' install install_initscripts
- mv ${D}${sysconfdir}/rc.d/init.d ${D}${sysconfdir}/init.d
- rm -rf ${D}${sysconfdir}/rc.d
- fi
- # Remove things related to libdevmapper
- rm -f ${D}${sbindir}/dmsetup
- rm -f ${D}${libdir}/libdevmapper.so.*
- rm -f ${D}${libdir}/libdevmapper.so ${D}${libdir}/pkgconfig/devmapper.pc ${D}${includedir}/libdevmapper.h
-}
-
-PACKAGE_BEFORE_PN = "${PN}-scripts ${PN}-udevrules"
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'dmeventd', 'lvm2-monitor.service dm-event.socket dm-event.service', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'lvmetad', 'lvm2-lvmetad.socket lvm2-pvscan@.service', '', d)} \
- blk-availability.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-FILES_${PN} += "${libdir}/device-mapper/*.so"
-FILES_${PN}-scripts = " \
- ${sbindir}/blkdeactivate \
- ${sbindir}/fsadm \
- ${sbindir}/lvmconf \
- ${sbindir}/lvmdump \
-"
-# Specified explicitly for the udev rules, just in case that it does not get picked
-# up automatically:
-FILES_${PN}-udevrules = "${nonarch_base_libdir}/udev/rules.d"
-RDEPENDS_${PN}_append_class-target = " libdevmapper"
-
-RDEPENDS_${PN}-scripts = "${PN} (= ${EXTENDPKGV}) bash"
-RRECOMMENDS_${PN}_class-target = "${PN}-scripts (= ${EXTENDPKGV})"
-
-CONFFILES_${PN} += "${sysconfdir}/lvm/lvm.conf"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.02.171.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.02.171.bb
new file mode 100644
index 000000000..84881e744
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.02.171.bb
@@ -0,0 +1,54 @@
+require lvm2.inc
+
+SRC_URI[md5sum] = "153b7bb643eb26073274968e9026fa8f"
+SRC_URI[sha256sum] = "b815a711a2fabaa5c3dc1a4a284df0268bf0f325f0fc0f5c9530c9bbb54b9964"
+
+SRC_URI += "file://0001-explicitly-do-not-install-libdm.patch"
+
+DEPENDS += "autoconf-archive-native"
+
+CACHED_CONFIGUREVARS += "MODPROBE_CMD=${base_sbindir}/modprobe"
+
+do_install_append() {
+ # Install machine specific configuration file
+ install -d ${D}${sysconfdir}/lvm
+ install -m 0644 ${WORKDIR}/lvm.conf ${D}${sysconfdir}/lvm/lvm.conf
+ sed -i -e 's:@libdir@:${libdir}:g' ${D}${sysconfdir}/lvm/lvm.conf
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ oe_runmake 'DESTDIR=${D}' install install_systemd_units
+ sed -i -e 's:/usr/bin/true:${base_bindir}/true:g' ${D}${systemd_system_unitdir}/blk-availability.service
+ else
+ oe_runmake 'DESTDIR=${D}' install install_initscripts
+ mv ${D}${sysconfdir}/rc.d/init.d ${D}${sysconfdir}/init.d
+ rm -rf ${D}${sysconfdir}/rc.d
+ fi
+}
+
+PACKAGE_BEFORE_PN = "${PN}-scripts ${PN}-udevrules"
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'dmeventd', 'lvm2-monitor.service dm-event.socket dm-event.service', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'lvmetad', 'lvm2-lvmetad.socket lvm2-pvscan@.service', '', d)} \
+ blk-availability.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+FILES_${PN} += "${libdir}/device-mapper/*.so"
+FILES_${PN}-scripts = " \
+ ${sbindir}/blkdeactivate \
+ ${sbindir}/fsadm \
+ ${sbindir}/lvmconf \
+ ${sbindir}/lvmdump \
+"
+# Specified explicitly for the udev rules, just in case that it does not get picked
+# up automatically:
+FILES_${PN}-udevrules = "${nonarch_base_libdir}/udev/rules.d"
+RDEPENDS_${PN}_append_class-target = " libdevmapper"
+
+RDEPENDS_${PN}-scripts = "${PN} (= ${EXTENDPKGV}) bash"
+RRECOMMENDS_${PN}_class-target = "${PN}-scripts (= ${EXTENDPKGV})"
+
+CONFFILES_${PN} += "${sysconfdir}/lvm/lvm.conf"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lzip/lzip_1.16.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/lzip/lzip_1.16.bb
deleted file mode 100644
index a5d99625a..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/lzip/lzip_1.16.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "Lossless data compressor based on the LZMA algorithm"
-HOMEPAGE = "http://lzip.nongnu.org/lzip.html"
-SECTION = "console/utils"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=76d6e300ffd8fb9d18bd9b136a9bba13 \
- file://decoder.cc;endline=16;md5=0809128ac32163252846e09a70c8b80b"
-
-SRC_URI = "${SAVANNAH_GNU_MIRROR}/lzip/lzip-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "716a9876dc595ec52d4f3bda81e42471"
-SRC_URI[sha256sum] = "128cc25baf92c8b69700831e6f984d954016318cc78edca87870d0c033112751"
-
-CONFIGUREOPTS = "\
- '--srcdir=${S}' \
- '--prefix=${prefix}' \
- '--exec-prefix=${exec_prefix}' \
- '--bindir=${bindir}' \
- '--datadir=${datadir}' \
- '--infodir=${infodir}' \
- '--sysconfdir=${sysconfdir}' \
- 'CXX=${CXX}' \
- 'CPPFLAGS=${CPPFLAGS}' \
- 'CXXFLAGS=${CXXFLAGS}' \
- 'LDFLAGS=${LDFLAGS}' \
-"
-EXTRA_OEMAKE = ""
-
-B = "${S}/obj"
-do_configure () {
- ${S}/configure ${CONFIGUREOPTS}
-}
-
-do_install () {
- oe_runmake 'DESTDIR=${D}' install
- # Info dir listing isn't interesting at this point so remove it if it exists.
- if [ -e "${D}${infodir}/dir" ]; then
- rm -f ${D}${infodir}/dir
- fi
-}
-
-BBCLASSEXTEND = "native nativesdk"
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
deleted file mode 100644
index 58b8f029e..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.46.bb
+++ /dev/null
@@ -1,25 +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"
-
-LICENSE = "PD & MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=100fcfb84512ccc03ffc7d89ac391305"
-
-SRC_URI = "https://releases.pagure.org/${BPN}/${BP}.tar.xz"
-
-SRC_URI[md5sum] = "d865a1baf574ae5d309f5c1f79315800"
-SRC_URI[sha256sum] = "c68eb3b531d731476d5980c9b7cc287bd64c2a13bec5a537009a2c4af63f9bb0"
-
-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.48.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.48.bb
new file mode 100644
index 000000000..114ce4607
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.48.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Helper application and MIME type associations for file types"
+HOMEPAGE = "https://pagure.io/mailcap"
+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"
+
+LICENSE = "PD & MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=100fcfb84512ccc03ffc7d89ac391305"
+
+SRC_URI = "https://releases.pagure.org/${BPN}/${BP}.tar.xz"
+
+SRC_URI[md5sum] = "2c26e18e912a5cf00318fcf7f8f2d747"
+SRC_URI[sha256sum] = "d7b023b237d6053bf05ff6786e0663c55c614efcc99cdf856120be13b5c29157"
+
+do_install() {
+ oe_runmake install DESTDIR=${D} sysconfdir=${sysconfdir} mandir=${mandir}
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch
new file mode 100644
index 000000000..5da34480e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch
@@ -0,0 +1,36 @@
+From fbfceebce2121831904f2f7115252dd03b413a6d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 19 Sep 2017 18:52:53 -0700
+Subject: [PATCH] IntelRDFPMathLib20U1: Check for __DEFINED_wchar_t
+
+This is defined by musl if wchar_t is already defined
+
+avoids errors like
+
+src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h:46:15: error: typedef redefinition with different types
+ ('int' vs 'unsigned int')
+typedef int wchar_t;
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h b/src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h
+index 2b3f76db86..cc80305775 100755
+--- a/src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h
++++ b/src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h
+@@ -42,7 +42,7 @@
+ #include <ctype.h>
+
+ // Fix system header issue on Sun solaris and define required type by ourselves
+-#if !defined(_WCHAR_T) && !defined(_WCHAR_T_DEFINED) && !defined(__QNX__)
++#if !defined(_WCHAR_T) && !defined(_WCHAR_T_DEFINED) && !defined(__QNX__) && !defined(__DEFINED_wchar_t)
+ typedef int wchar_t;
+ #endif
+
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch
new file mode 100644
index 000000000..f8c419d8a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch
@@ -0,0 +1,50 @@
+From 3eed8388b49d5d3cbc2db74fee1b017eb4b40d0a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 2 Sep 2017 10:06:24 -0700
+Subject: [PATCH] Use __GLIBC__ to control use of gnu_get_libc_version
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+ src/mongo/util/processinfo_linux.cpp | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/src/mongo/util/processinfo_linux.cpp b/src/mongo/util/processinfo_linux.cpp
+index 910015215e..bf8c1ffd15 100644
+--- a/src/mongo/util/processinfo_linux.cpp
++++ b/src/mongo/util/processinfo_linux.cpp
+@@ -40,7 +40,7 @@
+ #include <sys/mman.h>
+ #include <sys/utsname.h>
+ #include <unistd.h>
+-#ifdef __UCLIBC__
++#ifndef __GLIBC__
+ #include <features.h>
+ #else
+ #include <gnu/libc-version.h>
+@@ -451,11 +451,13 @@ double ProcessInfo::getSystemMemoryPressurePercentage() {
+ }
+
+ void ProcessInfo::getExtraInfo(BSONObjBuilder& info) {
++#if defined(__GLIBC__)
+ LinuxProc p(_pid);
+ if (p._maj_flt <= std::numeric_limits<long long>::max())
+ info.appendNumber("page_faults", static_cast<long long>(p._maj_flt));
+ else
+ info.appendNumber("page_faults", static_cast<double>(p._maj_flt));
++#endif
+ }
+
+ /**
+@@ -491,7 +493,7 @@ void ProcessInfo::SystemInfo::collectSystemInfo() {
+ stringstream ss;
+ ss << "uClibc-" << __UCLIBC_MAJOR__ << "." << __UCLIBC_MINOR__ << "." << __UCLIBC_SUBLEVEL__;
+ bExtra.append("libcVersion", ss.str());
+-#else
++#elif defined(__GLIBC__)
+ bExtra.append("libcVersion", gnu_get_libc_version());
+ #endif
+ if (!verSig.empty())
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch
new file mode 100644
index 000000000..c43beb4c1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch
@@ -0,0 +1,67 @@
+From a4951489d649c2b609cbb80f6cfb49fdcad8bd43 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 2 Sep 2017 10:03:37 -0700
+Subject: [PATCH] Use long long instead of int64_t
+
+Fixes
+error: call to member function 'appendNumber' is ambiguous
+since this function expects long long as parameter and not int64_t
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+ src/mongo/util/procparser.cpp | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/mongo/util/procparser.cpp b/src/mongo/util/procparser.cpp
+index 36f2ae0254..2c164bcbf3 100644
+--- a/src/mongo/util/procparser.cpp
++++ b/src/mongo/util/procparser.cpp
+@@ -260,7 +260,7 @@ Status parseProcStat(const std::vector<StringData>& keys,
+
+ StringData stringValue((*partIt).begin(), (*partIt).end() - (*partIt).begin());
+
+- uint64_t value;
++ long long value;
+
+ if (!parseNumberFromString(stringValue, &value).isOK()) {
+ value = 0;
+@@ -272,7 +272,7 @@ Status parseProcStat(const std::vector<StringData>& keys,
+ } else {
+ StringData stringValue((*partIt).begin(), (*partIt).end() - (*partIt).begin());
+
+- uint64_t value;
++ long long value;
+
+ if (!parseNumberFromString(stringValue, &value).isOK()) {
+ value = 0;
+@@ -365,7 +365,7 @@ Status parseProcMemInfo(const std::vector<StringData>& keys,
+
+ StringData stringValue((*partIt).begin(), (*partIt).end());
+
+- uint64_t value;
++ long long value;
+
+ if (!parseNumberFromString(stringValue, &value).isOK()) {
+ value = 0;
+@@ -426,7 +426,7 @@ Status parseProcDiskStats(const std::vector<StringData>& disks,
+ StringData data,
+ BSONObjBuilder* builder) {
+ bool foundKeys = false;
+- std::vector<uint64_t> stats;
++ std::vector<long long> stats;
+ stats.reserve(kDiskFieldCount);
+
+ using string_split_iterator = boost::split_iterator<StringData::const_iterator>;
+@@ -501,7 +501,7 @@ Status parseProcDiskStats(const std::vector<StringData>& disks,
+
+ StringData stringValue((*partIt).begin(), (*partIt).end());
+
+- uint64_t value;
++ long long value;
+
+ if (!parseNumberFromString(stringValue, &value).isOK()) {
+ value = 0;
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-Use-strerror_r-only-on-glibc-systems.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-Use-strerror_r-only-on-glibc-systems.patch
new file mode 100644
index 000000000..0334d994e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-Use-strerror_r-only-on-glibc-systems.patch
@@ -0,0 +1,26 @@
+From a4dfc92ff342e59596ab64267a8d4f22f173c23b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 2 Sep 2017 12:40:41 -0700
+Subject: [PATCH 1/4] Use strerror_r only on glibc systems
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/mongo/util/log.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/mongo/util/log.cpp b/src/mongo/util/log.cpp
+index 1957eb4791..ddf3908818 100644
+--- a/src/mongo/util/log.cpp
++++ b/src/mongo/util/log.cpp
+@@ -101,7 +101,7 @@ string errnoWithDescription(int errNumber) {
+ char buf[kBuflen];
+ char* msg{nullptr};
+
+-#if defined(__GNUC__) && defined(_GNU_SOURCE)
++#if defined(__GNUC__) && defined(_GNU_SOURCE) && defined(__GLIBC__)
+ msg = strerror_r(errNumber, buf, kBuflen);
+ #elif defined(_WIN32)
+
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-mongo-Add-using-std-string.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-mongo-Add-using-std-string.patch
new file mode 100644
index 000000000..e517d53d1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-mongo-Add-using-std-string.patch
@@ -0,0 +1,72 @@
+From 5fdec9592285f5976345fbccb3d07fae1245ab53 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 2 Aug 2017 15:41:22 -0700
+Subject: [PATCH] mongo: Add using std::string
+
+This is needed with latest clang
+Fixes
+src/mongo/db/dbwebserver.cpp:206:23: error: use of undeclared identifier 'string'; did you mean 'String'?
+ static vector<string> commands;
+ ^~~~~~
+ String
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/mongo/db/dbwebserver.cpp | 1 +
+ src/mongo/db/matcher/expression_leaf.cpp | 2 ++
+ src/mongo/db/repl/master_slave.cpp | 1 +
+ src/mongo/util/net/miniwebserver.cpp | 1 +
+ 4 files changed, 5 insertions(+)
+
+diff --git a/src/mongo/db/dbwebserver.cpp b/src/mongo/db/dbwebserver.cpp
+index b202e0500b..0255613524 100644
+--- a/src/mongo/db/dbwebserver.cpp
++++ b/src/mongo/db/dbwebserver.cpp
+@@ -67,6 +67,7 @@ namespace mongo {
+ using std::map;
+ using std::stringstream;
+ using std::vector;
++using std::string;
+
+ using namespace html;
+
+diff --git a/src/mongo/db/matcher/expression_leaf.cpp b/src/mongo/db/matcher/expression_leaf.cpp
+index d562bff141..4d931985e2 100644
+--- a/src/mongo/db/matcher/expression_leaf.cpp
++++ b/src/mongo/db/matcher/expression_leaf.cpp
+@@ -44,6 +44,8 @@
+ #include "mongo/stdx/memory.h"
+ #include "mongo/util/mongoutils/str.h"
+
++using std::string;
++
+ namespace mongo {
+
+ Status LeafMatchExpression::setPath(StringData path) {
+diff --git a/src/mongo/db/repl/master_slave.cpp b/src/mongo/db/repl/master_slave.cpp
+index 05faad1259..ea25d7151b 100644
+--- a/src/mongo/db/repl/master_slave.cpp
++++ b/src/mongo/db/repl/master_slave.cpp
+@@ -78,6 +78,7 @@ using std::endl;
+ using std::max;
+ using std::min;
+ using std::set;
++using std::string;
+ using std::stringstream;
+ using std::unique_ptr;
+ using std::vector;
+diff --git a/src/mongo/util/net/miniwebserver.cpp b/src/mongo/util/net/miniwebserver.cpp
+index 5f4165d42f..239720c349 100644
+--- a/src/mongo/util/net/miniwebserver.cpp
++++ b/src/mongo/util/net/miniwebserver.cpp
+@@ -46,6 +46,7 @@ namespace mongo {
+
+ using std::shared_ptr;
+ using std::stringstream;
++using std::string;
+ using std::vector;
+
+ MiniWebServer::MiniWebServer(const string& name, const string& ip, int port, ServiceContext* ctx)
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch
new file mode 100644
index 000000000..098306f50
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch
@@ -0,0 +1,35 @@
+From df7ef16afcc6ab55daa686e4f15c16e3d1280337 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 2 Sep 2017 12:42:30 -0700
+Subject: [PATCH 2/4] Add a definition for the macro __ELF_NATIVE_CLASS
+
+It depends on the native arch's word size.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/mongo/util/stacktrace_posix.cpp | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/src/mongo/util/stacktrace_posix.cpp b/src/mongo/util/stacktrace_posix.cpp
+index 53ab85f56f..7c458e7ef2 100644
+--- a/src/mongo/util/stacktrace_posix.cpp
++++ b/src/mongo/util/stacktrace_posix.cpp
+@@ -37,6 +37,15 @@
+ #include <string>
+ #include <sys/utsname.h>
+
++#if !defined(__GLIBC__)
++#if defined __x86_64__ && !defined __ILP32__
++# define __WORDSIZE 64
++#else
++# define __WORDSIZE 32
++#endif
++#define __ELF_NATIVE_CLASS __WORDSIZE
++#endif
++
+ #include "mongo/base/init.h"
+ #include "mongo/config.h"
+ #include "mongo/db/jsobj.h"
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0002-d_state.cpp-Add-missing-dependenncy-on-local_shardin.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0002-d_state.cpp-Add-missing-dependenncy-on-local_shardin.patch
new file mode 100644
index 000000000..95f9c1c1c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0002-d_state.cpp-Add-missing-dependenncy-on-local_shardin.patch
@@ -0,0 +1,28 @@
+From 5759878e5d278f11a1063e8fccd1e6b7b54caadf Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 2 Aug 2017 16:25:37 -0700
+Subject: [PATCH 2/2] d_state.cpp: Add missing dependenncy on
+ local_sharding_info
+
+Fixes
+| src/mongo/s/d_state.cpp:81: error: undefined reference to 'mongo::enableLocalShardingInfo(mongo::ServiceContext*, std::function<bool (mongo::OperationContext*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)>)'
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/mongo/s/SConscript | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/mongo/s/SConscript b/src/mongo/s/SConscript
+index 71720be517..51bd199127 100644
+--- a/src/mongo/s/SConscript
++++ b/src/mongo/s/SConscript
+@@ -317,5 +317,6 @@ env.Library(
+ "$BUILD_DIR/mongo/db/s/sharding",
+ "$BUILD_DIR/mongo/executor/network_interface_factory",
+ "$BUILD_DIR/mongo/s/client/shard_local",
++ "$BUILD_DIR/mongo/s/local_sharding_info",
+ ],
+ )
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0003-Conditionalize-glibc-specific-strerror_r.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0003-Conditionalize-glibc-specific-strerror_r.patch
new file mode 100644
index 000000000..1591f94c9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0003-Conditionalize-glibc-specific-strerror_r.patch
@@ -0,0 +1,39 @@
+From 458f80f482a201b427a1c92235804d0c3f98fd51 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 2 Sep 2017 13:01:11 -0700
+Subject: [PATCH 3/4] Conditionalize glibc specific strerror_r
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ .../asio-asio-1-11-0/asio/include/asio/impl/error_code.ipp | 11 ++++-------
+ 1 file changed, 4 insertions(+), 7 deletions(-)
+
+diff --git a/src/third_party/asio-asio-1-11-0/asio/include/asio/impl/error_code.ipp b/src/third_party/asio-asio-1-11-0/asio/include/asio/impl/error_code.ipp
+index 4e7badb14a..0eeae884e2 100644
+--- a/src/third_party/asio-asio-1-11-0/asio/include/asio/impl/error_code.ipp
++++ b/src/third_party/asio-asio-1-11-0/asio/include/asio/impl/error_code.ipp
+@@ -97,17 +97,14 @@ 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__)
++#elif defined(__GLIBC__) && defined(_GNU_SOURCE)
++ char buf[256] = "";
++ return strerror_r(value, buf, sizeof(buf));
++#else
+ 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));
+ #endif
+ #endif // defined(ASIO_WINDOWS)
+ }
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0004-wiredtiger-Disable-strtouq-on-musl.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0004-wiredtiger-Disable-strtouq-on-musl.patch
new file mode 100644
index 000000000..e871f2ba9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0004-wiredtiger-Disable-strtouq-on-musl.patch
@@ -0,0 +1,26 @@
+From a1c77702926eb8546ff96b00b5b994f7478dabae Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 2 Sep 2017 13:13:15 -0700
+Subject: [PATCH 4/4] wiredtiger: Disable strtouq on musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/third_party/wiredtiger/build_linux/wiredtiger_config.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/third_party/wiredtiger/build_linux/wiredtiger_config.h b/src/third_party/wiredtiger/build_linux/wiredtiger_config.h
+index 1122e1e319..fdfd48687b 100644
+--- a/src/third_party/wiredtiger/build_linux/wiredtiger_config.h
++++ b/src/third_party/wiredtiger/build_linux/wiredtiger_config.h
+@@ -101,7 +101,7 @@
+ #define HAVE_STRING_H 1
+
+ /* Define to 1 if you have the `strtouq' function. */
+-#define HAVE_STRTOUQ 1
++/* #undef HAVE_STRTOUQ 1 */
+
+ /* Define to 1 if you have the `sync_file_range' function. */
+ /* #undef HAVE_SYNC_FILE_RANGE */
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/arm64-support.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/arm64-support.patch
new file mode 100644
index 000000000..9046bb2f4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/arm64-support.patch
@@ -0,0 +1,43 @@
+Add alises for arm64 which is same as aarch64
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+Index: git/SConstruct
+===================================================================
+--- git.orig/SConstruct
++++ git/SConstruct
+@@ -990,6 +990,7 @@ elif endian == "big":
+ processor_macros = {
+ 'arm' : { 'endian': 'little', 'defines': ('__arm__',) },
+ 'aarch64' : { 'endian': 'little', 'defines': ('__arm64__', '__aarch64__')},
++ 'arm64' : { 'endian': 'little', 'defines': ('__arm64__', '__aarch64__')},
+ 'i386' : { 'endian': 'little', 'defines': ('__i386', '_M_IX86')},
+ 'ppc64le' : { 'endian': 'little', 'defines': ('__powerpc64__',)},
+ 's390x' : { 'endian': 'big', 'defines': ('__s390x__',)},
+Index: git/src/third_party/IntelRDFPMathLib20U1/SConscript
+===================================================================
+--- git.orig/src/third_party/IntelRDFPMathLib20U1/SConscript
++++ git/src/third_party/IntelRDFPMathLib20U1/SConscript
+@@ -301,7 +301,7 @@ if processor == 'i386':
+ elif processor == 'arm':
+ cpp_defines['IA32'] = '1'
+ cpp_defines['ia32'] = '1'
+-elif processor == "aarch64":
++elif processor == "aarch64" or processor == 'arm64':
+ cpp_defines['efi2'] = '1'
+ cpp_defines['EFI2'] = '1'
+ # Using 64 bit little endian
+Index: git/src/third_party/wiredtiger/SConscript
+===================================================================
+--- git.orig/src/third_party/wiredtiger/SConscript
++++ git/src/third_party/wiredtiger/SConscript
+@@ -139,7 +139,7 @@ condition_map = {
+ 'POSIX_HOST' : not env.TargetOSIs('windows'),
+ 'WINDOWS_HOST' : env.TargetOSIs('windows'),
+
+- 'ARM64_HOST' : env['TARGET_ARCH'] == 'aarch64',
++ 'ARM64_HOST' : env['TARGET_ARCH'] in ('aarch64', 'arm64'),
+ 'POWERPC_HOST' : env['TARGET_ARCH'] == 'ppc64le',
+ 'X86_HOST' : env['TARGET_ARCH'] == 'x86_64',
+ 'ZSERIES_HOST' : env['TARGET_ARCH'] == 's390x',
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/disable-hw-crc32-on-arm64-s390x.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/disable-hw-crc32-on-arm64-s390x.patch
new file mode 100644
index 000000000..5c5c20ce3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/disable-hw-crc32-on-arm64-s390x.patch
@@ -0,0 +1,50 @@
+imported from debian
+
+Upstream-Status: Pending
+Index: git/src/third_party/wiredtiger/SConscript
+===================================================================
+--- git.orig/src/third_party/wiredtiger/SConscript
++++ git/src/third_party/wiredtiger/SConscript
+@@ -169,7 +169,9 @@ if useSnappy:
+ # If not available at runtime, we fall back to software in some cases.
+ #
+ # On zSeries we may disable because SLES 11 kernel doe not support the instructions.
+-if not (env['TARGET_ARCH'] == 's390x' and get_option("use-s390x-crc32") == "off"):
++# Debian: disable hardware-assisted crc32 on s390x and arm64, as at least the
++# buildd's do not support the instructions.
++if env['TARGET_ARCH'] not in ('s390x', 'arm64', 'aarch64'):
+ env.Append(CPPDEFINES=["HAVE_CRC32_HARDWARE"])
+
+ wtlib = env.Library(
+Index: git/src/third_party/wiredtiger/dist/filelist
+===================================================================
+--- git.orig/src/third_party/wiredtiger/dist/filelist
++++ git/src/third_party/wiredtiger/dist/filelist
+@@ -54,7 +54,6 @@ src/checksum/power8/crc32_wrapper.c POWE
+ src/checksum/software/checksum.c
+ src/checksum/x86/crc32-x86.c X86_HOST
+ src/checksum/zseries/crc32-s390x.c ZSERIES_HOST
+-src/checksum/zseries/crc32le-vx.sx ZSERIES_HOST
+ src/config/config.c
+ src/config/config_api.c
+ src/config/config_check.c
+Index: git/src/third_party/wiredtiger/src/checksum/zseries/crc32-s390x.c
+===================================================================
+--- git.orig/src/third_party/wiredtiger/src/checksum/zseries/crc32-s390x.c
++++ git/src/third_party/wiredtiger/src/checksum/zseries/crc32-s390x.c
+@@ -78,6 +78,7 @@ unsigned int __wt_crc32c_le(unsigned int
+ return crc; \
+ }
+
++#if defined(HAVE_CRC32_HARDWARE)
+ /* Main CRC-32 functions */
+ DEFINE_CRC32_VX(__wt_crc32c_le_vx, __wt_crc32c_le_vgfm_16, __wt_crc32c_le)
+
+@@ -90,6 +91,7 @@ __wt_checksum_hw(const void *chunk, size
+ {
+ return (~__wt_crc32c_le_vx(0xffffffff, chunk, len));
+ }
++#endif
+
+ #endif
+
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 f1a65550e..0ff7d0b59 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
@@ -1,18 +1,30 @@
SUMMARY = "mongodb"
-LICENSE = "AGPL-3.0 & Apache-2.0"
+LICENSE = "AGPL-3.0 & Apache-2.0 & Zlib"
LIC_FILES_CHKSUM = "file://GNU-AGPL-3.0.txt;md5=73f1eb20517c55bf9493b7dd6e480788 \
file://APACHE-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
-DEPENDS = "openssl libpcre libpcap zlib"
+DEPENDS = "openssl libpcre libpcap zlib python boost"
-inherit scons
+inherit scons dos2unix siteinfo
-PV = "3.3.0+git${SRCPV}"
-SRCREV = "aacd231be0626a204cb40908afdf62c4b67bb0ad"
-SRC_URI = "git://github.com/mongodb/mongo.git;branch=master \
+PV = "3.4.6+git${SRCPV}"
+SRCREV = "c55eb86ef46ee7aede3b1e2a5d184a7df4bfb5b5"
+SRC_URI = "git://github.com/mongodb/mongo.git;branch=v3.4 \
file://0001-Tell-scons-to-use-build-settings-from-environment-va.patch \
+ file://0001-mongo-Add-using-std-string.patch \
+ file://0002-d_state.cpp-Add-missing-dependenncy-on-local_shardin.patch \
+ file://0001-Use-long-long-instead-of-int64_t.patch \
+ file://0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch \
+ file://0001-Use-strerror_r-only-on-glibc-systems.patch \
+ file://0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch \
+ file://0003-Conditionalize-glibc-specific-strerror_r.patch \
+ file://arm64-support.patch \
+ file://0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch \
+ file://disable-hw-crc32-on-arm64-s390x.patch \
+ "
+SRC_URI_append_libc-musl ="\
+ file://0004-wiredtiger-Disable-strtouq-on-musl.patch \
"
-
S = "${WORKDIR}/git"
# Wiredtiger supports only 64-bit platforms
@@ -22,10 +34,13 @@ PACKAGECONFIG ??= "tcmalloc"
# gperftools compilation fails for arm below v7 because of missing support of
# dmb operation. So we use system-allocator instead of tcmalloc
PACKAGECONFIG_remove_armv6 = "tcmalloc"
+PACKAGECONFIG_remove_libc-musl = "tcmalloc"
#std::current_exception is undefined for arm < v6
COMPATIBLE_MACHINE_armv4 = "(!.*armv4).*"
COMPATIBLE_MACHINE_armv5 = "(!.*armv5).*"
+COMPATIBLE_MACHINE_armv7a = "(!.*armv7a).*"
+COMPATIBLE_MACHINE_armv7ve = "(!.*armv7ve).*"
COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*"
COMPATIBLE_MACHINE_powerpc = "(!.*ppc).*"
@@ -43,9 +58,14 @@ EXTRA_OESCONS = "--prefix=${D}${prefix} \
--use-system-zlib \
--js-engine=none \
--nostrip \
+ --endian=${@base_conditional('SITEINFO_ENDIANNESS', 'le', 'little', 'big', d)} \
${PACKAGECONFIG_CONFARGS} \
mongod mongos"
+do_configure_prepend() {
+ # tests use hex floats, not supported in plain C++
+ sed -e 's|-std=c++11|-std=gnu++11|g' -i ${S}/SConstruct
+}
scons_do_compile() {
${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} ${EXTRA_OESCONS} || \
die "scons build execution failed."
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-kpartx-include-limits.h-for-PATH_MAX.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-kpartx-include-limits.h-for-PATH_MAX.patch
new file mode 100644
index 000000000..46dd8e23b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-kpartx-include-limits.h-for-PATH_MAX.patch
@@ -0,0 +1,29 @@
+From 330028a5a904a0da3788141030e614569dc5aaa7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 14 Jul 2017 23:28:12 -0700
+Subject: [PATCH] kpartx: include limits.h for PATH_MAX
+
+lopart.c:76:12: error: 'PATH_MAX' undeclared (first use in this function); did you mean 'INT8_MAX'?
+ char path[PATH_MAX];
+ ^~~~~~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ kpartx/lopart.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/kpartx/lopart.c b/kpartx/lopart.c
+index 7005445..5efe5dc 100644
+--- a/kpartx/lopart.c
++++ b/kpartx/lopart.c
+@@ -22,6 +22,7 @@
+ #include <errno.h>
+ #include <stdlib.h>
+ #include <unistd.h>
++#include <limits.h>
+ #include <sys/ioctl.h>
+ #include <sys/stat.h>
+ #include <sys/mman.h>
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-multipath-attempt-at-common-multipath.rules.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-multipath-attempt-at-common-multipath.rules.patch
new file mode 100644
index 000000000..acb426954
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-multipath-attempt-at-common-multipath.rules.patch
@@ -0,0 +1,107 @@
+From 5ab50e0cb888e553a2635bbbf81eea3cdeffee60 Mon Sep 17 00:00:00 2001
+From: Benjamin Marzinski <bmarzins@redhat.com>
+Date: Wed, 12 Apr 2017 09:07:51 -0500
+Subject: [PATCH 01/14] multipath: attempt at common multipath.rules
+
+This is a proposal to try and bring the Redhat and SuSE multipath.rules
+closer. There are a couple of changes that I'd like some input on.
+
+The big change is moving the kpartx call into the multipath rules. Half
+of the current kpartx.rules file is about creating symlinks for multiple
+types of dm devices. The other half auto-creates kpartx devices on top
+of multipath devices. Since it is only creating kpartx devices on top of
+multipath devices, I've moved the these rules into multipath.rules, or
+rather, I've replaced them with the redhat rules in multipath.rules. The
+biggest difference is the kpartx isn't run on every reload. It works
+with the 11-dm-mpath.rules code to not run kpartx on multipathd
+generated reloads or when there aren't any working paths. It does
+remember if it didn't get to run kpartx when it was supposed to (because
+there were no valid paths or the device was suspended) and will make
+sure to run it on the next possible uevent.
+
+The other change is the redhat multipath rules remove the partition
+device nodes for devices claimed by multipath. The udev rule will only
+do this one time (both to keep from running partx on every event, and so
+that if users manually reread the partition table, we don't keep
+removing them when clearly they are wanted). Redhat does this because we
+had multiple customer issues where they were using the scsi partitions
+instead of the kpartx devices. Obviously, with setting the partition
+devices to not ready and clearing their fs_type, this isn't essential,
+but it has helped make customers do the right thing.
+
+Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
+---
+ kpartx/kpartx.rules | 8 --------
+ multipath/multipath.rules | 27 ++++++++++++++++++++++++---
+ 2 files changed, 24 insertions(+), 11 deletions(-)
+
+diff --git a/kpartx/kpartx.rules b/kpartx/kpartx.rules
+index a958791..906e320 100644
+--- a/kpartx/kpartx.rules
++++ b/kpartx/kpartx.rules
+@@ -34,12 +34,4 @@ ENV{ID_FS_LABEL_ENC}=="?*", IMPORT{db}="ID_FS_LABEL_ENC"
+ ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", \
+ SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
+
+-# Create dm tables for partitions
+-ENV{DM_ACTION}=="PATH_FAILED|PATH_REINSTATED", GOTO="kpartx_end"
+-ENV{DM_NR_VALID_PATHS}=="0", GOTO="kpartx_end"
+-ENV{ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}!="1", IMPORT{db}="DM_SUBSYSTEM_UDEV_FLAG1"
+-ENV{DM_SUBSYSTEM_UDEV_FLAG1}=="1", GOTO="kpartx_end"
+-ENV{DM_STATE}!="SUSPENDED", ENV{DM_UUID}=="mpath-*", \
+- RUN+="/sbin/kpartx -un -p -part /dev/$name"
+-
+ LABEL="kpartx_end"
+diff --git a/multipath/multipath.rules b/multipath/multipath.rules
+index 86defc0..616a04c 100644
+--- a/multipath/multipath.rules
++++ b/multipath/multipath.rules
+@@ -1,13 +1,13 @@
+ # Set DM_MULTIPATH_DEVICE_PATH if the device should be handled by multipath
+ SUBSYSTEM!="block", GOTO="end_mpath"
+ ACTION!="add|change", GOTO="end_mpath"
+-KERNEL!="sd*|dasd*", GOTO="end_mpath"
+-
++KERNEL!="sd*|dasd*|rbd*|dm-*", GOTO="end_mpath"
+ IMPORT{cmdline}="nompath"
+ ENV{nompath}=="?*", GOTO="end_mpath"
+ IMPORT{cmdline}="multipath"
+ ENV{multipath}=="off", GOTO="end_mpath"
+
++KERNEL=="dm-*", GOTO="check_kpartx"
+ ENV{DEVTYPE}!="partition", GOTO="test_dev"
+ IMPORT{parent}="DM_MULTIPATH_DEVICE_PATH"
+ ENV{DM_MULTIPATH_DEVICE_PATH}=="1", ENV{ID_FS_TYPE}="none", \
+@@ -21,7 +21,28 @@ TEST!="$env{MPATH_SBIN_PATH}/multipath", ENV{MPATH_SBIN_PATH}="/usr/sbin"
+
+ ENV{DM_MULTIPATH_DEVICE_PATH}!="1", \
+ PROGRAM=="$env{MPATH_SBIN_PATH}/multipath -u %k", \
+- ENV{DM_MULTIPATH_DEVICE_PATH}="1", ENV{ID_FS_TYPE}="none", \
++ ENV{DM_MULTIPATH_DEVICE_PATH}="1", ENV{ID_FS_TYPE}="mpath_member", \
+ ENV{SYSTEMD_READY}="0"
+
++ENV{DM_MULTIPATH_DEVICE_PATH}!="1", GOTO="end_mpath"
++
++IMPORT{db}="DM_MULTIPATH_WIPE_PARTS"
++ENV{DM_MULTIPATH_WIPE_PARTS}!="1", ENV{DM_MULTIPATH_WIPE_PARTS}="1", \
++ RUN+="/sbin/partx -d --nr 1-1024 $env{DEVNAME}"
++GOTO="end_mpath"
++
++LABEL="check_kpartx"
++
++IMPORT{db}="DM_MULTIPATH_NEED_KPARTX"
++ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}!="1", IMPORT{db}="DM_SUBSYSTEM_UDEV_FLAG1"
++ENV{DM_SUBSYSTEM_UDEV_FLAG1}=="1", GOTO="end_mpath"
++ACTION!="change", GOTO="end_mpath"
++ENV{DM_UUID}!="mpath-?*", GOTO="end_mpath"
++ENV{DM_ACTIVATION}=="1", ENV{DM_MULTIPATH_NEED_KPARTX}="1"
++ENV{DM_SUSPENDED}=="1", GOTO="end_mpath"
++ENV{DM_ACTION}=="PATH_FAILED", GOTO="end_mpath"
++ENV{DM_ACTIVATION}!="1", ENV{DM_MULTIPATH_NEED_KPARTX}!="1", GOTO="end_mpath"
++RUN+="/sbin/kpartx -un -p -part /dev/$name"
++ENV{DM_MULTIPATH_NEED_KPARTX}=""
++
+ LABEL="end_mpath"
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-multipathd.service-Error-fix.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-multipathd.service-Error-fix.patch
deleted file mode 100644
index 60c3c0aec..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-multipathd.service-Error-fix.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 630483b9738349c8b3e637a00879b96834a33cdb Mon Sep 17 00:00:00 2001
-From: Li xin <lixin.fnst@cn.fujitsu.com>
-Date: Tue, 7 Jul 2015 11:34:36 +0900
-Subject: [PATCH] multipathd.service: Error fix
-
-Failed to start Device-Mapper Multipath Device Controller.
-
-Upstream-Status: pending
-
-Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
----
- multipathd/multipathd.service | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/multipathd/multipathd.service b/multipathd/multipathd.service
-index e3d6f91..a7e00b2 100644
---- a/multipathd/multipathd.service
-+++ b/multipathd/multipathd.service
-@@ -8,11 +8,12 @@ Wants=local-fs-pre.target multipathd.socket blk-availability.service
- Conflicts=shutdown.target
-
- [Service]
--Type=notify
-+Type=forking
- NotifyAccess=main
- LimitCORE=infinity
-+PIDFile=/var/run/multipathd.pid
- ExecStartPre=/sbin/modprobe -a scsi_dh_alua scsi_dh_emc scsi_dh_rdac dm-multipath
--ExecStart=/sbin/multipathd -d -s
-+ExecStart=/sbin/multipathd
- ExecReload=/sbin/multipathd reconfigure
-
- [Install]
---
-2.11.0
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0002-RH-fixup-udev-rules-for-redhat.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0002-RH-fixup-udev-rules-for-redhat.patch
new file mode 100644
index 000000000..e63d2eb33
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0002-RH-fixup-udev-rules-for-redhat.patch
@@ -0,0 +1,110 @@
+From 158255383c02d3fb81c82fb9ec6fd36fb234f68e Mon Sep 17 00:00:00 2001
+From: Benjamin Marzinski <bmarzins@redhat.com>
+Date: Thu, 13 Apr 2017 07:22:23 -0500
+Subject: [PATCH 02/14] RH: fixup udev rules for redhat
+
+The multipath rules need to run after scsi_id is run. This means moving
+them after 60-persistent-storage.rules for redhat. Also, we don't
+currently set up all the symlinks that SuSE does. If we want them, they
+should be done in the device-mapper package, since they are for all
+device-mapper devices. Redhat also uses a different naming scheme for
+partitions than SuSE.
+
+Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
+---
+ Makefile.inc | 2 +-
+ kpartx/Makefile | 14 +++++++-------
+ multipath/Makefile | 4 ++--
+ multipath/multipath.rules | 3 ++-
+ 4 files changed, 12 insertions(+), 11 deletions(-)
+
+diff --git a/Makefile.inc b/Makefile.inc
+index 1815f9a..2591fa9 100644
+--- a/Makefile.inc
++++ b/Makefile.inc
+@@ -47,7 +47,7 @@ endif
+
+ prefix =
+ exec_prefix = $(prefix)
+-bindir = $(exec_prefix)/sbin
++bindir = $(exec_prefix)/usr/sbin
+ libudevdir = $(prefix)/$(SYSTEMDPATH)/udev
+ udevrulesdir = $(libudevdir)/rules.d
+ multipathdir = $(TOPDIR)/libmultipath
+diff --git a/kpartx/Makefile b/kpartx/Makefile
+index 7b75032..bfa6fe8 100644
+--- a/kpartx/Makefile
++++ b/kpartx/Makefile
+@@ -26,19 +26,19 @@ $(EXEC): $(OBJS)
+ install: $(EXEC) $(EXEC).8
+ $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir)
+ $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)
+- $(INSTALL_PROGRAM) -d $(DESTDIR)$(libudevdir)
+- $(INSTALL_PROGRAM) -m 755 kpartx_id $(DESTDIR)$(libudevdir)
+- $(INSTALL_PROGRAM) -d $(DESTDIR)$(libudevdir)/rules.d
+- $(INSTALL_PROGRAM) -m 644 kpartx.rules $(DESTDIR)$(libudevdir)/rules.d/66-kpartx.rules
++# $(INSTALL_PROGRAM) -d $(DESTDIR)$(libudevdir)
++# $(INSTALL_PROGRAM) -m 755 kpartx_id $(DESTDIR)$(libudevdir)
++# $(INSTALL_PROGRAM) -d $(DESTDIR)$(libudevdir)/rules.d
++# $(INSTALL_PROGRAM) -m 644 kpartx.rules $(DESTDIR)$(libudevdir)/rules.d/66-kpartx.rules
+ $(INSTALL_PROGRAM) -d $(DESTDIR)$(man8dir)
+ $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(man8dir)
+
+ uninstall:
+ $(RM) $(DESTDIR)$(bindir)/$(EXEC)
+ $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz
+- $(RM) $(DESTDIR)$(libudevdir)/kpartx_id
+- $(RM) $(DESTDIR)$(libudevdir)/rules.d/66-kpartx.rules
+- $(RM) $(DESTDIR)$(libudevdir)/rules.d/67-kpartx-compat.rules
++# $(RM) $(DESTDIR)$(libudevdir)/kpartx_id
++# $(RM) $(DESTDIR)$(libudevdir)/rules.d/66-kpartx.rules
++# $(RM) $(DESTDIR)$(libudevdir)/rules.d/67-kpartx-compat.rules
+
+ clean:
+ $(RM) core *.o $(EXEC) *.gz
+diff --git a/multipath/Makefile b/multipath/Makefile
+index c85314e..1e9ee4b 100644
+--- a/multipath/Makefile
++++ b/multipath/Makefile
+@@ -24,7 +24,7 @@ install:
+ $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)/
+ $(INSTALL_PROGRAM) -d $(DESTDIR)$(udevrulesdir)
+ $(INSTALL_PROGRAM) -m 644 11-dm-mpath.rules $(DESTDIR)$(udevrulesdir)
+- $(INSTALL_PROGRAM) -m 644 $(EXEC).rules $(DESTDIR)$(libudevdir)/rules.d/56-multipath.rules
++ $(INSTALL_PROGRAM) -m 644 $(EXEC).rules $(DESTDIR)$(libudevdir)/rules.d/62-multipath.rules
+ $(INSTALL_PROGRAM) -d $(DESTDIR)$(man8dir)
+ $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(man8dir)
+ $(INSTALL_PROGRAM) -d $(DESTDIR)$(man5dir)
+@@ -33,7 +33,7 @@ install:
+ uninstall:
+ $(RM) $(DESTDIR)$(bindir)/$(EXEC)
+ $(RM) $(DESTDIR)$(udevrulesdir)/11-dm-mpath.rules
+- $(RM) $(DESTDIR)$(libudevdir)/rules.d/56-multipath.rules
++ $(RM) $(DESTDIR)$(libudevdir)/rules.d/62-multipath.rules
+ $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz
+ $(RM) $(DESTDIR)$(man5dir)/$(EXEC).conf.5.gz
+
+diff --git a/multipath/multipath.rules b/multipath/multipath.rules
+index 616a04c..4d78b98 100644
+--- a/multipath/multipath.rules
++++ b/multipath/multipath.rules
+@@ -33,6 +33,7 @@ GOTO="end_mpath"
+
+ LABEL="check_kpartx"
+
++ENV{DM_UUID}=="mpath-?*|part[0-9]*-mpath-?*", OPTIONS+="link_priority=10"
+ IMPORT{db}="DM_MULTIPATH_NEED_KPARTX"
+ ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}!="1", IMPORT{db}="DM_SUBSYSTEM_UDEV_FLAG1"
+ ENV{DM_SUBSYSTEM_UDEV_FLAG1}=="1", GOTO="end_mpath"
+@@ -42,7 +43,7 @@ ENV{DM_ACTIVATION}=="1", ENV{DM_MULTIPATH_NEED_KPARTX}="1"
+ ENV{DM_SUSPENDED}=="1", GOTO="end_mpath"
+ ENV{DM_ACTION}=="PATH_FAILED", GOTO="end_mpath"
+ ENV{DM_ACTIVATION}!="1", ENV{DM_MULTIPATH_NEED_KPARTX}!="1", GOTO="end_mpath"
+-RUN+="/sbin/kpartx -un -p -part /dev/$name"
++RUN+="/sbin/kpartx -un /dev/$name"
+ ENV{DM_MULTIPATH_NEED_KPARTX}=""
+
+ LABEL="end_mpath"
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0003-RH-Remove-the-property-blacklist-exception-builtin.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0003-RH-Remove-the-property-blacklist-exception-builtin.patch
new file mode 100644
index 000000000..684e959d6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0003-RH-Remove-the-property-blacklist-exception-builtin.patch
@@ -0,0 +1,70 @@
+From 69a67c2ed09ae51b53de402966a9f7a4cc737715 Mon Sep 17 00:00:00 2001
+From: Benjamin Marzinski <bmarzins@redhat.com>
+Date: Wed, 2 Jul 2014 12:49:53 -0500
+Subject: [PATCH 03/14] RH: Remove the property blacklist exception builtin
+
+Multipath set the default property blacklist exceptions to
+(ID_SCSI_VPD|ID_WWN). This has the effect of blacklisting some internal
+devices. These devices may never have multiple paths, but it is nice
+to be able to set multipath up on them all the same. This patch simply
+removes the default, and makes it so that if no property
+blacklist_exception is given, then devices aren't failed for not matching
+it.
+
+Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
+---
+ libmultipath/blacklist.c | 15 ++++++---------
+ multipath/multipath.conf.5 | 4 ----
+ 2 files changed, 6 insertions(+), 13 deletions(-)
+
+diff --git a/libmultipath/blacklist.c b/libmultipath/blacklist.c
+index ee396e2..19d4697 100644
+--- a/libmultipath/blacklist.c
++++ b/libmultipath/blacklist.c
+@@ -181,12 +181,6 @@ setup_default_blist (struct config * conf)
+ if (store_ble(conf->blist_devnode, str, ORIGIN_DEFAULT))
+ return 1;
+
+- str = STRDUP("(SCSI_IDENT_|ID_WWN)");
+- if (!str)
+- return 1;
+- if (store_ble(conf->elist_property, str, ORIGIN_DEFAULT))
+- return 1;
+-
+ vector_foreach_slot (conf->hwtable, hwe, i) {
+ if (hwe->bl_product) {
+ if (_blacklist_device(conf->blist_device, hwe->vendor,
+@@ -390,9 +384,12 @@ filter_property(struct config * conf, struct udev_device * udev)
+ * This is the inverse of the 'normal' matching;
+ * the environment variable _has_ to match.
+ */
+- log_filter(devname, NULL, NULL, NULL, NULL,
+- MATCH_PROPERTY_BLIST_MISSING);
+- return MATCH_PROPERTY_BLIST_MISSING;
++ if (VECTOR_SIZE(conf->elist_property)) {
++ log_filter(devname, NULL, NULL, NULL, NULL,
++ MATCH_PROPERTY_BLIST_MISSING);
++ return MATCH_PROPERTY_BLIST_MISSING;
++ }
++ return 0;
+ }
+
+ void
+diff --git a/multipath/multipath.conf.5 b/multipath/multipath.conf.5
+index f04ff19..fbbbb27 100644
+--- a/multipath/multipath.conf.5
++++ b/multipath/multipath.conf.5
+@@ -1014,10 +1014,6 @@ The \fIWorld Wide Identification\fR of a device.
+ .TP
+ .B property
+ Regular expression of the udev property to be whitelisted.
+-.RS
+-.TP
+-The default is: \fB(SCSI_IDENT_|ID_WWN)\fR
+-.RE
+ .TP
+ .B device
+ Subsection for the device description. This subsection recognizes the
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0004-RH-don-t-start-without-a-config-file.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0004-RH-don-t-start-without-a-config-file.patch
new file mode 100644
index 000000000..87a6d3fb6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0004-RH-don-t-start-without-a-config-file.patch
@@ -0,0 +1,108 @@
+From b2b504fc1959c7a3f0a843c3c204e8e193b675b7 Mon Sep 17 00:00:00 2001
+From: Benjamin Marzinski <bmarzins@redhat.com>
+Date: Wed, 15 Oct 2014 10:39:30 -0500
+Subject: [PATCH 04/14] RH: don't start without a config file
+
+If /etc/multipath.conf doesn't exist, don't start multipathd and blacklist
+all devices when running multipath. A completely blank configuration file
+is almost never what users want. Also, people may have the multipath
+packages installed but don't want to use them. This patch provides a
+simple way to disable multipath. Simply removing or renaming
+/etc/multipath.conf will keep multipath from doing anything.
+
+Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
+---
+ libmultipath/config.c | 17 +++++++++++++++++
+ libmultipath/config.h | 1 +
+ multipath/multipath.rules | 1 +
+ multipathd/multipathd.8 | 2 ++
+ multipathd/multipathd.service | 1 +
+ 5 files changed, 22 insertions(+)
+
+diff --git a/libmultipath/config.c b/libmultipath/config.c
+index bb6619b..aae69b8 100644
+--- a/libmultipath/config.c
++++ b/libmultipath/config.c
+@@ -25,6 +25,7 @@
+ #include "prio.h"
+ #include "devmapper.h"
+ #include "mpath_cmd.h"
++#include "version.h"
+
+ static int
+ hwe_strmatch (struct hwentry *hwe1, struct hwentry *hwe2)
+@@ -667,6 +668,22 @@ load_config (char * file)
+ factorize_hwtable(conf->hwtable, builtin_hwtable_size);
+ }
+
++ } else {
++ condlog(0, "/etc/multipath.conf does not exist, blacklisting all devices.");
++ condlog(0, "A default multipath.conf file is located at");
++ condlog(0, "/usr/share/doc/device-mapper-multipath-%d.%d.%d/multipath.conf", MULTIPATH_VERSION(VERSION_CODE));
++ if (conf->blist_devnode == NULL) {
++ conf->blist_devnode = vector_alloc();
++ if (!conf->blist_devnode) {
++ condlog(0, "cannot allocate blacklist\n");
++ goto out;
++ }
++ }
++ if (store_ble(conf->blist_devnode, strdup(".*"),
++ ORIGIN_NO_CONFIG)) {
++ condlog(0, "cannot store default no-config blacklist\n");
++ goto out;
++ }
+ }
+
+ conf->processed_main_config = 1;
+diff --git a/libmultipath/config.h b/libmultipath/config.h
+index ffc69b5..614331c 100644
+--- a/libmultipath/config.h
++++ b/libmultipath/config.h
+@@ -7,6 +7,7 @@
+
+ #define ORIGIN_DEFAULT 0
+ #define ORIGIN_CONFIG 1
++#define ORIGIN_NO_CONFIG 2
+
+ /*
+ * In kernel, fast_io_fail == 0 means immediate failure on rport delete.
+diff --git a/multipath/multipath.rules b/multipath/multipath.rules
+index 4d78b98..5753766 100644
+--- a/multipath/multipath.rules
++++ b/multipath/multipath.rules
+@@ -6,6 +6,7 @@ IMPORT{cmdline}="nompath"
+ ENV{nompath}=="?*", GOTO="end_mpath"
+ IMPORT{cmdline}="multipath"
+ ENV{multipath}=="off", GOTO="end_mpath"
++TEST!="/etc/multipath.conf", GOTO="end_mpath"
+
+ KERNEL=="dm-*", GOTO="check_kpartx"
+ ENV{DEVTYPE}!="partition", GOTO="test_dev"
+diff --git a/multipathd/multipathd.8 b/multipathd/multipathd.8
+index 4c765af..c1499a5 100644
+--- a/multipathd/multipathd.8
++++ b/multipathd/multipathd.8
+@@ -39,6 +39,8 @@ map regains its maximum performance and redundancy.
+ This daemon executes the external \fBmultipath\fR tool when events occur.
+ In turn, the multipath tool signals the multipathd daemon when it is done with
+ devmap reconfiguration, so that it can refresh its failed path list.
++
++In this Linux distribution, multipathd does not run unless a /etc/multipath.conffile exists
+ .
+ .
+ .\" ----------------------------------------------------------------------------
+diff --git a/multipathd/multipathd.service b/multipathd/multipathd.service
+index fd66cf6..fafd088 100644
+--- a/multipathd/multipathd.service
++++ b/multipathd/multipathd.service
+@@ -4,6 +4,7 @@ Wants=systemd-udev-trigger.service systemd-udev-settle.service
+ Before=iscsi.service iscsid.service lvm2-lvmetad.service lvm2-activation-early.service
+ Before=local-fs-pre.target blk-availability.service
+ After=multipathd.socket systemd-udev-trigger.service systemd-udev-settle.service
++ConditionPathExists=/etc/multipath.conf
+ DefaultDependencies=no
+ Conflicts=shutdown.target
+ ConditionKernelCommandLine=!nompath
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0005-RH-add-mpathconf.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0005-RH-add-mpathconf.patch
new file mode 100644
index 000000000..acef41023
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0005-RH-add-mpathconf.patch
@@ -0,0 +1,648 @@
+From de44504fe7f7802cd474efd92ac15b5a8857db1f Mon Sep 17 00:00:00 2001
+From: Benjamin Marzinski <bmarzins@redhat.com>
+Date: Thu, 16 Oct 2014 15:49:01 -0500
+Subject: [PATCH 05/14] RH: add mpathconf
+
+mpathconf is a program (largely based on lvmcomf) to help users
+configure /etc/multipath.conf and enable or disable multipathing. It
+has a couple of built-in options that can be set directly from the
+command line. But, mostly it is used to get a multipath.conf file
+with the OS defaults, and to enable and disable multipathing via
+a single command.
+
+Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
+---
+ libmultipath/config.c | 1 +
+ multipath/Makefile | 5 +
+ multipath/mpathconf | 464 ++++++++++++++++++++++++++++++++++++++++++++++++++
+ multipath/mpathconf.8 | 101 +++++++++++
+ 4 files changed, 571 insertions(+)
+ create mode 100644 multipath/mpathconf
+ create mode 100644 multipath/mpathconf.8
+
+diff --git a/libmultipath/config.c b/libmultipath/config.c
+index aae69b8..c485748 100644
+--- a/libmultipath/config.c
++++ b/libmultipath/config.c
+@@ -672,6 +672,7 @@ load_config (char * file)
+ condlog(0, "/etc/multipath.conf does not exist, blacklisting all devices.");
+ condlog(0, "A default multipath.conf file is located at");
+ condlog(0, "/usr/share/doc/device-mapper-multipath-%d.%d.%d/multipath.conf", MULTIPATH_VERSION(VERSION_CODE));
++ condlog(0, "You can run /sbin/mpathconf to create or modify /etc/multipath.conf");
+ if (conf->blist_devnode == NULL) {
+ conf->blist_devnode = vector_alloc();
+ if (!conf->blist_devnode) {
+diff --git a/multipath/Makefile b/multipath/Makefile
+index 1e9ee4b..3d4d459 100644
+--- a/multipath/Makefile
++++ b/multipath/Makefile
+@@ -18,10 +18,12 @@ $(EXEC): $(OBJS)
+ $(CC) $(CFLAGS) $(OBJS) -o $(EXEC) $(LDFLAGS) $(LIBDEPS)
+ $(GZIP) $(EXEC).8 > $(EXEC).8.gz
+ $(GZIP) $(EXEC).conf.5 > $(EXEC).conf.5.gz
++ $(GZIP) mpathconf.8 > mpathconf.8.gz
+
+ install:
+ $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir)
+ $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)/
++ $(INSTALL_PROGRAM) -m 755 mpathconf $(DESTDIR)$(bindir)/
+ $(INSTALL_PROGRAM) -d $(DESTDIR)$(udevrulesdir)
+ $(INSTALL_PROGRAM) -m 644 11-dm-mpath.rules $(DESTDIR)$(udevrulesdir)
+ $(INSTALL_PROGRAM) -m 644 $(EXEC).rules $(DESTDIR)$(libudevdir)/rules.d/62-multipath.rules
+@@ -29,13 +31,16 @@ install:
+ $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(man8dir)
+ $(INSTALL_PROGRAM) -d $(DESTDIR)$(man5dir)
+ $(INSTALL_PROGRAM) -m 644 $(EXEC).conf.5.gz $(DESTDIR)$(man5dir)
++ $(INSTALL_PROGRAM) -m 644 mpathconf.8.gz $(DESTDIR)$(man8dir)
+
+ uninstall:
+ $(RM) $(DESTDIR)$(bindir)/$(EXEC)
+ $(RM) $(DESTDIR)$(udevrulesdir)/11-dm-mpath.rules
+ $(RM) $(DESTDIR)$(libudevdir)/rules.d/62-multipath.rules
++ $(RM) $(DESTDIR)$(bindir)/mpathconf
+ $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz
+ $(RM) $(DESTDIR)$(man5dir)/$(EXEC).conf.5.gz
++ $(RM) $(DESTDIR)$(man8dir)/mpathconf.8.gz
+
+ clean:
+ $(RM) core *.o $(EXEC) *.gz
+diff --git a/multipath/mpathconf b/multipath/mpathconf
+new file mode 100644
+index 0000000..e839134
+--- /dev/null
++++ b/multipath/mpathconf
+@@ -0,0 +1,464 @@
++#!/bin/bash
++#
++# Copyright (C) 2010 Red Hat, Inc. All rights reserved.
++#
++# This file is part of the device-mapper-multipath package.
++#
++# This copyrighted material is made available to anyone wishing to use,
++# modify, copy, or redistribute it subject to the terms and conditions
++# of the GNU General Public License v.2.
++#
++# 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
++
++#
++# Simple editting of /etc/multipath.conf
++# This program was largely ripped off from lvmconf
++#
++
++unset ENABLE FIND FRIENDLY MODULE MULTIPATHD HAVE_DISABLE HAVE_WWID_DISABLE HAVE_FIND HAVE_BLACKLIST HAVE_EXCEPTIONS HAVE_DEFAULTS HAVE_FRIENDLY HAVE_MULTIPATHD HAVE_MODULE HAVE_OUTFILE SHOW_STATUS CHANGED_CONFIG WWID_LIST
++
++DEFAULT_CONFIG="# device-mapper-multipath configuration file
++
++# For a complete list of the default configuration values, run either:
++# # multipath -t
++# or
++# # multipathd show config
++
++# For a list of configuration options with descriptions, see the
++# multipath.conf man page.
++
++defaults {
++ user_friendly_names yes
++ find_multipaths yes
++}
++
++blacklist_exceptions {
++ property \"(SCSI_IDENT_|ID_WWN)\"
++}"
++
++CONFIGFILE="/etc/multipath.conf"
++OUTPUTFILE="/etc/multipath.conf"
++MULTIPATHDIR="/etc/multipath"
++TMPFILE="/etc/multipath/.multipath.conf.tmp"
++WWIDS=0
++
++function usage
++{
++ echo "usage: $0 <command>"
++ echo ""
++ echo "Commands:"
++ echo "Enable: --enable "
++ echo "Disable: --disable"
++ echo "Only allow certain wwids (instead of enable): --allow <WWID>"
++ echo "Set user_friendly_names (Default y): --user_friendly_names <y|n>"
++ echo "Set find_multipaths (Default y): --find_multipaths <y|n>"
++ echo "Load the dm-multipath modules on enable (Default y): --with_module <y|n>"
++ echo "start/stop/reload multipathd (Default n): --with_multipathd <y|n>"
++ echo "select output file (Default /etc/multipath.conf): --outfile <FILE>"
++ echo ""
++}
++
++function add_wwid
++{
++ INDEX=0
++ while [ "$INDEX" -lt "$WWIDS" ] ; do
++ if [ "$1" = "${WWID_LIST[$INDEX]}" ] ; then
++ return
++ fi
++ ((INDEX++))
++ done
++ WWID_LIST[$WWIDS]="$1"
++ ((WWIDS++))
++}
++
++function get_dm_deps
++{
++ shift 3
++ while [ -n "$1" -a -n "$2" ]; do
++ MAJOR=$(echo $1 | tr -d '(,')
++ MINOR=$(echo $2 | tr -d ')')
++ UUID=`dmsetup info -c --noheadings -o uuid -j $MAJOR -m $MINOR 2> /dev/null`
++ if [ -n "$UUID" ] ; then
++ set_dm_wwid $UUID
++ fi
++ shift 2
++ done
++}
++
++function set_dm_wwid
++{
++ if [[ "$1" =~ ^part[[:digit:]]+-mpath- ]] ; then
++ add_wwid "${1##part*-mpath-}"
++ elif [[ "$1" =~ ^mpath- ]] ; then
++ add_wwid "${1##mpath-}"
++ else
++ get_dm_deps `dmsetup deps -u $1`
++ fi
++}
++
++function set_wwid
++{
++ UUID=""
++ if [[ "$1" =~ ^[[:digit:]]+:[[:digit:]]+$ ]] ; then
++ MAJOR=${1%%:*}
++ MINOR=${1##*:}
++ UUID=`dmsetup info -c --noheadings -o uuid -j $MAJOR -m $MINOR 2> /dev/null`
++ else
++ UUID=`dmsetup info -c --noheadings -o uuid $1 2> /dev/null`
++ fi
++ if [ -n "$UUID" ] ; then
++ set_dm_wwid $UUID
++ else
++ add_wwid "$1"
++ fi
++}
++
++function parse_args
++{
++ while [ -n "$1" ]; do
++ case $1 in
++ --enable)
++ ENABLE=1
++ shift
++ ;;
++ --disable)
++ ENABLE=0
++ shift
++ ;;
++ --allow)
++ ENABLE=2
++ if [ -n "$2" ]; then
++ set_wwid $2
++ shift 2
++ else
++ usage
++ exit 1
++ fi
++ ;;
++ --user_friendly_names)
++ if [ -n "$2" ]; then
++ FRIENDLY=$2
++ shift 2
++ else
++ usage
++ exit 1
++ fi
++ ;;
++ --find_multipaths)
++ if [ -n "$2" ]; then
++ FIND=$2
++ shift 2
++ else
++ usage
++ exit 1
++ fi
++ ;;
++ --with_module)
++ if [ -n "$2" ]; then
++ MODULE=$2
++ shift 2
++ else
++ usage
++ exit 1
++ fi
++ ;;
++ --with_multipathd)
++ if [ -n "$2" ]; then
++ MULTIPATHD=$2
++ shift 2
++ else
++ usage
++ exit 1
++ fi
++ ;;
++ --outfile)
++ if [ -n "$2" ]; then
++ OUTPUTFILE=$2
++ HAVE_OUTFILE=1
++ shift 2
++ else
++ usage
++ exit 1
++ fi
++ ;;
++ *)
++ usage
++ exit
++ esac
++ done
++}
++
++function validate_args
++{
++ if [ "$ENABLE" = "0" ] && [ -n "$FRIENDLY" -o -n "$FIND" -o -n "$MODULE" ]; then
++ echo "ignoring extra parameters on disable"
++ FRIENDLY=""
++ FIND=""
++ MODULE=""
++ fi
++ if [ -n "$FRIENDLY" ] && [ "$FRIENDLY" != "y" -a "$FRIENDLY" != "n" ]; then
++ echo "--user_friendly_names must be either 'y' or 'n'"
++ exit 1
++ fi
++ if [ -n "$FIND" ] && [ "$FIND" != "y" -a "$FIND" != "n" ]; then
++ echo "--find_multipaths must be either 'y' or 'n'"
++ exit 1
++ fi
++ if [ -z "$ENABLE" -a -z "$FIND" -a -z "$FRIENDLY" ]; then
++ SHOW_STATUS=1
++ fi
++ if [ -n "$MODULE" ] && [ "$MODULE" != "y" -a "$MODULE" != "n" ]; then
++ echo "--with_module must be either 'y' or 'n'"
++ exit 1
++ fi
++ if [ -n "$MULTIPATHD" ] && [ "$MULTIPATHD" != "y" -a "$MULTIPATHD" != "n" ]; then
++ echo "--with_multipathd must be either 'y' or 'n'"
++ exit 1
++ fi
++ if [ "$ENABLE" = 2 -a -z "$HAVE_OUTFILE" ]; then
++ echo "Because --allow makes changes that cannot be automatically reversed,"
++ echo "you must set --outfile when you set --allow"
++ exit 1
++ fi
++}
++
++function add_blacklist_exceptions
++{
++ INDEX=0
++ while [ "$INDEX" -lt "$WWIDS" ] ; do
++ sed -i '/^blacklist_exceptions[[:space:]]*{/ a\
++ wwid '"\"${WWID_LIST[$INDEX]}\""'
++' $TMPFILE
++ ((INDEX++))
++ done
++}
++
++umask 0077
++
++parse_args "$@"
++
++validate_args
++
++if [ ! -d "$MULTIPATHDIR" ]; then
++ echo "/etc/multipath/ does not exist. failing"
++ exit 1
++fi
++
++rm $TMPFILE 2> /dev/null
++echo "$DEFAULT_CONFIG" > $TMPFILE
++if [ -f "$CONFIGFILE" ]; then
++ cp $CONFIGFILE $TMPFILE
++fi
++
++if grep -q "^blacklist[[:space:]]*{" $TMPFILE ; then
++ HAVE_BLACKLIST=1
++fi
++
++if grep -q "^blacklist_exceptions[[:space:]]*{" $TMPFILE ; then
++ HAVE_EXCEPTIONS=1
++fi
++
++if grep -q "^defaults[[:space:]]*{" $TMPFILE ; then
++ HAVE_DEFAULTS=1
++fi
++
++if [ -z "$MODULE" -o "$MODULE" = "y" ]; then
++ if lsmod | grep -q "dm_multipath" ; then
++ HAVE_MODULE=1
++ else
++ HAVE_MODULE=0
++ fi
++fi
++
++if [ "$MULTIPATHD" = "y" ]; then
++ if /bin/systemctl status multipathd.service > /dev/null 2>&1 ; then
++ HAVE_MULTIPATHD=1
++ else
++ HAVE_MULTIPATHD=0
++ fi
++fi
++
++if [ "$HAVE_BLACKLIST" = "1" ]; then
++ if sed -n '/^blacklist[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*devnode \"\.\?\*\"" ; then
++ HAVE_DISABLE=1
++ elif sed -n '/^blacklist[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*#[[:space:]]*devnode \"\.\?\*\"" ; then
++ HAVE_DISABLE=0
++ fi
++fi
++
++if [ "$HAVE_BLACKLIST" = "1" ]; then
++ if sed -n '/^blacklist[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*wwid \"\.\?\*\"" ; then
++ HAVE_WWID_DISABLE=1
++ elif sed -n '/^blacklist[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*#[[:space:]]*wwid \"\.\?\*\"" ; then
++ HAVE_WWID_DISABLE=0
++ fi
++fi
++
++if [ "$HAVE_DEFAULTS" = "1" ]; then
++ if sed -n '/^defaults[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*find_multipaths[[:space:]]*\(yes\|1\)" ; then
++ HAVE_FIND=1
++ elif sed -n '/^defaults[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*find_multipaths[[:space:]]*\(no\|0\)" ; then
++ HAVE_FIND=0
++ fi
++ if sed -n '/^defaults[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*user_friendly_names[[:space:]]*\(yes\|1\)" ; then
++ HAVE_FRIENDLY=1
++ elif sed -n '/^defaults[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*user_friendly_names[[:space:]]*\(no\|0\)" ; then
++ HAVE_FRIENDLY=0
++ fi
++fi
++
++if [ -n "$SHOW_STATUS" ]; then
++ if [ -z "$HAVE_DISABLE" -o "$HAVE_DISABLE" = 0 ]; then
++ echo "multipath is enabled"
++ else
++ echo "multipath is disabled"
++ fi
++ if [ -z "$HAVE_FIND" -o "$HAVE_FIND" = 0 ]; then
++ echo "find_multipaths is disabled"
++ else
++ echo "find_multipaths is enabled"
++ fi
++ if [ -z "$HAVE_FRIENDLY" -o "$HAVE_FRIENDLY" = 0 ]; then
++ echo "user_friendly_names is disabled"
++ else
++ echo "user_friendly_names is enabled"
++ fi
++ if [ -n "$HAVE_MODULE" ]; then
++ if [ "$HAVE_MODULE" = 1 ]; then
++ echo "dm_multipath module is loaded"
++ else
++ echo "dm_multipath module is not loaded"
++ fi
++ fi
++ if [ -z "$HAVE_MULTIPATHD" ]; then
++ if /bin/systemctl status multipathd.service > /dev/null 2>&1 ; then
++ HAVE_MULTIPATHD=1
++ else
++ HAVE_MULTIPATHD=0
++ fi
++ fi
++ if [ "$HAVE_MULTIPATHD" = 1 ]; then
++ echo "multipathd is running"
++ else
++ echo "multipathd is not running"
++ fi
++ exit 0
++fi
++
++if [ -z "$HAVE_BLACKLIST" ]; then
++ cat >> $TMPFILE <<- _EOF_
++
++blacklist {
++}
++_EOF_
++fi
++
++if [ -z "$HAVE_DEFAULTS" ]; then
++ cat >> $TMPFILE <<- _EOF_
++
++defaults {
++}
++_EOF_
++fi
++
++if [ "$ENABLE" = 2 ]; then
++ if [ "$HAVE_DISABLE" = 1 ]; then
++ sed -i '/^blacklist[[:space:]]*{/,/^}/ s/^[[:space:]]*devnode \"\.\?\*\"/# devnode ".*"/' $TMPFILE
++ fi
++ if [ -z "$HAVE_WWID_DISABLE" ]; then
++ sed -i '/^blacklist[[:space:]]*{/ a\
++ wwid ".*"
++' $TMPFILE
++ elif [ "$HAVE_WWID_DISABLE" = 0 ]; then
++ sed -i '/^blacklist[[:space:]]*{/,/^}/ s/^[[:space:]]*#[[:space:]]*wwid \"\.\?\*\"/ wwid ".*"/' $TMPFILE
++ fi
++ if [ "$HAVE_EXCEPTIONS" = 1 ]; then
++ sed -i '/^blacklist_exceptions[[:space:]]*{/,/^}/ {/^[[:space:]]*wwid/ d}' $TMPFILE
++ else
++ cat >> $TMPFILE <<- _EOF_
++
++blacklist_exceptions {
++}
++_EOF_
++ fi
++ add_blacklist_exceptions
++elif [ "$ENABLE" = 1 ]; then
++ if [ "$HAVE_DISABLE" = 1 ]; then
++ sed -i '/^blacklist[[:space:]]*{/,/^}/ s/^[[:space:]]*devnode \"\.\?\*\"/# devnode ".*"/' $TMPFILE
++ fi
++elif [ "$ENABLE" = 0 ]; then
++ if [ -z "$HAVE_DISABLE" ]; then
++ sed -i '/^blacklist[[:space:]]*{/ a\
++ devnode ".*"
++' $TMPFILE
++ elif [ "$HAVE_DISABLE" = 0 ]; then
++ sed -i '/^blacklist[[:space:]]*{/,/^}/ s/^[[:space:]]*#[[:space:]]*devnode \"\.\?\*\"/ devnode ".*"/' $TMPFILE
++ fi
++fi
++
++if [ "$FIND" = "n" ]; then
++ if [ "$HAVE_FIND" = 1 ]; then
++ sed -i '/^defaults[[:space:]]*{/,/^}/ s/^[[:space:]]*find_multipaths[[:space:]]*\(yes\|1\)/ find_multipaths no/' $TMPFILE
++ CHANGED_CONFIG=1
++ fi
++elif [ "$FIND" = "y" ]; then
++ if [ -z "$HAVE_FIND" ]; then
++ sed -i '/^defaults[[:space:]]*{/ a\
++ find_multipaths yes
++' $TMPFILE
++ CHANGED_CONFIG=1
++ elif [ "$HAVE_FIND" = 0 ]; then
++ sed -i '/^defaults[[:space:]]*{/,/^}/ s/^[[:space:]]*find_multipaths[[:space:]]*\(no\|0\)/ find_multipaths yes/' $TMPFILE
++ CHANGED_CONFIG=1
++ fi
++fi
++
++if [ "$FRIENDLY" = "n" ]; then
++ if [ "$HAVE_FRIENDLY" = 1 ]; then
++ sed -i '/^defaults[[:space:]]*{/,/^}/ s/^[[:space:]]*user_friendly_names[[:space:]]*\(yes\|1\)/ user_friendly_names no/' $TMPFILE
++ CHANGED_CONFIG=1
++ fi
++elif [ "$FRIENDLY" = "y" ]; then
++ if [ -z "$HAVE_FRIENDLY" ]; then
++ sed -i '/^defaults[[:space:]]*{/ a\
++ user_friendly_names yes
++' $TMPFILE
++ CHANGED_CONFIG=1
++ elif [ "$HAVE_FRIENDLY" = 0 ]; then
++ sed -i '/^defaults[[:space:]]*{/,/^}/ s/^[[:space:]]*user_friendly_names[[:space:]]*\(no\|0\)/ user_friendly_names yes/' $TMPFILE
++ CHANGED_CONFIG=1
++ fi
++fi
++
++if [ -f "$OUTPUTFILE" ]; then
++ cp $OUTPUTFILE $OUTPUTFILE.old
++ if [ $? != 0 ]; then
++ echo "failed to backup old config file, $OUTPUTFILE not updated"
++ exit 1
++ fi
++fi
++
++cp $TMPFILE $OUTPUTFILE
++if [ $? != 0 ]; then
++ echo "failed to copy new config file into place, check $OUTPUTFILE is still OK"
++ exit 1
++fi
++
++rm -f $TMPFILE
++
++if [ "$ENABLE" = 1 ]; then
++ if [ "$HAVE_MODULE" = 0 ]; then
++ modprobe dm_multipath
++ fi
++ if [ "$HAVE_MULTIPATHD" = 0 ]; then
++ systemctl start multipathd.service
++ fi
++elif [ "$ENABLE" = 0 ]; then
++ if [ "$HAVE_MULTIPATHD" = 1 ]; then
++ systemctl stop multipathd.service
++ fi
++elif [ -n "$CHANGED_CONFIG" -a "$HAVE_MULTIPATHD" = 1 ]; then
++ systemctl reload multipathd.service
++fi
+diff --git a/multipath/mpathconf.8 b/multipath/mpathconf.8
+new file mode 100644
+index 0000000..4cd3267
+--- /dev/null
++++ b/multipath/mpathconf.8
+@@ -0,0 +1,101 @@
++.TH MPATHCONF 8 "June 2010" "" "Linux Administrator's Manual"
++.SH NAME
++mpathconf - A tool for configuring device-mapper-multipath
++.SH SYNOPSIS
++.B mpathconf
++.RB [\| commands \|]
++.RB [\| options \|]
++.SH DESCRIPTION
++.B mpathconf
++is a utility that creates or modifies
++.B /etc/multipath.conf.
++It can enable or disable multipathing and configure some common options.
++.B mpathconf
++can also load the
++.B dm_multipath
++module, start and stop the
++.B multipathd
++daemon, and configure the
++.B multipathd
++service to start automatically or not. If
++.B mpathconf
++is called with no commands, it will display the current configuration.
++
++The default options for mpathconf are
++.B --with_module
++The
++.B --with_multipathd
++option is not set by default. Enabling multipathing will load the
++.B dm_multipath
++module but it will not immediately start it. This is so
++that users can manually edit their config file if necessary, before starting
++.B multipathd.
++
++If
++.B /etc/multipath.conf
++already exists, mpathconf will edit it. If it does not exist, mpathconf will
++create a default file with
++.B user_friendly_names
++and
++.B find_multipaths
++set. To disable these, use the
++.B --user_friendly_names n
++and
++.B --find_multipaths n
++options
++.SH COMMANDS
++.TP
++.B --enable
++Removes any line that blacklists all device nodes from the
++.B /etc/multipath.conf
++blacklist section.
++.TP
++.B --disable
++Adds a line that blacklists all device nodes to the
++.B /etc/multipath.conf
++blacklist section. If no blacklist section exists, it will create one.
++.TP
++.B --user_friendly_name \fP { \fBy\fP | \fBn\fP }
++If set to \fBy\fP, this adds the line
++.B user_friendly_names yes
++to the
++.B /etc/multipath.conf
++defaults section. If set to \fBn\fP, this removes the line, if present. This
++command can be used along with any other command.
++.TP
++.B --find_multipaths\fP { \fBy\fP | \fBn\fP }
++If set to \fBy\fP, this adds the line
++.B find_multipaths yes
++to the
++.B /etc/multipath.conf
++defaults section. If set to \fBn\fP, this removes the line, if present. This
++command can be used aldong with any other command.
++.SH OPTIONS
++.TP
++.B --with_module\fP { \fBy\fP | \fBn\fP }
++If set to \fBy\fP, this runs
++.B modprobe dm_multipath
++to install the multipath modules. This option only works with the
++.B --enable
++command. This option is set to \fBy\fP by default.
++.TP
++.B --with_multipathd { \fBy\fP | \fBn\fP }
++If set to \fBy\fP, this runs
++.B service multipathd start
++to start the multipathd daemon on \fB--enable\fP,
++.B service multipathd stop
++to stop the multipathd daemon on \fB--disable\fP, and
++.B service multipathd reload
++to reconfigure multipathd on \fB--user_frindly_names\fP and
++\fB--find_multipaths\fP.
++This option is set to \fBn\fP by default.
++.SH FILES
++.BR /etc/multipath.conf
++.SH "SEE ALSO"
++.BR multipath.conf (5),
++.BR modprobe (8),
++.BR multipath (8),
++.BR multipathd (8),
++.BR service (8),
++.SH AUTHOR
++Benjamin Marzinski <bmarzins@redhat.com>
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0006-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0006-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch
new file mode 100644
index 000000000..dc291b812
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0006-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch
@@ -0,0 +1,166 @@
+From 15179c830521d8f37f9254ebc6bbf150a409f956 Mon Sep 17 00:00:00 2001
+From: Benjamin Marzinski <bmarzins@redhat.com>
+Date: Fri, 17 Oct 2014 11:20:34 -0500
+Subject: [PATCH 06/14] RH: add wwids from kernel cmdline mpath.wwids with -A
+
+This patch adds another option to multipath, "-A", which reads
+/proc/cmdline for mpath.wwid=<WWID> options, and adds any wwids it finds
+to /etc/multipath/wwids. While this isn't usually important during
+normal operation, since these wwids should already be added, it can be
+helpful during installation, to make sure that multipath can claim
+devices as its own, before LVM or something else makes use of them. The
+patch also execs "/sbin/multipath -A" before running multipathd in
+multipathd.service
+
+Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
+---
+ libmultipath/wwids.c | 44 +++++++++++++++++++++++++++++++++++++++++++
+ libmultipath/wwids.h | 1 +
+ multipath/main.c | 10 ++++++++--
+ multipath/multipath.8 | 5 ++++-
+ multipathd/multipathd.service | 1 +
+ 5 files changed, 58 insertions(+), 3 deletions(-)
+
+diff --git a/libmultipath/wwids.c b/libmultipath/wwids.c
+index bc70a27..88bb72b 100644
+--- a/libmultipath/wwids.c
++++ b/libmultipath/wwids.c
+@@ -321,3 +321,47 @@ remember_wwid(char *wwid)
+ condlog(4, "wwid %s already in wwids file", wwid);
+ return 0;
+ }
++
++int remember_cmdline_wwid(void)
++{
++ FILE *f = NULL;
++ char buf[LINE_MAX], *next, *ptr;
++ int ret = 0;
++
++ f = fopen("/proc/cmdline", "re");
++ if (!f) {
++ condlog(0, "can't open /proc/cmdline : %s", strerror(errno));
++ return -1;
++ }
++
++ if (!fgets(buf, sizeof(buf), f)) {
++ if (ferror(f))
++ condlog(0, "read of /proc/cmdline failed : %s",
++ strerror(errno));
++ else
++ condlog(0, "couldn't read /proc/cmdline");
++ fclose(f);
++ return -1;
++ }
++ fclose(f);
++ next = buf;
++ while((ptr = strstr(next, "mpath.wwid="))) {
++ ptr += 11;
++ next = strpbrk(ptr, " \t\n");
++ if (next) {
++ *next = '\0';
++ next++;
++ }
++ if (strlen(ptr)) {
++ if (remember_wwid(ptr) != 0)
++ ret = -1;
++ }
++ else {
++ condlog(0, "empty mpath.wwid kernel command line option");
++ ret = -1;
++ }
++ if (!next)
++ break;
++ }
++ return ret;
++}
+diff --git a/libmultipath/wwids.h b/libmultipath/wwids.h
+index 9527012..b665232 100644
+--- a/libmultipath/wwids.h
++++ b/libmultipath/wwids.h
+@@ -17,5 +17,6 @@ int remember_wwid(char *wwid);
+ int check_wwids_file(char *wwid, int write_wwid);
+ int remove_wwid(char *wwid);
+ int replace_wwids(vector mp);
++int remember_cmdline_wwid(void);
+
+ #endif /* _WWIDS_H */
+diff --git a/multipath/main.c b/multipath/main.c
+index 4174d43..72585b0 100644
+--- a/multipath/main.c
++++ b/multipath/main.c
+@@ -102,7 +102,7 @@ usage (char * progname)
+ {
+ fprintf (stderr, VERSION_STRING);
+ fprintf (stderr, "Usage:\n");
+- fprintf (stderr, " %s [-a|-c|-w|-W] [-d] [-r] [-i] [-v lvl] [-p pol] [-b fil] [-q] [dev]\n", progname);
++ fprintf (stderr, " %s [-a|-A|-c|-w|-W] [-d] [-r] [-i] [-v lvl] [-p pol] [-b fil] [-q] [dev]\n", progname);
+ fprintf (stderr, " %s -l|-ll|-f [-v lvl] [-b fil] [-R num] [dev]\n", progname);
+ fprintf (stderr, " %s -F [-v lvl] [-R num]\n", progname);
+ fprintf (stderr, " %s -t\n", progname);
+@@ -116,6 +116,8 @@ usage (char * progname)
+ " -f flush a multipath device map\n"
+ " -F flush all multipath device maps\n"
+ " -a add a device wwid to the wwids file\n"
++ " -A add devices from kernel command line mpath.wwids\n"
++ " parameters to wwids file\n"
+ " -c check if a device should be a path in a multipath device\n"
+ " -q allow queue_if_no_path when multipathd is not running\n"
+ " -d dry run, do not create or update devmaps\n"
+@@ -522,7 +524,7 @@ main (int argc, char *argv[])
+ exit(1);
+ multipath_conf = conf;
+ conf->retrigger_tries = 0;
+- while ((arg = getopt(argc, argv, ":adchl::FfM:v:p:b:BrR:itquwW")) != EOF ) {
++ while ((arg = getopt(argc, argv, ":aAdchl::FfM:v:p:b:BrR:itquwW")) != EOF ) {
+ switch(arg) {
+ case 1: printf("optarg : %s\n",optarg);
+ break;
+@@ -586,6 +588,10 @@ main (int argc, char *argv[])
+ case 't':
+ r = dump_config(conf);
+ goto out_free_config;
++ case 'A':
++ if (remember_cmdline_wwid() != 0)
++ exit(1);
++ exit(0);
+ case 'h':
+ usage(argv[0]);
+ exit(0);
+diff --git a/multipath/multipath.8 b/multipath/multipath.8
+index b9436e5..b9ad6b1 100644
+--- a/multipath/multipath.8
++++ b/multipath/multipath.8
+@@ -25,7 +25,7 @@ multipath \- Device mapper target autoconfig.
+ .RB [\| \-b\ \c
+ .IR bindings_file \|]
+ .RB [\| \-d \|]
+-.RB [\| \-h | \-l | \-ll | \-f | \-t | \-F | \-B | \-c | \-q | \|-r | \|-i | \-a | \|-u | \-w | \-W \|]
++.RB [\| \-h | \-l | \-ll | \-f | \-t | \-F | \-B | \-c | \-q | \|-r | \|-i | \-a | \-A | \-u | \-w | \-W \|]
+ .RB [\| \-p\ \c
+ .IR failover | multibus | group_by_serial | group_by_prio | group_by_node_name \|]
+ .RB [\| \-R\ \c
+@@ -122,6 +122,9 @@ Add the WWID for the specified device to the WWIDs file.
+ Check if the device specified in the program environment should be
+ a path in a multipath device.
+ .
++.B \-A
++add wwids from any kernel command line mpath.wwid parameters to the wwids file
++.
+ .TP
+ .B \-w
+ Remove the WWID for the specified device from the WWIDs file.
+diff --git a/multipathd/multipathd.service b/multipathd/multipathd.service
+index fafd088..a623a3f 100644
+--- a/multipathd/multipathd.service
++++ b/multipathd/multipathd.service
+@@ -15,6 +15,7 @@ Type=notify
+ NotifyAccess=main
+ LimitCORE=infinity
+ ExecStartPre=-/sbin/modprobe -a scsi_dh_alua scsi_dh_emc scsi_dh_rdac dm-multipath
++ExecStartPre=-/sbin/multipath -A
+ ExecStart=/sbin/multipathd -d -s
+ ExecReload=/sbin/multipathd reconfigure
+
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0007-RH-trigger-change-uevent-on-new-device-creation.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0007-RH-trigger-change-uevent-on-new-device-creation.patch
new file mode 100644
index 000000000..025a3512e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0007-RH-trigger-change-uevent-on-new-device-creation.patch
@@ -0,0 +1,138 @@
+From 0d2c9afbd89d79fd700f9c99aa20e5f7c7382027 Mon Sep 17 00:00:00 2001
+From: Benjamin Marzinski <bmarzins@redhat.com>
+Date: Mon, 24 Apr 2017 09:39:57 -0500
+Subject: [PATCH 07/14] RH: trigger change uevent on new device creation
+
+When multipath first sees a path device with user_friendly names
+enabled, it can't know if the device should be multipathed. This means
+that it will not claim the device in udev. If the device is eventually
+multipathed, multipath should trigger a change uevent to update the udev
+database to claim the device.
+
+This also reverts commit 64e27ec066a001012f44550f095c93443e91d845.
+
+Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
+---
+ libmultipath/configure.c | 26 ++++++++++++++++++++++++--
+ libmultipath/configure.h | 1 +
+ libmultipath/wwids.c | 4 ++--
+ multipath/main.c | 2 +-
+ multipathd/main.c | 7 ++-----
+ 5 files changed, 30 insertions(+), 10 deletions(-)
+
+diff --git a/libmultipath/configure.c b/libmultipath/configure.c
+index bd090d9..843dd09 100644
+--- a/libmultipath/configure.c
++++ b/libmultipath/configure.c
+@@ -422,6 +422,28 @@ trigger_udev_change(const struct multipath *mpp)
+ udev_device_unref(udd);
+ }
+
++void
++trigger_paths_udev_change(const struct multipath *mpp)
++{
++ struct pathgroup * pgp;
++ struct path * pp;
++ int i, j;
++
++ if (!mpp || !mpp->pg)
++ return;
++
++ vector_foreach_slot (mpp->pg, pgp, i) {
++ if (!pgp->paths)
++ continue;
++ vector_foreach_slot(pgp->paths, pp, j) {
++ if (!pp->udev)
++ continue;
++ sysfs_attr_set_value(pp->udev, "uevent", "change",
++ strlen("change"));
++ }
++ }
++}
++
+ static int
+ is_mpp_known_to_udev(const struct multipath *mpp)
+ {
+@@ -802,8 +824,8 @@ int domap(struct multipath *mpp, char *params, int is_daemon)
+ * succeeded
+ */
+ mpp->force_udev_reload = 0;
+- if (mpp->action == ACT_CREATE)
+- remember_wwid(mpp->wwid);
++ if (mpp->action == ACT_CREATE && remember_wwid(mpp->wwid) == 1)
++ trigger_paths_udev_change(mpp);
+ if (!is_daemon) {
+ /* multipath client mode */
+ dm_switchgroup(mpp->alias, mpp->bestpg);
+diff --git a/libmultipath/configure.h b/libmultipath/configure.h
+index fd7f581..253e29b 100644
+--- a/libmultipath/configure.h
++++ b/libmultipath/configure.h
+@@ -36,3 +36,4 @@ int get_refwwid (enum mpath_cmds cmd, char * dev, enum devtypes dev_type,
+ vector pathvec, char **wwid);
+ int reload_map(struct vectors *vecs, struct multipath *mpp, int refresh, int is_daemon);
+ int sysfs_get_host_adapter_name(struct path *pp, char *adapter_name);
++void trigger_paths_udev_change(const struct multipath *mpp);
+diff --git a/libmultipath/wwids.c b/libmultipath/wwids.c
+index 88bb72b..249c6c1 100644
+--- a/libmultipath/wwids.c
++++ b/libmultipath/wwids.c
+@@ -319,7 +319,7 @@ remember_wwid(char *wwid)
+ condlog(3, "wrote wwid %s to wwids file", wwid);
+ else
+ condlog(4, "wwid %s already in wwids file", wwid);
+- return 0;
++ return ret;
+ }
+
+ int remember_cmdline_wwid(void)
+@@ -353,7 +353,7 @@ int remember_cmdline_wwid(void)
+ next++;
+ }
+ if (strlen(ptr)) {
+- if (remember_wwid(ptr) != 0)
++ if (remember_wwid(ptr) < 0)
+ ret = -1;
+ }
+ else {
+diff --git a/multipath/main.c b/multipath/main.c
+index 72585b0..2eda6a3 100644
+--- a/multipath/main.c
++++ b/multipath/main.c
+@@ -336,7 +336,7 @@ configure (struct config *conf, enum mpath_cmds cmd,
+ }
+ if (cmd == CMD_ADD_WWID) {
+ r = remember_wwid(refwwid);
+- if (r == 0)
++ if (r >= 0)
+ printf("wwid '%s' added\n", refwwid);
+ else
+ printf("failed adding '%s' to wwids file\n",
+diff --git a/multipathd/main.c b/multipathd/main.c
+index 81c76ca..874bcce 100644
+--- a/multipathd/main.c
++++ b/multipathd/main.c
+@@ -2093,7 +2093,8 @@ configure (struct vectors * vecs, int start_waiters)
+
+ sync_maps_state(mpvec);
+ vector_foreach_slot(mpvec, mpp, i){
+- remember_wwid(mpp->wwid);
++ if (remember_wwid(mpp->wwid) == 1)
++ trigger_paths_udev_change(mpp);
+ update_map_pr(mpp);
+ }
+
+@@ -2175,10 +2176,6 @@ reconfigure (struct vectors * vecs)
+ conf->verbosity = verbosity;
+ if (bindings_read_only)
+ conf->bindings_read_only = bindings_read_only;
+- if (conf->find_multipaths) {
+- condlog(2, "find_multipaths is set: -n is implied");
+- ignore_new_devs = 1;
+- }
+ if (ignore_new_devs)
+ conf->ignore_new_devs = ignore_new_devs;
+ uxsock_timeout = conf->uxsock_timeout;
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0008-libmultipath-change-how-RADOS-checker-is-enabled.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0008-libmultipath-change-how-RADOS-checker-is-enabled.patch
new file mode 100644
index 000000000..f67880993
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0008-libmultipath-change-how-RADOS-checker-is-enabled.patch
@@ -0,0 +1,56 @@
+From 0be174dbedd861d7694b0c7799fe26be31eb32b0 Mon Sep 17 00:00:00 2001
+From: Benjamin Marzinski <bmarzins@redhat.com>
+Date: Fri, 26 May 2017 17:52:57 -0500
+Subject: [PATCH 08/14] libmultipath: change how RADOS checker is enabled
+
+Instead of making the user call "make", "make install" and "make clean"
+with ENABLE_RADOS set correctly, have the makefile check if
+/usr/include/rados/librados.h exists, just like it checks if specific
+functions exist in a file.
+
+Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
+---
+ Makefile.inc | 13 +++++++++++++
+ libmultipath/checkers/Makefile | 3 ++-
+ 2 files changed, 15 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile.inc b/Makefile.inc
+index 2591fa9..e084fd1 100644
+--- a/Makefile.inc
++++ b/Makefile.inc
+@@ -109,5 +109,18 @@ check_func = \
+ echo "$$found" \
+ )
+
++# Checker whether a file with name $1 exists
++check_file = $(shell \
++ if [ -f "$1" ]; then \
++ found=1; \
++ status="yes"; \
++ else \
++ found=0; \
++ status="no"; \
++ fi; \
++ echo 1>&2 "Checking if $1 exists ... $$status"; \
++ echo "$$found" \
++ )
++
+ %.o: %.c
+ $(CC) $(CFLAGS) -c -o $@ $<
+diff --git a/libmultipath/checkers/Makefile b/libmultipath/checkers/Makefile
+index 732ca9d..bce6b8b 100644
+--- a/libmultipath/checkers/Makefile
++++ b/libmultipath/checkers/Makefile
+@@ -14,7 +14,8 @@ LIBS= \
+ libcheckemc_clariion.so \
+ libcheckhp_sw.so \
+ libcheckrdac.so
+-ifneq ($(ENABLE_RADOS),0)
++
++ifneq ($(call check_file,/usr/include/rados/librados.h),0)
+ LIBS += libcheckrbd.so
+ endif
+
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0009-multipath-set-verbosity-to-default-during-config.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0009-multipath-set-verbosity-to-default-during-config.patch
new file mode 100644
index 000000000..17d2d9179
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0009-multipath-set-verbosity-to-default-during-config.patch
@@ -0,0 +1,40 @@
+From 526e539628e051128abf46a60ec22e18c9b5d84f Mon Sep 17 00:00:00 2001
+From: Benjamin Marzinski <bmarzins@redhat.com>
+Date: Wed, 31 May 2017 15:03:02 -0500
+Subject: [PATCH 09/14] multipath: set verbosity to default during config
+
+condlog was setting the verbosity to 0 if there was no configuration.
+This keeps multipath from printing warning messages about config file
+problems that are found while loading the configuration. Instead, it
+should use the default config level until it loads the configuration
+to find the current value.
+
+Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
+---
+ libmultipath/debug.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/libmultipath/debug.c b/libmultipath/debug.c
+index fbe171a..f89b264 100644
+--- a/libmultipath/debug.c
++++ b/libmultipath/debug.c
+@@ -11,6 +11,7 @@
+ #include "../third-party/valgrind/drd.h"
+ #include "vector.h"
+ #include "config.h"
++#include "defaults.h"
+
+ void dlog (int sink, int prio, const char * fmt, ...)
+ {
+@@ -21,7 +22,7 @@ void dlog (int sink, int prio, const char * fmt, ...)
+ va_start(ap, fmt);
+ conf = get_multipath_config();
+ ANNOTATE_IGNORE_READS_BEGIN();
+- thres = (conf) ? conf->verbosity : 0;
++ thres = (conf) ? conf->verbosity : DEFAULT_VERBOSITY;
+ ANNOTATE_IGNORE_READS_END();
+ put_multipath_config(conf);
+
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0010-mpath-skip-device-configs-without-vendor-product.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0010-mpath-skip-device-configs-without-vendor-product.patch
new file mode 100644
index 000000000..396b6d32e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0010-mpath-skip-device-configs-without-vendor-product.patch
@@ -0,0 +1,37 @@
+From f88d60a93e98d86ae294f2317a122c4efde276f0 Mon Sep 17 00:00:00 2001
+From: Benjamin Marzinski <bmarzins@redhat.com>
+Date: Wed, 31 May 2017 17:58:59 -0500
+Subject: [PATCH 10/14] mpath: skip device configs without vendor/product
+
+Right now if multipath.conf includes a device configuration without a
+vendor or product string, it will automatically be applied to all
+devices, skipping all other configs entirely. This is clearly wrong.
+This patch makes sure that user added configs include vendor and
+product strings
+
+Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
+---
+ libmultipath/config.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/libmultipath/config.c b/libmultipath/config.c
+index c485748..bdde113 100644
+--- a/libmultipath/config.c
++++ b/libmultipath/config.c
+@@ -452,6 +452,13 @@ restart:
+ break;
+ j = n;
+ vector_foreach_slot_after(hw, hwe2, j) {
++ /* drop invalid device configs */
++ if (!hwe2->vendor || !hwe2->product) {
++ condlog(0, "device config missing vendor or product parameter");
++ vector_del_slot(hw, j--);
++ free_hwe(hwe2);
++ continue;
++ }
+ if (hwe_regmatch(hwe1, hwe2))
+ continue;
+ /* dup */
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0011-multipathd-fix-show-maps-json-crash.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0011-multipathd-fix-show-maps-json-crash.patch
new file mode 100644
index 000000000..12d6d38a7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0011-multipathd-fix-show-maps-json-crash.patch
@@ -0,0 +1,38 @@
+From bc3ceda747104afdc24386df5dc45ca86f6c2936 Mon Sep 17 00:00:00 2001
+From: Benjamin Marzinski <bmarzins@redhat.com>
+Date: Thu, 1 Jun 2017 17:52:28 -0500
+Subject: [PATCH 11/14] multipathd: fix "show maps json" crash
+
+If there are no multipath devices, show_maps_json sets the maximum size
+of the reply buffer to 0. Having a size of 0 causes the calls to calloc
+and realloc to behave in ways that the code isn't designed to handle,
+leading to a double-free crash. Instead, show_maps_json should just
+use the INITIAL_REPLY_LEN if there are no multipath devices.
+
+Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
+---
+ multipathd/cli_handlers.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/multipathd/cli_handlers.c b/multipathd/cli_handlers.c
+index 04c7386..7b0d00c 100644
+--- a/multipathd/cli_handlers.c
++++ b/multipathd/cli_handlers.c
+@@ -162,10 +162,12 @@ show_maps_json (char ** r, int * len, struct vectors * vecs)
+ struct multipath * mpp;
+ char * c;
+ char * reply;
+- unsigned int maxlen = INITIAL_REPLY_LEN *
+- PRINT_JSON_MULTIPLIER * VECTOR_SIZE(vecs->mpvec);
++ unsigned int maxlen = INITIAL_REPLY_LEN;
+ int again = 1;
+
++ if (VECTOR_SIZE(vecs->mpvec) > 0)
++ maxlen *= PRINT_JSON_MULTIPLIER * VECTOR_SIZE(vecs->mpvec);
++
+ vector_foreach_slot(vecs->mpvec, mpp, i) {
+ if (update_multipath(vecs, mpp->alias, 0)) {
+ return 1;
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0012-multipath-tools-modify-Makefile.inc-for-cross-compil.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0012-multipath-tools-modify-Makefile.inc-for-cross-compil.patch
new file mode 100644
index 000000000..5ccd4aed8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0012-multipath-tools-modify-Makefile.inc-for-cross-compil.patch
@@ -0,0 +1,58 @@
+From 6864ba28dec61609662ce5dc8bc7ed1925abb546 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 5 Jul 2017 02:56:13 -0400
+Subject: [PATCH 12/14] multipath-tools: modify Makefile.inc for
+ cross-compilation
+
+Do not look for systemd info on the host, and allow us to pass in CFLAGS
+using the OPTFLAGS variable.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+Update for version 0.5.0-144-g770e6d0
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+Update for version 0.7.1
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ Makefile.inc | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/Makefile.inc b/Makefile.inc
+index e084fd1..c7f45fa 100644
+--- a/Makefile.inc
++++ b/Makefile.inc
+@@ -35,12 +35,6 @@ ifndef RUN
+ endif
+ endif
+
+-ifndef SYSTEMD
+- ifeq ($(shell systemctl --version > /dev/null 2>&1 && echo 1), 1)
+- SYSTEMD = $(shell systemctl --version 2> /dev/null | sed -n 's/systemd \([0-9]*\)/\1/p')
+- endif
+-endif
+-
+ ifndef SYSTEMDPATH
+ SYSTEMDPATH=usr/lib
+ endif
+@@ -82,11 +76,13 @@ TEST_CC_OPTION = $(shell \
+
+ STACKPROT := $(call TEST_CC_OPTION,-fstack-protector-strong,-fstack-protector)
+
++ifndef OPTFLAGS
+ OPTFLAGS = -O2 -g -pipe -Wall -Wextra -Wformat=2 -Werror=implicit-int \
+ -Werror=implicit-function-declaration -Werror=format-security \
+ -Wno-sign-compare -Wno-unused-parameter -Wno-clobbered \
+ -Wp,-D_FORTIFY_SOURCE=2 $(STACKPROT) \
+ --param=ssp-buffer-size=4
++endif
+
+ CFLAGS = $(OPTFLAGS) -DLIB_STRING=\"${LIB}\" -DRUN_DIR=\"${RUN}\"
+ BIN_CFLAGS = -fPIE -DPIE
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0013-Always-use-devmapper.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0013-Always-use-devmapper.patch
new file mode 100644
index 000000000..52240f643
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0013-Always-use-devmapper.patch
@@ -0,0 +1,53 @@
+From 1498338970a093fccbda3e33f5588a289ef2c66a Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 5 Jul 2017 02:59:46 -0400
+Subject: [PATCH 13/14] Always use devmapper
+
+Do not try to compute several _API_ make variables
+from host information when cross-compiling.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Aws Ismail <aws.ismail@windriver.com>
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+Rebase to 0.7.1
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ libmultipath/Makefile | 19 ++++---------------
+ 1 file changed, 4 insertions(+), 15 deletions(-)
+
+diff --git a/libmultipath/Makefile b/libmultipath/Makefile
+index b3244fc..9006b3f 100644
+--- a/libmultipath/Makefile
++++ b/libmultipath/Makefile
+@@ -20,21 +20,10 @@ ifdef SYSTEMD
+ endif
+ endif
+
+-ifneq ($(call check_func,dm_task_no_flush,/usr/include/libdevmapper.h),0)
+- CFLAGS += -DLIBDM_API_FLUSH -D_GNU_SOURCE
+-endif
+-
+-ifneq ($(call check_func,dm_task_set_cookie,/usr/include/libdevmapper.h),0)
+- CFLAGS += -DLIBDM_API_COOKIE
+-endif
+-
+-ifneq ($(call check_func,udev_monitor_set_receive_buffer_size,/usr/include/libudev.h),0)
+- CFLAGS += -DLIBUDEV_API_RECVBUF
+-endif
+-
+-ifneq ($(call check_func,dm_task_deferred_remove,/usr/include/libdevmapper.h),0)
+- CFLAGS += -DLIBDM_API_DEFERRED
+-endif
++CFLAGS += -DLIBDM_API_FLUSH -D_GNU_SOURCE
++CFLAGS += -DLIBDM_API_COOKIE
++CFLAGS += -DLIBUDEV_API_RECVBUF
++CFLAGS += -DLIBDM_API_DEFERRED
+
+ OBJS = memory.o parser.o vector.o devmapper.o callout.o \
+ hwtable.o blacklist.o util.o dmparser.o config.o \
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0014-Always-use-devmapper-for-kpartx.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0014-Always-use-devmapper-for-kpartx.patch
new file mode 100644
index 000000000..f951213c1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0014-Always-use-devmapper-for-kpartx.patch
@@ -0,0 +1,37 @@
+From 7f5869cd32a7b3f717d9544b35562d9d01ca6510 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 5 Jul 2017 03:03:16 -0400
+Subject: [PATCH 14/14] Always use devmapper for kpartx
+
+Do not try to compute the LIBDM_API_COOKIE make variable
+from host information when cross-compiling.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Aws Ismail <aws.ismail@windriver.com>
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+Rebase to 0.7.1
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ kpartx/Makefile | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/kpartx/Makefile b/kpartx/Makefile
+index bfa6fe8..be87124 100644
+--- a/kpartx/Makefile
++++ b/kpartx/Makefile
+@@ -8,9 +8,7 @@ LDFLAGS += $(BIN_LDFLAGS)
+
+ LIBDEPS += -ldevmapper
+
+-ifneq ($(call check_func,dm_task_set_cookie,/usr/include/libdevmapper.h),0)
+- CFLAGS += -DLIBDM_API_COOKIE
+-endif
++CFLAGS += -DLIBDM_API_COOKIE
+
+ OBJS = bsd.o dos.o kpartx.o solaris.o unixware.o dasd.o sun.o \
+ gpt.o mac.o ps3.o crc32.o lopart.o xstrncpy.o devmapper.o
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper-kpartx.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper-kpartx.patch
deleted file mode 100644
index 803e52c10..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper-kpartx.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 7267cf235fc052eaa1ca36e437096576edacb131 Mon Sep 17 00:00:00 2001
-From: Aws Ismail <aws.ismail@windriver.com>
-Date: Mon, 22 Sep 2014 17:22:32 -0700
-Subject: [PATCH] Always use devmapper for kpartx
-
-Do not try to compute the LIBDM_API_COOKIE make variable
-from host information when cross-compiling.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Aws Ismail <aws.ismail@windriver.com>
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
----
- kpartx/Makefile | 6 +-----
- 1 file changed, 1 insertion(+), 5 deletions(-)
-
-diff --git a/kpartx/Makefile b/kpartx/Makefile
-index e8a59f2..e694a65 100644
---- a/kpartx/Makefile
-+++ b/kpartx/Makefile
-@@ -7,11 +7,7 @@ CFLAGS += -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
-
- LIBDEPS += -ldevmapper
-
--LIBDM_API_COOKIE = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_set_cookie' /usr/include/libdevmapper.h)
--
--ifneq ($(strip $(LIBDM_API_COOKIE)),0)
-- CFLAGS += -DLIBDM_API_COOKIE
--endif
-+CFLAGS += -DLIBDM_API_COOKIE
-
- OBJS = bsd.o dos.o kpartx.o solaris.o unixware.o dasd.o sun.o \
- gpt.o mac.o ps3.o crc32.o lopart.o xstrncpy.o devmapper.o
---
-2.11.0
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper.patch
deleted file mode 100644
index 33834f6b8..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From c4f0dba4e86bfa20252fcc8218398e7468ca9149 Mon Sep 17 00:00:00 2001
-From: Aws Ismail <aws.ismail@windriver.com>
-Date: Mon, 22 Sep 2014 17:22:32 -0700
-Subject: [PATCH] Always use devmapper
-
-Do not try to compute several _API_ make variables
-from host information when cross-compiling.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Aws Ismail <aws.ismail@windriver.com>
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
----
- libmultipath/Makefile | 27 ++++-----------------------
- 1 file changed, 4 insertions(+), 23 deletions(-)
-
-diff --git a/libmultipath/Makefile b/libmultipath/Makefile
-index 495cebe..9626e69 100644
---- a/libmultipath/Makefile
-+++ b/libmultipath/Makefile
-@@ -20,29 +20,10 @@ ifdef SYSTEMD
- endif
- endif
-
--LIBDM_API_FLUSH = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_no_flush' /usr/include/libdevmapper.h)
--
--ifneq ($(strip $(LIBDM_API_FLUSH)),0)
-- CFLAGS += -DLIBDM_API_FLUSH -D_GNU_SOURCE
--endif
--
--LIBDM_API_COOKIE = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_set_cookie' /usr/include/libdevmapper.h)
--
--ifneq ($(strip $(LIBDM_API_COOKIE)),0)
-- CFLAGS += -DLIBDM_API_COOKIE
--endif
--
--LIBUDEV_API_RECVBUF = $(shell grep -Ecs '^[a-z]*[[:space:]]+udev_monitor_set_receive_buffer_size' /usr/include/libudev.h)
--
--ifneq ($(strip $(LIBUDEV_API_RECVBUF)),0)
-- CFLAGS += -DLIBUDEV_API_RECVBUF
--endif
--
--LIBDM_API_DEFERRED = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_deferred_remove' /usr/include/libdevmapper.h)
--
--ifneq ($(strip $(LIBDM_API_DEFERRED)),0)
-- CFLAGS += -DLIBDM_API_DEFERRED
--endif
-+CFLAGS += -DLIBDM_API_FLUSH -D_GNU_SOURCE
-+CFLAGS += -DLIBDM_API_COOKIE
-+CFLAGS += -DLIBUDEV_API_RECVBUF
-+CFLAGS += -DLIBDM_API_DEFERRED
-
- OBJS = memory.o parser.o vector.o devmapper.o callout.o \
- hwtable.o blacklist.o util.o dmparser.o config.o \
---
-2.11.0
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/checkers-disable-libcheckrbd.so.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/checkers-disable-libcheckrbd.so.patch
deleted file mode 100644
index 908a5162e..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/checkers-disable-libcheckrbd.so.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 148b848f45957e5e1c0466e8c79c84ba4a0bf241 Mon Sep 17 00:00:00 2001
-From: Patrick Ohly <patrick.ohly@intel.com>
-Date: Fri, 27 Jan 2017 10:35:54 +0100
-Subject: [PATCH] checkers: disable libcheckrbd.so
-
-libcheckrbd.so depends on librados, which is not currently available
-as a recipe. These checkers seem to be optional, so for now we merely
-disable compilation of libcheckrbd.so.
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
----
- libmultipath/checkers/Makefile | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/libmultipath/checkers/Makefile b/libmultipath/checkers/Makefile
-index 11ab76f..c848d50 100644
---- a/libmultipath/checkers/Makefile
-+++ b/libmultipath/checkers/Makefile
-@@ -14,7 +14,6 @@ LIBS= \
- libcheckemc_clariion.so \
- libcheckhp_sw.so \
- libcheckrdac.so \
-- libcheckrbd.so
-
- all: $(LIBS)
-
---
-2.11.0
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/makefile_inc.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/makefile_inc.patch
deleted file mode 100644
index 5b7b6966a..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/makefile_inc.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 9f5768eca165502b0f17d271aa6f7cf530ec60b2 Mon Sep 17 00:00:00 2001
-From: Joe Slater <joe.slater@windriver.com>
-Date: Mon, 22 Sep 2014 17:22:32 -0700
-Subject: [PATCH] multipath-tools: modify Makefile.inc for
- cross-compilation
-
-Do not look for systemd info on the host, and allow us to pass in CFLAGS
-using the OPTFLAGS variable.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
-Update for version 0.5.0-144-g770e6d0
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
- Makefile.inc | 17 +++++------------
- 1 file changed, 5 insertions(+), 12 deletions(-)
-
-diff --git a/Makefile.inc b/Makefile.inc
-index 1cc8f44..15f8b91 100644
---- a/Makefile.inc
-+++ b/Makefile.inc
-@@ -29,12 +29,6 @@ ifndef RUN
- endif
- endif
-
--ifndef SYSTEMD
-- ifeq ($(shell systemctl --version > /dev/null 2>&1 && echo 1), 1)
-- SYSTEMD = $(shell systemctl --version 2> /dev/null | sed -n 's/systemd \([0-9]*\)/\1/p')
-- endif
--endif
--
- ifndef SYSTEMDPATH
- SYSTEMDPATH=usr/lib
- endif
-@@ -61,13 +55,12 @@ RM = rm -f
- LN = ln -sf
- INSTALL_PROGRAM = install
-
--OPTFLAGS = -O2 -g -pipe -Wall -Wextra -Wformat=2 \
-- -Wno-sign-compare -Wno-unused-parameter -Wno-clobbered \
-- -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector \
-- --param=ssp-buffer-size=4
-+ifndef OPTFLAGS
-+OPTFLAGS = $(RPM_OPT_FLAGS) -Wunused -Wstrict-prototypes
-+endif
-
--CFLAGS = $(OPTFLAGS) -fPIC -DLIB_STRING=\"${LIB}\" -DRUN_DIR=\"${RUN}\"
--SHARED_FLAGS = -shared
-+CFLAGS = $(OPTFLAGS) -fPIC -DLIB_STRING=\"${LIB}\" -DRUN_DIR=\"${RUN}\"
-+SHARED_FLAGS = -shared
-
- %.o: %.c
- $(CC) $(CFLAGS) -c -o $@ $<
---
-2.11.0
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/multipath.conf.example b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/multipath.conf.example
new file mode 100644
index 000000000..6bbeadba2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/multipath.conf.example
@@ -0,0 +1,90 @@
+# This is a basic configuration file with some examples, for device mapper
+# multipath.
+# For a complete list of the default configuration values, see
+# /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf.defaults
+# For a list of configuration options with descriptions, see
+# /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf.annotated
+
+## By default, devices with vendor = "IBM" and product = "S/390.*" are
+## blacklisted. To enable mulitpathing on these devies, uncomment the
+## following lines.
+#blacklist_exceptions {
+# device {
+# vendor "IBM"
+# product "S/390.*"
+# }
+#}
+
+## Use user friendly names, instead of using WWIDs as names.
+defaults {
+ user_friendly_names yes
+}
+##
+## Here is an example of how to configure some standard options.
+##
+#
+#defaults {
+# udev_dir /dev
+# polling_interval 10
+# selector "round-robin 0"
+# path_grouping_policy multibus
+# getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
+# prio alua
+# path_checker readsector0
+# rr_min_io 100
+# max_fds 8192
+# rr_weight priorities
+# failback immediate
+# no_path_retry fail
+# user_friendly_names yes
+#}
+##
+## The wwid line in the following blacklist section is shown as an example
+## of how to blacklist devices by wwid. The 2 devnode lines are the
+## compiled in default blacklist. If you want to blacklist entire types
+## of devices, such as all scsi devices, you should use a devnode line.
+## However, if you want to blacklist specific devices, you should use
+## a wwid line. Since there is no guarantee that a specific device will
+## not change names on reboot (from /dev/sda to /dev/sdb for example)
+## devnode lines are not recommended for blacklisting specific devices.
+##
+#blacklist {
+# wwid 26353900f02796769
+# devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
+# devnode "^hd[a-z]"
+#}
+#multipaths {
+# multipath {
+# wwid 3600508b4000156d700012000000b0000
+# alias yellow
+# path_grouping_policy multibus
+# path_checker readsector0
+# path_selector "round-robin 0"
+# failback manual
+# rr_weight priorities
+# no_path_retry 5
+# }
+# multipath {
+# wwid 1DEC_____321816758474
+# alias red
+# }
+#}
+#devices {
+# device {
+# vendor "COMPAQ "
+# product "HSV110 (C)COMPAQ"
+# path_grouping_policy multibus
+# getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
+# path_checker readsector0
+# path_selector "round-robin 0"
+# hardware_handler "0"
+# failback 15
+# rr_weight priorities
+# no_path_retry queue
+# }
+# device {
+# vendor "COMPAQ "
+# product "MSA1000 "
+# path_grouping_policy multibus
+# }
+#}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/shared-libs-avoid-linking-.so-as-executable.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/shared-libs-avoid-linking-.so-as-executable.patch
deleted file mode 100644
index 88579e6aa..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/shared-libs-avoid-linking-.so-as-executable.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 4311856200480288494df8df737f71ea316592d0 Mon Sep 17 00:00:00 2001
-From: Patrick Ohly <patrick.ohly@intel.com>
-Date: Thu, 26 Jan 2017 15:28:34 +0100
-Subject: [PATCH] shared libs: avoid linking .so as executable
-
-When the OE build systems sets CFLAGS including -pie, gcc overrides
-the earlier -shared parameter and tries to link a binary, leading to
-errors about missing functions like main().
-
-Reordering the parameters so that -shared comes after CFLAGS
-fixes this.
-
-Upstream-Status: Inappropriate [OE specific, -pie shouldn't be in CFLAGS?!]
-
-Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
----
-diff --git a/libmpathcmd/Makefile b/libmpathcmd/Makefile
-index 457c4ca..f68c82c 100644
---- a/libmpathcmd/Makefile
-+++ b/libmpathcmd/Makefile
-@@ -9,7 +9,7 @@ OBJS = mpath_cmd.o
- all: $(LIBS)
-
- $(LIBS): $(OBJS)
-- $(CC) $(LDFLAGS) $(SHARED_FLAGS) -Wl,-soname=$@ $(CFLAGS) -o $@ $(OBJS) $(LIBDEPS)
-+ $(CC) $(LDFLAGS) $(CFLAGS) $(SHARED_FLAGS) -Wl,-soname=$@ -o $@ $(OBJS) $(LIBDEPS)
- $(LN) $@ $(DEVLIB)
-
- install: $(LIBS)
-diff --git a/libmpathpersist/Makefile b/libmpathpersist/Makefile
-index 6e43427..2486302 100644
---- a/libmpathpersist/Makefile
-+++ b/libmpathpersist/Makefile
-@@ -15,7 +15,7 @@ all: $(LIBS)
-
- $(LIBS):
- $(CC) -c $(CFLAGS) *.c
-- $(CC) $(LDFLAGS) $(SHARED_FLAGS) $(LIBDEPS) -Wl,-soname=$@ $(CFLAGS) -o $@ $(OBJS)
-+ $(CC) $(LDFLAGS) $(CFLAGS) $(SHARED_FLAGS) $(LIBDEPS) -Wl,-soname=$@ -o $@ $(OBJS)
- $(LN) $(LIBS) $(DEVLIB)
- $(GZIP) mpath_persistent_reserve_in.3 > mpath_persistent_reserve_in.3.gz
- $(GZIP) mpath_persistent_reserve_out.3 > mpath_persistent_reserve_out.3.gz
-diff --git a/libmultipath/Makefile b/libmultipath/Makefile
-index 495cebe..752bcc0 100644
---- a/libmultipath/Makefile
-+++ b/libmultipath/Makefile
-@@ -55,7 +55,7 @@ OBJS = memory.o parser.o vector.o devmapper.o callout.o \
- all: $(LIBS)
-
- $(LIBS): $(OBJS)
-- $(CC) $(LDFLAGS) $(SHARED_FLAGS) -Wl,-soname=$@ $(CFLAGS) -o $@ $(OBJS) $(LIBDEPS)
-+ $(CC) $(LDFLAGS) $(CFLAGS) $(SHARED_FLAGS) -Wl,-soname=$@ -o $@ $(OBJS) $(LIBDEPS)
- $(LN) $@ $(DEVLIB)
-
- install:
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.7.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.7.1.bb
new file mode 100644
index 000000000..6ec5dffcc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.7.1.bb
@@ -0,0 +1,113 @@
+SUMMARY = "The upstream project used to drive the Device Mapper multipathing driver"
+
+DESCRIPTION = "It provides tools to manage multipath devices \
+by instructing the device-mapper kernel module what to do. These \
+tools include: \
+1. multipath - Scan the system for multipath devices and assemble them.\
+2. multipathd - Detects when paths fail and execs multipath to update \
+things.\
+3. mpathpersist - Persistent reservation management feature allows \
+cluster management software to manage persistent reservation through \
+mpath device. It processes management requests from callers and hides \
+the management task details. It also handles persistent reservation \
+management of data path life cycle and state changes.\
+4. kpartx - This tool, derived from util-linux's partx, reads partition \
+tables on specified device and create device maps over partitions \
+segments detected. It is called from hotplug upon device maps creation \
+and deletion"
+
+HOMEPAGE = "http://christophe.varoqui.free.fr/"
+
+DEPENDS = "libdevmapper \
+ libaio \
+ liburcu \
+ readline \
+ udev \
+ json-c \
+ "
+
+LICENSE = "GPLv2"
+
+SRC_URI = "git://git.opensvc.com/multipath-tools/.git;protocol=http \
+ file://multipathd.oe \
+ file://multipath.conf.example \
+ file://0001-multipath-attempt-at-common-multipath.rules.patch \
+ file://0002-RH-fixup-udev-rules-for-redhat.patch \
+ file://0003-RH-Remove-the-property-blacklist-exception-builtin.patch \
+ file://0004-RH-don-t-start-without-a-config-file.patch \
+ file://0005-RH-add-mpathconf.patch \
+ file://0006-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch \
+ file://0007-RH-trigger-change-uevent-on-new-device-creation.patch \
+ file://0008-libmultipath-change-how-RADOS-checker-is-enabled.patch \
+ file://0009-multipath-set-verbosity-to-default-during-config.patch \
+ file://0010-mpath-skip-device-configs-without-vendor-product.patch \
+ file://0011-multipathd-fix-show-maps-json-crash.patch \
+ file://0012-multipath-tools-modify-Makefile.inc-for-cross-compil.patch \
+ file://0013-Always-use-devmapper.patch \
+ file://0014-Always-use-devmapper-for-kpartx.patch \
+ file://0001-kpartx-include-limits.h-for-PATH_MAX.patch \
+ "
+LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
+
+SRCREV = "f21166a812a2cfb50ecf9550d32947c83103f83a"
+
+S = "${WORKDIR}/git"
+
+inherit systemd pkgconfig
+
+SYSTEMD_SERVICE_${PN} = "multipathd.service"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+# multipath-tools includes a copy of the valgrind.h header
+# file and uses the macros to suppress some false positives. However,
+# that only works on ARM when thumb is disabled. Otherwise one gets:
+# Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#3'
+# ../Makefile.inc:66: recipe for target 'debug.o' failed
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+
+# The exact version of SYSTEMD does not matter but should be greater than 209.
+#
+EXTRA_OEMAKE = 'MULTIPATH_VERSION=${PV} DESTDIR=${D} syslibdir=${base_libdir} \
+ OPTFLAGS="${CFLAGS}" \
+ bindir=${base_sbindir} \
+ LIB=${base_libdir} libdir=${base_libdir}/multipath \
+ unitdir=${systemd_system_unitdir} \
+ ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "SYSTEMD=216", "", d)} \
+ '
+
+do_install() {
+ oe_runmake install
+
+ # We copy an initscript, but do not start multipathd at init time.
+ #
+ if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)};then
+ install -d ${D}${sysconfdir}/init.d
+ cp ${WORKDIR}/multipathd.oe ${D}${sysconfdir}/init.d/multipathd
+ fi
+
+ install -d ${D}${sysconfdir}
+ install -m 0644 ${WORKDIR}/multipath.conf.example \
+ ${D}${sysconfdir}/multipath.conf.example
+}
+
+FILES_${PN}-dbg += "${base_libdir}/multipath/.debug"
+
+PACKAGES =+ "${PN}-libs"
+FILES_${PN}-libs = "${base_libdir}/lib*.so.* \
+ ${base_libdir}/multipath/lib*.so*"
+RDEPENDS_${PN} += "${PN}-libs bash"
+
+PROVIDES += "device-mapper-multipath"
+RPROVIDES_${PN} += "device-mapper-multipath"
+RPROVIDES_${PN}-libs += "device-mapper-multipath-libs"
+
+FILES_${PN}-dev += "${base_libdir}/pkgconfig"
+
+PACKAGES =+ "kpartx"
+FILES_kpartx = "${base_sbindir}/kpartx \
+ ${nonarch_libdir}/udev/kpartx_id \
+ "
+
+RDEPENDS_${PN} += "bash kpartx"
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
deleted file mode 100644
index 5f8c42257..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb
+++ /dev/null
@@ -1,71 +0,0 @@
-SUMMARY = "The upstream project used to drive the Device Mapper multipathing driver"
-
-DEPENDS = "libdevmapper libaio liburcu readline udev"
-
-LICENSE = "LGPLv2"
-
-SRC_URI = "git://git.opensvc.com/multipath-tools/.git;protocol=http \
- file://multipathd.oe \
- file://makefile_inc.patch \
- file://always-use-libdevmapper.patch \
- file://always-use-libdevmapper-kpartx.patch \
- file://0001-multipathd.service-Error-fix.patch \
- file://shared-libs-avoid-linking-.so-as-executable.patch \
- file://checkers-disable-libcheckrbd.so.patch \
- "
-LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
-
-# 0.6.4
-SRCREV = "922421cf795d53d339862bb2d99f1a85c96ad9a3"
-
-inherit systemd
-
-
-S = "${WORKDIR}/git"
-
-PV = "0.6.4+git${@'${SRCPV}'.split('+')[-1]}"
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-# multipath-tools includes a copy of the valgrind.h header
-# file and uses the macros to suppress some false positives. However,
-# that only works on ARM when thumb is disabled. Otherwise one gets:
-# Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#3'
-# ../Makefile.inc:66: recipe for target 'debug.o' failed
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-
-# The exact version of SYSTEMD does not matter but should be greater than 209.
-#
-EXTRA_OEMAKE = 'MULTIPATH_VERSION=${PV} DESTDIR=${D} syslibdir=${base_libdir} \
- OPTFLAGS="${CFLAGS}" \
- bindir=${base_sbindir} \
- LIB=${base_libdir} libdir=${base_libdir}/multipath \
- unitdir=${systemd_system_unitdir} \
- ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "SYSTEMD=216", "", d)} \
- '
-
-do_install() {
- oe_runmake install
-
- # We copy an initscript, but do not start multipathd at init time.
- #
- install -d ${D}${sysconfdir}/init.d
- cp ${WORKDIR}/multipathd.oe ${D}${sysconfdir}/init.d/multipathd
-
-}
-
-FILES_${PN}-dbg += "${base_libdir}/multipath/.debug"
-
-# systemd and udev stuff always goes under /lib!
-#
-FILES_${PN} += "${base_libdir}/multipath \
- ${systemd_system_unitdir} \
- "
-
-PACKAGES =+ "kpartx"
-FILES_kpartx = "${base_sbindir}/kpartx \
- ${nonarch_libdir}/udev/kpartx_id \
- "
-
-RDEPENDS_${PN} += "kpartx"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb-native_5.5.55.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb-native_5.5.57.bb
index 4ce960d7d..4ce960d7d 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb-native_5.5.55.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb-native_5.5.57.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 fd9dcbd1a..263b3139e 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 @@ SECTION = "libs"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-SRC_URI = "http://downloads.mariadb.com/MariaDB/mariadb-${PV}/source/mariadb-${PV}.tar.gz \
+SRC_URI = "https://downloads.mariadb.org/f/${BP}/source/${BP}.tar.gz \
file://fix-cmake-module-path.patch \
file://remove-bad-path.patch \
file://fix-mysqlclient-r-version.patch \
@@ -17,10 +17,10 @@ SRC_URI = "http://downloads.mariadb.com/MariaDB/mariadb-${PV}/source/mariadb-${P
file://fix-a-building-failure.patch \
file://change-cc-to-cc-version.patch \
file://0001-disable-ucontext-on-musl.patch \
- file://gcc7.patch \
"
-SRC_URI[md5sum] = "54a0bbbc9b67308e7c076622d02f0fcd"
-SRC_URI[sha256sum] = "cb94e315d0fc90c62db5a6c7829c9966f674285d99b3ba3ffa575fb4a26edc86"
+
+SRC_URI[md5sum] = "2d4104aae0b9e5efa8878918bd329cb4"
+SRC_URI[sha256sum] = "5dbde98d7e4a5a1721b6cbed7898b2549a88866247951cf586057975c6cea641"
S = "${WORKDIR}/mariadb-${PV}"
@@ -82,6 +82,9 @@ EXTRA_OECMAKE = "-DWITH_EMBEDDED_SERVER=ON \
-DCAT_EXECUTABLE=`which cat` \
-DCMAKE_AR:FILEPATH=${AR}"
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+
do_configure_append() {
# handle distros with different values of ${libexecdir}
libexecdir2=`echo ${libexecdir} | sed -e 's+/usr/++g'`
@@ -255,6 +258,7 @@ FILES_${PN}-server = "\
${bindir}/mysqlbinlog \
${bindir}/mysqld_multi \
${bindir}/mysqld_safe \
+ ${bindir}/mysqld_safe_helper \
${bindir}/mysqlhotcopy \
${bindir}/mysqltest \
${bindir}/ndb_delete_all \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/gcc7.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/gcc7.patch
deleted file mode 100644
index 3e75b26c7..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/gcc7.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: mariadb-5.5.55/client/mysql.cc
-===================================================================
---- mariadb-5.5.55.orig/client/mysql.cc
-+++ mariadb-5.5.55/client/mysql.cc
-@@ -2850,7 +2850,7 @@ You can turn off this feature to get a q
- mysql_free_result(fields);
- break;
- }
-- field_names[i][num_fields*2]= '\0';
-+ field_names[i][num_fields*2][0]= '\0';
- j=0;
- while ((sql_field=mysql_fetch_field(fields)))
- {
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb_5.5.55.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb_5.5.57.bb
index d7895732a..d7895732a 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb_5.5.55.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb_5.5.57.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/nghttp2/nghttp2_1.26.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/nghttp2/nghttp2_1.26.0.bb
new file mode 100644
index 000000000..3e6b10a43
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/nghttp2/nghttp2_1.26.0.bb
@@ -0,0 +1,16 @@
+SUMMARY = "HTTP/2 C Library and tools"
+HOMEPAGE = "https://nghttp2.org/"
+SECTION = "libs"
+
+DEPENDS = "pkgconfig cunit zlib openssl libxml2 jansson c-ares"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+SRC_URI = "https://github.com/nghttp2/nghttp2/releases/download/v${PV}/nghttp2-${PV}.tar.bz2"
+SRC_URI[md5sum] = "926f07ad3b50f38f7d8935ced04716cf"
+SRC_URI[sha256sum] = "0df4229f4123b5aa96e834ebcfdffe954e93d986f0252fd10123d50c6f010983"
+
+inherit cmake pythonnative python-dir
+
+EXTRA_OECMAKE = ""
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/nmon/nmon/0001-lmon16g.c-Adjust-system-headers.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/nmon/nmon/0001-lmon16g.c-Adjust-system-headers.patch
new file mode 100644
index 000000000..e8debe56a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/nmon/nmon/0001-lmon16g.c-Adjust-system-headers.patch
@@ -0,0 +1,46 @@
+From d977b5170027926eb97ab9742ddc51d2a5555a34 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 14 Jul 2017 10:06:49 -0700
+Subject: [PATCH] lmon16g.c: Adjust system headers
+
+fstab.h is unused
+errno.h is in /usr/include
+defines from sys/cdefs.h is used
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lmon16g.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lmon16g.c b/lmon16g.c
+index cb27e09..d2a11c5 100644
+--- a/lmon16g.c
++++ b/lmon16g.c
+@@ -63,7 +63,7 @@ static char *SccsId = "nmon " VERSION;
+ #include <fcntl.h>
+ #include <math.h>
+ #include <time.h>
+-#include <sys/errno.h>
++#include <errno.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <sys/ioctl.h>
+@@ -71,6 +71,7 @@ static char *SccsId = "nmon " VERSION;
+ #include <sys/time.h>
+ #include <sys/socket.h>
+ #include <sys/wait.h>
++#include <sys/cdefs.h>
+
+ /* Windows moved here so they can be cleared when the screen mode changes */
+ WINDOW *padwelcome = NULL;
+@@ -576,7 +577,6 @@ struct procsinfo {
+ int isroot = 0;
+
+ #include <mntent.h>
+-#include <fstab.h>
+ #include <sys/stat.h>
+ #include <sys/statfs.h>
+ #include <net/if.h>
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/nmon/nmon_13g.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/nmon/nmon_13g.bb
deleted file mode 100644
index 1f7518972..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/nmon/nmon_13g.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "nmon performance monitor"
-HOMEPAGE = "http://nmon.sf.net"
-SECTION = "console/utils"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://${WORKDIR}/Documentation.txt;md5=dbb13658cf55d687c4f2ff771a696d4a"
-DEPENDS = "ncurses"
-PR = "r2"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/nmon/lmon13g.c;name=lmon \
- ${SOURCEFORGE_MIRROR}/nmon/Documentation.txt;name=doc \
-"
-
-SRC_URI[lmon.md5sum] = "b1b8e6c0123ad232394991f2d4f40494"
-SRC_URI[lmon.sha256sum] = "456ab2a342b31d1a352d0d940af5962fa65a12ae8757ff73e6e73210832ae8b5"
-SRC_URI[doc.md5sum] = "dbb13658cf55d687c4f2ff771a696d4a"
-SRC_URI[doc.sha256sum] = "1f7f83afe62a7210be5e83cd24157adb854c14599efe0b377a7ecca933869278"
-
-CFLAGS += "-D JFS -D GETUSER -Wall -D LARGEMEM"
-LDFLAGS += "-ltinfo -lncursesw"
-ASNEEDED_pn-nmon = ""
-
-do_compile() {
- ${CC} ${CFLAGS} ${LDFLAGS} ${WORKDIR}/lmon13g.c -o nmon
-}
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 nmon ${D}${bindir}
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/nmon/nmon_16g.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/nmon/nmon_16g.bb
new file mode 100644
index 000000000..e77faa30a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/nmon/nmon_16g.bb
@@ -0,0 +1,31 @@
+SUMMARY = "nmon performance monitor"
+HOMEPAGE = "http://nmon.sf.net"
+SECTION = "console/utils"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/Documentation.txt;md5=dbb13658cf55d687c4f2ff771a696d4a"
+DEPENDS = "ncurses"
+DEPENDS_append_libc-musl = " bsd-headers"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/nmon/lmon${PV}.c;name=lmon \
+ ${SOURCEFORGE_MIRROR}/nmon/Documentation.txt;name=doc \
+ file://0001-lmon16g.c-Adjust-system-headers.patch \
+"
+SRC_URI[lmon.md5sum] = "246ccfc74d5af55d992601fc4d3d4a72"
+SRC_URI[lmon.sha256sum] = "da82dd693b503b062854dfe7dbb5d36b347872ab44a4aa05b97e9d577747f688"
+SRC_URI[doc.md5sum] = "dbb13658cf55d687c4f2ff771a696d4a"
+SRC_URI[doc.sha256sum] = "1f7f83afe62a7210be5e83cd24157adb854c14599efe0b377a7ecca933869278"
+
+CFLAGS += "-D JFS -D GETUSER -Wall -D LARGEMEM"
+LDFLAGS += "-ltinfo -lncursesw -lm"
+ASNEEDED_pn-nmon = ""
+
+S = "${WORKDIR}"
+
+do_compile() {
+ ${CC} ${CFLAGS} ${LDFLAGS} lmon${PV}.c -o nmon
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 nmon ${D}${bindir}
+}
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
deleted file mode 100644
index dd159a3b1..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/numactl/numactl_2.0.11.bb
+++ /dev/null
@@ -1,57 +0,0 @@
-SUMMARY = "Development package for building Applications that use numa"
-DESCRIPTION = "Simple NUMA policy support. It consists of a numactl program \
-to run other programs with a specific NUMA policy and a libnuma to do \
-allocations with NUMA policy in applications."
-LICENSE = "GPL-2.0 & LGPL-2.1"
-SECTION = "apps"
-RDEPENDS_${PN} = "perl"
-
-inherit autotools-brokensep ptest
-
-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 \
-"
-SRC_URI[md5sum] = "d3bc88b7ddb9f06d60898f4816ae9127"
-SRC_URI[sha256sum] = "450c091235f891ee874a8651b179c30f57a1391ca5c4673354740ba65e527861"
-
-# ARM does not currently support NUMA
-COMPATIBLE_HOST = "^((?!arm).*)$"
-
-do_install() {
- oe_runmake DESTDIR=${D} prefix=${D}/usr install
- #remove the empty man2 directory
- rm -r ${D}${mandir}/man2
-}
-
-do_compile_ptest() {
- 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"
-
- [ ! -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
-
- 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/numactl/numactl_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/numactl/numactl_git.bb
new file mode 100644
index 000000000..b9cbcf09d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/numactl/numactl_git.bb
@@ -0,0 +1,61 @@
+SUMMARY = "Development package for building Applications that use numa"
+HOMEPAGE = "http://oss.sgi.com/projects/libnuma/"
+DESCRIPTION = "Simple NUMA policy support. It consists of a numactl program \
+to run other programs with a specific NUMA policy and a libnuma to do \
+allocations with NUMA policy in applications."
+LICENSE = "GPL-2.0 & LGPL-2.1"
+SECTION = "apps"
+RDEPENDS_${PN} = "perl"
+
+inherit autotools-brokensep ptest
+
+LIC_FILES_CHKSUM = "file://README;beginline=19;endline=32;md5=5644cc3851cb2499f6c48e52fe198bd9"
+
+SRCREV = "ea3a70681c2f523fe58e1d44527f478ca76db74e"
+PV = "2.0.11+git${SRCPV}"
+
+SRC_URI = "git://github.com/numactl/numactl \
+ file://fix-null-pointer.patch \
+ file://Fix-the-test-output-format.patch \
+ file://Makefile \
+ file://run-ptest \
+ file://0001-define-run-test-target.patch \
+"
+
+S = "${WORKDIR}/git"
+
+# ARM does not currently support NUMA
+COMPATIBLE_HOST = "^((?!arm).*)$"
+
+do_install() {
+ oe_runmake DESTDIR=${D} prefix=${D}/usr install
+ #remove the empty man2 directory
+ rm -r ${D}${mandir}/man2
+}
+
+do_compile_ptest() {
+ 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"
+
+ [ ! -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
+
+ 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/ode/ode/configure.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/ode/ode/configure.patch
deleted file mode 100644
index 246b2e2c2..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/ode/ode/configure.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: ode-0.13/libccd/configure.ac
-===================================================================
---- ode-0.13.orig/libccd/configure.ac 2013-08-19 17:48:03.000000000 +0000
-+++ ode-0.13/libccd/configure.ac 2014-07-17 22:04:16.580595690 +0000
-@@ -5,7 +5,7 @@
- AC_INIT([libccd], [1.0], [danfis@danfis.cz])
- AC_CONFIG_SRCDIR([src/ccd.c])
- AC_CONFIG_HEADERS([src/config.h])
--AM_INIT_AUTOMAKE
-+AM_INIT_AUTOMAKE([foreign])
-
- # Checks for programs.
- AC_PROG_CXX
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/ode/ode_0.13.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/ode/ode_0.13.bb
deleted file mode 100644
index c90c81954..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/ode/ode_0.13.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "ODE is an Open Source Physics Engine"
-SECTION = "libs"
-HOMEPAGE = "http://www.ode.org"
-LICENSE = "LGPLv2.1 & BSD"
-LIC_FILES_CHKSUM = " \
- file://COPYING;md5=1de906ee96808d9776dd72a5f9a79a22 \
- file://LICENSE.TXT;md5=771782cb6245c7fbbe74bc0ec059beff \
-"
-# LICENSE-BSD.TXT is missing in 0.13 tarball, but COPYING still says it's dual licensed
-# and svn repo still contains LICENSE-BSD.TXT so maybe it will return in next tarball
-# file://LICENSE-BSD.TXT;md5=c74e6304a772117e059458fb9763a928
-
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/opende/ode-${PV}.tar.bz2 \
- file://configure.patch"
-SRC_URI[md5sum] = "04b32c9645c147e18caff7a597a19f84"
-SRC_URI[sha256sum] = "34ce3e236e313bf109a0cb5546d2fca462aed99f29a42e62bc1463b803c31ef9"
-
-inherit autotools binconfig
-
-EXTRA_OECONF = "--disable-demos --enable-soname"
-
-FILES_${PN} = "${libdir}/lib*${SOLIBS}"
-
-PACKAGECONFIG ?= ""
-# if it isn't explicitly selected and "$build_os" == "$target_os", then configure will run
-# series of AC_TRY_RUN which won't work for cross-compilation and configure fails
-PACKAGECONFIG[double-precision] = "--enable-double-precision,--disable-double-precision"
-
-PNBLACKLIST[ode] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130599/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-PNBLACKLIST[ode] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130620/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
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
deleted file mode 100644
index d3f2e789b..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/open-vcdiff/open-vcdiff_0.8.4.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "An encoder/decoder for the VCDIFF (RFC3284) format"
-DESCRIPTION = "A library with a simple API is included, as well as a \
- command-line executable that can apply the encoder and \
- decoder to source, target, and delta files. \
- A slight variation from the draft standard is defined \
- to allow chunk-by-chunk decoding when only a partial \
- delta file window is available."
-HOMEPAGE = "http://code.google.com/p/open-vcdiff/"
-SECTION = "console/utils"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ff820d4ddc1ba05b6fd37b41a21506f9"
-
-SRC_URI = "https://drive.google.com/uc?id=0B5WpIi2fQU1aNGJwVE9hUjU5clU&export=download;downloadfilename=${BP}.tar.gz"
-SRC_URI[md5sum] = "5c0d378d907bebc38b51c3d7e4117011"
-SRC_URI[sha256sum] = "2b142b1027fb0a62c41347600e01a53fa274dad15445a7da48083c830c3138b3"
-
-inherit autotools
-
-# http://errors.yoctoproject.org/Errors/Details/68667/
-PNBLACKLIST[open-vcdiff] ?= "BROKEN: fails to build with gcc-6 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/files/tools.conf b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/files/tools.conf
new file mode 100644
index 000000000..f6cae70cc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/files/tools.conf
@@ -0,0 +1,2 @@
+[guestinfo]
+disable-perf-mon=1
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/files/vmtoolsd.service b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/files/vmtoolsd.service
new file mode 100644
index 000000000..d30e38055
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/files/vmtoolsd.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Open Virtual Machine Tools (VMware Tools)
+ConditionVirtualization=vmware
+
+[Service]
+ExecStart=/usr/bin/vmtoolsd
+Restart=on-failure
+KillSignal=SIGKILL
+
+[Install]
+WantedBy=multi-user.target
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Remove-assumptions-about-glibc-being-only-libc-imple.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Remove-assumptions-about-glibc-being-only-libc-imple.patch
new file mode 100644
index 000000000..9773b4a94
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Remove-assumptions-about-glibc-being-only-libc-imple.patch
@@ -0,0 +1,45 @@
+From a0983d84185f04c4e40778fe951fde4439894882 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 16 Jul 2017 07:37:03 -0700
+Subject: [PATCH 01/11] Remove assumptions about glibc being only libc
+ implementation on linux
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ open-vm-tools/lib/file/fileIOPosix.c | 2 +-
+ open-vm-tools/lib/include/vm_basic_defs.h | 2 ++
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+Index: open-vm-tools/lib/file/fileIOPosix.c
+===================================================================
+--- open-vm-tools.orig/lib/file/fileIOPosix.c
++++ open-vm-tools/lib/file/fileIOPosix.c
+@@ -205,7 +205,7 @@ static AlignedPool alignedPool;
+ * are not available in any header file.
+ */
+
+-#if defined(__linux__) && !defined(__ANDROID__)
++#if defined(__linux__) && defined(__GLIBC__)
+ #if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)
+ /*
+ * We want preadv/pwritev. But due to FOB=64, the symbols are -64.
+Index: open-vm-tools/lib/include/vm_basic_defs.h
+===================================================================
+--- open-vm-tools.orig/lib/include/vm_basic_defs.h
++++ open-vm-tools/lib/include/vm_basic_defs.h
+@@ -571,6 +571,7 @@ typedef int pid_t;
+ #if defined __linux__ && !defined __KERNEL__ && !defined MODULE && \
+ !defined VMM && !defined FROBOS && !defined __ANDROID__
+ #include <features.h>
++#if __GLIBC__
+ #if __GLIBC_PREREQ(2, 1) && !defined GLIBC_VERSION_21
+ #define GLIBC_VERSION_21
+ #endif
+@@ -590,6 +591,7 @@ typedef int pid_t;
+ #define GLIBC_VERSION_212
+ #endif
+ #endif
++#endif
+
+ /*
+ * Convenience definitions of unicode characters.
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch
new file mode 100644
index 000000000..e9cb873f1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch
@@ -0,0 +1,41 @@
+From 929150608c16644695f19cd2e0cc8a06a41cd497 Mon Sep 17 00:00:00 2001
+From: Martin Kelly <mkelly@xevo.com>
+Date: Fri, 7 Apr 2017 15:20:30 -0700
+Subject: [PATCH] configure.ac: don't use dnet-config
+
+The dnet-config tool doesn't know about cross-compilation, so it injects
+-I/usr/include into the path, causing compiler errors. So instead find dnet via
+-ldnet.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Martin Kelly <mkelly@xevo.com>
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 3400b86..7d6119e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -942,7 +942,7 @@ if test "$with_dnet" = "yes"; then
+ AC_VMW_CHECK_LIB([dnet],
+ [DNET],
+ [],
+- [dnet-config],
++ [],
+ [],
+ [dnet.h],
+ [intf_open],
+@@ -952,7 +952,7 @@ if test "$with_dnet" = "yes"; then
+
+ if test $have_dnet = "no"; then
+ AC_MSG_ERROR(
+- [dnet-config was not found on your PATH. Please configure without dnet (using --without-dnet) or install dnet - http://libdnet.sourceforge.net])
++ [dnet was not found. Please configure without dnet (using --without-dnet) or install dnet - http://libdnet.sourceforge.net])
+ fi
+ fi
+
+--
+2.1.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch
new file mode 100644
index 000000000..f905601d5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch
@@ -0,0 +1,33 @@
+From 5818acc8032e3247257730376e947330340a07b3 Mon Sep 17 00:00:00 2001
+From: Martin Kelly <mkelly@xevo.com>
+Date: Mon, 22 May 2017 17:00:05 -0700
+Subject: [PATCH 2/2] add #include <sys/sysmacros.h>
+
+In newer glibc versions, the definition for major() has been moved to
+sys/sysmacros.h, and using the older version in <sys/types.h> has been
+deprecated. So, add an include for <sys/sysmacros.h>.
+
+Upstream-Status: Pending
+
+Signed-off-by: Martin Kelly <mkelly@xevo.com>
+---
+ lib/wiper/wiperPosix.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/open-vm-tools/lib/wiper/wiperPosix.c b/open-vm-tools/lib/wiper/wiperPosix.c
+index d389eee..1f221fc 100644
+--- a/lib/wiper/wiperPosix.c
++++ b/lib/wiper/wiperPosix.c
+@@ -40,6 +40,9 @@
+ # include <libgen.h>
+ # endif /* __FreeBSD_version >= 500000 */
+ #endif
++#if defined(__linux__)
++#include <sys/sysmacros.h>
++#endif
+ #include <unistd.h>
+
+ #include "vmware.h"
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-include-poll.h-instead-of-obsolete-sys-poll.h.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-include-poll.h-instead-of-obsolete-sys-poll.h.patch
new file mode 100644
index 000000000..d26bf2dd3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-include-poll.h-instead-of-obsolete-sys-poll.h.patch
@@ -0,0 +1,24 @@
+From d44c7c9de7380ad7b284231bd5b5c99b5c19758d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 16 Jul 2017 07:37:59 -0700
+Subject: [PATCH 02/11] include poll.h instead of obsolete sys/poll.h
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ open-vm-tools/lib/asyncsocket/asyncSocketInt.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: open-vm-tools/lib/asyncsocket/asyncSocketInt.h
+===================================================================
+--- open-vm-tools.orig/lib/asyncsocket/asyncSocketInt.h
++++ open-vm-tools/lib/asyncsocket/asyncSocketInt.h
+@@ -71,8 +71,8 @@
+ #else
+ #include <stddef.h>
+ #include <ctype.h>
++#include <poll.h>
+ #include <sys/types.h>
+-#include <sys/poll.h>
+ #include <sys/socket.h>
+ #include <sys/un.h>
+ #include <netdb.h>
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Rename-poll.h-to-vm_poll.h.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Rename-poll.h-to-vm_poll.h.patch
new file mode 100644
index 000000000..8641778d0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Rename-poll.h-to-vm_poll.h.patch
@@ -0,0 +1,756 @@
+From 687fca20b3417ac885b6961e6fe1126d4a3fe7a4 Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Tue, 17 Nov 2015 10:57:31 +0000
+Subject: [PATCH 03/11] Rename poll.h to vm_poll.h
+
+musl libc's system headers pulls in open-vm-tools' poll.h. To avoid this
+we rename poll.h to vm_poll.h.
+
+Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
+---
+ open-vm-tools/lib/asyncsocket/asyncsocket.c | 2 +-
+ open-vm-tools/lib/hgfsServer/hgfsServer.c | 2 +-
+ open-vm-tools/lib/include/asyncsocket.h | 2 +-
+ open-vm-tools/lib/include/pollImpl.h | 2 +-
+ open-vm-tools/lib/include/{poll.h => vm_poll.h} | 0
+ open-vm-tools/lib/rpcIn/rpcin.c | 2 +-
+ open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c | 2 +-
+ 7 files changed, 6 insertions(+), 6 deletions(-)
+ rename open-vm-tools/lib/include/{poll.h => vm_poll.h} (100%)
+
+Index: open-vm-tools/lib/asyncsocket/asyncsocket.c
+===================================================================
+--- open-vm-tools.orig/lib/asyncsocket/asyncsocket.c
++++ open-vm-tools/lib/asyncsocket/asyncsocket.c
+@@ -52,7 +52,7 @@
+ #include "vmware.h"
+ #include "asyncsocket.h"
+ #include "asyncSocketInt.h"
+-#include "poll.h"
++#include "vm_poll.h"
+ #include "log.h"
+ #include "err.h"
+ #include "hostinfo.h"
+Index: open-vm-tools/lib/hgfsServer/hgfsServer.c
+===================================================================
+--- open-vm-tools.orig/lib/hgfsServer/hgfsServer.c
++++ open-vm-tools/lib/hgfsServer/hgfsServer.c
+@@ -48,7 +48,7 @@
+ #include "hgfsServerOplock.h"
+ #include "hgfsDirNotify.h"
+ #include "userlock.h"
+-#include "poll.h"
++#include "vm_poll.h"
+ #include "mutexRankLib.h"
+ #include "vm_basic_asm.h"
+ #include "unicodeOperations.h"
+Index: open-vm-tools/lib/include/asyncsocket.h
+===================================================================
+--- open-vm-tools.orig/lib/include/asyncsocket.h
++++ open-vm-tools/lib/include/asyncsocket.h
+@@ -129,7 +129,7 @@ typedef struct AsyncSocket AsyncSocket;
+ * Or the client can specify its favorite poll class and locking behavior.
+ * Use of IVmdbPoll is only supported for regular sockets and for Attach.
+ */
+-#include "poll.h"
++#include "vm_poll.h"
+ struct IVmdbPoll;
+ typedef struct AsyncSocketPollParams {
+ int flags; /* Default 0, only POLL_FLAG_NO_BULL is valid */
+Index: open-vm-tools/lib/include/poll.h
+===================================================================
+--- open-vm-tools.orig/lib/include/poll.h
++++ /dev/null
+@@ -1,324 +0,0 @@
+-/*********************************************************
+- * Copyright (C) 1998-2016 VMware, Inc. All rights reserved.
+- *
+- * This program is free software; you can redistribute it and/or modify it
+- * under the terms of the GNU Lesser General Public License as published
+- * by the Free Software Foundation version 2.1 and no 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 Lesser GNU General Public
+- * License for more details.
+- *
+- * You should have received a copy of the GNU Lesser General Public License
+- * along with this program; if not, write to the Free Software Foundation, Inc.,
+- * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+- *
+- *********************************************************/
+-
+-/*********************************************************
+- * The contents of this file are subject to the terms of the Common
+- * Development and Distribution License (the "License") version 1.0
+- * and no later version. You may not use this file except in
+- * compliance with the License.
+- *
+- * You can obtain a copy of the License at
+- * http://www.opensource.org/licenses/cddl1.php
+- *
+- * See the License for the specific language governing permissions
+- * and limitations under the License.
+- *
+- *********************************************************/
+-
+-
+-#ifndef _POLL_H_
+-#define _POLL_H_
+-
+-#define INCLUDE_ALLOW_USERLEVEL
+-#define INCLUDE_ALLOW_VMCORE
+-#include "includeCheck.h"
+-
+-#include "vm_basic_types.h"
+-#include "vm_basic_defs.h"
+-#include "vmware.h"
+-#include "userlock.h"
+-
+-#ifdef _WIN32
+-#define HZ 100
+-#elif defined linux
+-#include <asm/param.h>
+-#elif __APPLE__
+-#include <TargetConditionals.h>
+-/*
+- * Old SDKs don't define TARGET_OS_IPHONE at all.
+- * New ones define it to 0 on Mac OS X, 1 on iOS.
+- */
+-#if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0
+-#include <sys/kernel.h>
+-#endif
+-#include <sys/poll.h>
+-#define HZ 100
+-#endif
+-#ifdef __ANDROID__
+-/*
+- * <poll.h> of android should be included, but its name is same
+- * with this file. So its content is put here to avoid conflict.
+- */
+-#include <asm/poll.h>
+-#define HZ 100
+-typedef unsigned int nfds_t;
+-int poll(struct pollfd *, nfds_t, long);
+-#endif
+-
+-
+-/*
+- * Poll event types: each type has a different reason for firing,
+- * or condition that must be met before firing.
+- */
+-
+-typedef enum {
+- /*
+- * Actual Poll queue types against which you can register callbacks.
+- */
+- POLL_VIRTUALREALTIME = -1, /* Negative because it doesn't have its own Q */
+- POLL_VTIME = 0,
+- POLL_REALTIME,
+- POLL_DEVICE,
+- POLL_MAIN_LOOP,
+- POLL_NUM_QUEUES
+-} PollEventType;
+-
+-
+-/*
+- * Classes of events
+- *
+- * These are the predefined classes. More can be declared
+- * with Poll_AllocClass().
+- */
+-
+-typedef enum PollClass {
+- POLL_CLASS_MAIN,
+- POLL_CLASS_PAUSE,
+- POLL_CLASS_IPC,
+- POLL_CLASS_CPT,
+- POLL_CLASS_MKS,
+- POLL_FIXED_CLASSES,
+- POLL_MAX_CLASSES = 320 /* Size enum to maximum */
+-} PollClass;
+-
+-
+-/*
+- * Each callback is registered in a set of classes
+- */
+-
+-typedef struct PollClassSet {
+- /* Type is uintptr_t to give best 32/64-bit code. */
+-#define _POLL_ELEMSIZE (sizeof (uintptr_t) * 8)
+- uintptr_t bits[CEILING(POLL_MAX_CLASSES, _POLL_ELEMSIZE)];
+-} PollClassSet;
+-
+-/* An empty PollClassSet. */
+-static INLINE PollClassSet
+-PollClassSet_Empty(void)
+-{
+- PollClassSet set = { { 0 } };
+- return set;
+-}
+-
+-/* A PollClassSet with the single member. */
+-static INLINE PollClassSet
+-PollClassSet_Singleton(PollClass c)
+-{
+- PollClassSet s = PollClassSet_Empty();
+-
+- ASSERT_ON_COMPILE(sizeof s.bits[0] * 8 == _POLL_ELEMSIZE); /* Size correct */
+- ASSERT_ON_COMPILE((_POLL_ELEMSIZE & (_POLL_ELEMSIZE - 1)) == 0); /* power of 2 */
+- ASSERT_ON_COMPILE(POLL_MAX_CLASSES <= ARRAYSIZE(s.bits) * _POLL_ELEMSIZE);
+- ASSERT(c < POLL_MAX_CLASSES);
+-
+- s.bits[c / _POLL_ELEMSIZE] = CONST3264U(1) << (c % _POLL_ELEMSIZE);
+- return s;
+-}
+-
+-/* Combine two PollClassSets. */
+-static INLINE PollClassSet
+-PollClassSet_Union(PollClassSet lhs, PollClassSet rhs)
+-{
+- PollClassSet u;
+- unsigned i;
+-
+- for (i = 0; i < ARRAYSIZE(u.bits); i++) {
+- u.bits[i] = lhs.bits[i] | rhs.bits[i];
+- }
+- return u;
+-}
+-
+-/* Add single class to PollClassSet. */
+-static INLINE PollClassSet
+-PollClassSet_Include(PollClassSet set, PollClass c)
+-{
+- return PollClassSet_Union(set, PollClassSet_Singleton(c));
+-}
+-
+-
+-#define POLL_CS_MAIN PollClassSet_Singleton(POLL_CLASS_MAIN)
+-#define POLL_CS_PAUSE PollClassSet_Union(POLL_CS_MAIN, \
+- PollClassSet_Singleton(POLL_CLASS_PAUSE))
+-#define POLL_CS_CPT PollClassSet_Union(POLL_CS_PAUSE, \
+- PollClassSet_Singleton(POLL_CLASS_CPT))
+-#define POLL_CS_IPC PollClassSet_Union(POLL_CS_CPT, \
+- PollClassSet_Singleton(POLL_CLASS_IPC))
+-#define POLL_CS_VMDB POLL_CS_PAUSE /* POLL_CLASS_VMDB is retired */
+-#define POLL_CS_MKS PollClassSet_Singleton(POLL_CLASS_MKS)
+-/*
+- * DANGER. You don't need POLL_CS_ALWAYS. Really. So don't use it.
+- */
+-#define POLL_CS_ALWAYS PollClassSet_Union(POLL_CS_CPT, POLL_CS_IPC)
+-
+-/*
+- * Poll class-set taxonomy:
+- * POLL_CS_MAIN
+- * - Unless you NEED another class, use POLL_CS_MAIN.
+- * POLL_CS_PAUSE
+- * - For callbacks that must occur even if the guest is paused.
+- * Most VMDB or Foundry commands are in this category.
+- * POLL_CS_CPT
+- * - Only for callbacks which can trigger intermediate Checkpoint
+- * transitions.
+- * The ONLY such callback is Migrate.
+- * POLL_CS_IPC
+- * - Only for callbacks which can contain Msg_(Post|Hint|Question)
+- * responses, and for signal handlers (why)?
+- * Vigor, VMDB, and Foundry can contain Msg_* responses.
+- * POLL_CS_MKS
+- * - Callback runs in MKS thread.
+- * POLL_CS_ALWAYS
+- * - Only for events that must be processed immediately.
+- * The ONLY such callback is OvhdMemVmxSizeCheck.
+- */
+-
+-
+-/*
+- * Poll_Callback flags
+- */
+-
+-#define POLL_FLAG_PERIODIC 0x01 // keep after firing
+-#define POLL_FLAG_REMOVE_AT_POWEROFF 0x02 // self-explanatory
+-#define POLL_FLAG_READ 0x04 // device is ready for reading
+-#define POLL_FLAG_WRITE 0x08 // device is ready for writing
+-#define POLL_FLAG_SOCKET 0x10 // device is a Windows socket
+-#define POLL_FLAG_NO_BULL 0x20 // callback does its own locking
+-#define POLL_FLAG_WINSOCK 0x40 // Winsock style write events
+-#define POLL_FLAG_FD 0x80 // device is a Windows file descriptor.
+-#define POLL_FLAG_ACCEPT_INVALID_FDS 0x100 // For broken 3rd party libs, e.g. curl
+-#define POLL_FLAG_THUNK_TO_WND 0x200 // thunk callback to window message loop
+-
+-
+-/*
+- * Advisory minimum time period.
+- * Users that want the fastest running real-time poll
+- * should use TICKS_TO_USECS(1).
+- */
+-
+-#define TICKS_TO_USECS(_x) ((_x) * (1000000 / HZ))
+-#define USECS_TO_TICKS(_x) ((_x) / (1000000 / HZ))
+-
+-
+-typedef void (*PollerFunction)(void *clientData);
+-typedef void (*PollerFireWrapper)(PollerFunction func,
+- void *funcData,
+- void *wrapperData);
+-typedef Bool (*PollerErrorFn)(const char *errorStr);
+-
+-/*
+- * Initialisers:
+- *
+- * For the sake of convenience, we declare the initialisers
+- * for custom implmentations here, even though the actual
+- * implementations are distinct from the core poll code.
+- */
+-
+-typedef struct PollOptions {
+- Bool locked; // Use internal MXUser for locking
+- Bool allowFullQueue; // Don't assert when device event queue is full.
+- VThreadID windowsMsgThread; // thread that processes Windows messages
+- PollerFireWrapper fireWrapperFn; // optional; may be useful for stats
+- void *fireWrapperData; // optional
+- PollerErrorFn errorFn; // optional; called upon unrecoverable error
+-} PollOptions;
+-
+-
+-void Poll_InitDefault(void);
+-void Poll_InitDefaultEx(const PollOptions *opts);
+-void Poll_InitGtk(void); // On top of glib for Linux
+-void Poll_InitCF(void); // On top of CoreFoundation for OSX
+-
+-
+-/*
+- * Functions
+- */
+-int Poll_SocketPair(Bool vmci, Bool stream, int fds[2]);
+-void Poll_Loop(Bool loop, Bool *exit, PollClass c);
+-void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout);
+-Bool Poll_LockingEnabled(void);
+-void Poll_Exit(void);
+-
+-
+-/*
+- * Poll_Callback adds a callback regardless of whether an identical one exists.
+- *
+- * Likewise, Poll_CallbackRemove removes exactly one callback.
+- */
+-
+-VMwareStatus Poll_Callback(PollClassSet classSet,
+- int flags,
+- PollerFunction f,
+- void *clientData,
+- PollEventType type,
+- PollDevHandle info, // fd/microsec delay
+- MXUserRecLock *lck);
+-Bool Poll_CallbackRemove(PollClassSet classSet,
+- int flags,
+- PollerFunction f,
+- void *clientData,
+- PollEventType type);
+-Bool Poll_CallbackRemoveOneByCB(PollClassSet classSet,
+- int flags,
+- PollerFunction f,
+- PollEventType type,
+- void **clientData);
+-
+-void Poll_NotifyChange(PollClassSet classSet);
+-
+-/*
+- * Wrappers for Poll_Callback and Poll_CallbackRemove that present
+- * simpler subsets of those interfaces.
+- */
+-
+-VMwareStatus Poll_CB_Device(PollerFunction f,
+- void *clientData,
+- PollDevHandle device,
+- Bool periodic);
+-
+-Bool Poll_CB_DeviceRemove(PollerFunction f,
+- void *clientData,
+- Bool periodic);
+-
+-
+-VMwareStatus Poll_CB_RTime(PollerFunction f,
+- void *clientData,
+- int delay, // microseconds
+- Bool periodic,
+- MXUserRecLock *lock);
+-
+-Bool Poll_CB_RTimeRemove(PollerFunction f,
+- void *clientData,
+- Bool periodic);
+-
+-
+-#ifdef _WIN32
+-void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk);
+-Bool Poll_FireWndCallback(void *lparam);
+-#endif
+-
+-#endif // _POLL_H_
+Index: open-vm-tools/lib/include/pollImpl.h
+===================================================================
+--- open-vm-tools.orig/lib/include/pollImpl.h
++++ open-vm-tools/lib/include/pollImpl.h
+@@ -44,7 +44,7 @@
+ #define INCLUDE_ALLOW_USERLEVEL
+ #include "includeCheck.h"
+
+-#include "poll.h"
++#include "vm_poll.h"
+
+ /*
+ * PollImpl:
+Index: open-vm-tools/lib/include/vm_poll.h
+===================================================================
+--- /dev/null
++++ open-vm-tools/lib/include/vm_poll.h
+@@ -0,0 +1,324 @@
++/*********************************************************
++ * Copyright (C) 1998-2016 VMware, Inc. All rights reserved.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU Lesser General Public License as published
++ * by the Free Software Foundation version 2.1 and no 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 Lesser GNU General Public
++ * License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this program; if not, write to the Free Software Foundation, Inc.,
++ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
++ *
++ *********************************************************/
++
++/*********************************************************
++ * The contents of this file are subject to the terms of the Common
++ * Development and Distribution License (the "License") version 1.0
++ * and no later version. You may not use this file except in
++ * compliance with the License.
++ *
++ * You can obtain a copy of the License at
++ * http://www.opensource.org/licenses/cddl1.php
++ *
++ * See the License for the specific language governing permissions
++ * and limitations under the License.
++ *
++ *********************************************************/
++
++
++#ifndef _POLL_H_
++#define _POLL_H_
++
++#define INCLUDE_ALLOW_USERLEVEL
++#define INCLUDE_ALLOW_VMCORE
++#include "includeCheck.h"
++
++#include "vm_basic_types.h"
++#include "vm_basic_defs.h"
++#include "vmware.h"
++#include "userlock.h"
++
++#ifdef _WIN32
++#define HZ 100
++#elif defined linux
++#include <asm/param.h>
++#elif __APPLE__
++#include <TargetConditionals.h>
++/*
++ * Old SDKs don't define TARGET_OS_IPHONE at all.
++ * New ones define it to 0 on Mac OS X, 1 on iOS.
++ */
++#if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0
++#include <sys/kernel.h>
++#endif
++#include <sys/poll.h>
++#define HZ 100
++#endif
++#ifdef __ANDROID__
++/*
++ * <poll.h> of android should be included, but its name is same
++ * with this file. So its content is put here to avoid conflict.
++ */
++#include <asm/poll.h>
++#define HZ 100
++typedef unsigned int nfds_t;
++int poll(struct pollfd *, nfds_t, long);
++#endif
++
++
++/*
++ * Poll event types: each type has a different reason for firing,
++ * or condition that must be met before firing.
++ */
++
++typedef enum {
++ /*
++ * Actual Poll queue types against which you can register callbacks.
++ */
++ POLL_VIRTUALREALTIME = -1, /* Negative because it doesn't have its own Q */
++ POLL_VTIME = 0,
++ POLL_REALTIME,
++ POLL_DEVICE,
++ POLL_MAIN_LOOP,
++ POLL_NUM_QUEUES
++} PollEventType;
++
++
++/*
++ * Classes of events
++ *
++ * These are the predefined classes. More can be declared
++ * with Poll_AllocClass().
++ */
++
++typedef enum PollClass {
++ POLL_CLASS_MAIN,
++ POLL_CLASS_PAUSE,
++ POLL_CLASS_IPC,
++ POLL_CLASS_CPT,
++ POLL_CLASS_MKS,
++ POLL_FIXED_CLASSES,
++ POLL_MAX_CLASSES = 320 /* Size enum to maximum */
++} PollClass;
++
++
++/*
++ * Each callback is registered in a set of classes
++ */
++
++typedef struct PollClassSet {
++ /* Type is uintptr_t to give best 32/64-bit code. */
++#define _POLL_ELEMSIZE (sizeof (uintptr_t) * 8)
++ uintptr_t bits[CEILING(POLL_MAX_CLASSES, _POLL_ELEMSIZE)];
++} PollClassSet;
++
++/* An empty PollClassSet. */
++static INLINE PollClassSet
++PollClassSet_Empty(void)
++{
++ PollClassSet set = { { 0 } };
++ return set;
++}
++
++/* A PollClassSet with the single member. */
++static INLINE PollClassSet
++PollClassSet_Singleton(PollClass c)
++{
++ PollClassSet s = PollClassSet_Empty();
++
++ ASSERT_ON_COMPILE(sizeof s.bits[0] * 8 == _POLL_ELEMSIZE); /* Size correct */
++ ASSERT_ON_COMPILE((_POLL_ELEMSIZE & (_POLL_ELEMSIZE - 1)) == 0); /* power of 2 */
++ ASSERT_ON_COMPILE(POLL_MAX_CLASSES <= ARRAYSIZE(s.bits) * _POLL_ELEMSIZE);
++ ASSERT(c < POLL_MAX_CLASSES);
++
++ s.bits[c / _POLL_ELEMSIZE] = CONST3264U(1) << (c % _POLL_ELEMSIZE);
++ return s;
++}
++
++/* Combine two PollClassSets. */
++static INLINE PollClassSet
++PollClassSet_Union(PollClassSet lhs, PollClassSet rhs)
++{
++ PollClassSet u;
++ unsigned i;
++
++ for (i = 0; i < ARRAYSIZE(u.bits); i++) {
++ u.bits[i] = lhs.bits[i] | rhs.bits[i];
++ }
++ return u;
++}
++
++/* Add single class to PollClassSet. */
++static INLINE PollClassSet
++PollClassSet_Include(PollClassSet set, PollClass c)
++{
++ return PollClassSet_Union(set, PollClassSet_Singleton(c));
++}
++
++
++#define POLL_CS_MAIN PollClassSet_Singleton(POLL_CLASS_MAIN)
++#define POLL_CS_PAUSE PollClassSet_Union(POLL_CS_MAIN, \
++ PollClassSet_Singleton(POLL_CLASS_PAUSE))
++#define POLL_CS_CPT PollClassSet_Union(POLL_CS_PAUSE, \
++ PollClassSet_Singleton(POLL_CLASS_CPT))
++#define POLL_CS_IPC PollClassSet_Union(POLL_CS_CPT, \
++ PollClassSet_Singleton(POLL_CLASS_IPC))
++#define POLL_CS_VMDB POLL_CS_PAUSE /* POLL_CLASS_VMDB is retired */
++#define POLL_CS_MKS PollClassSet_Singleton(POLL_CLASS_MKS)
++/*
++ * DANGER. You don't need POLL_CS_ALWAYS. Really. So don't use it.
++ */
++#define POLL_CS_ALWAYS PollClassSet_Union(POLL_CS_CPT, POLL_CS_IPC)
++
++/*
++ * Poll class-set taxonomy:
++ * POLL_CS_MAIN
++ * - Unless you NEED another class, use POLL_CS_MAIN.
++ * POLL_CS_PAUSE
++ * - For callbacks that must occur even if the guest is paused.
++ * Most VMDB or Foundry commands are in this category.
++ * POLL_CS_CPT
++ * - Only for callbacks which can trigger intermediate Checkpoint
++ * transitions.
++ * The ONLY such callback is Migrate.
++ * POLL_CS_IPC
++ * - Only for callbacks which can contain Msg_(Post|Hint|Question)
++ * responses, and for signal handlers (why)?
++ * Vigor, VMDB, and Foundry can contain Msg_* responses.
++ * POLL_CS_MKS
++ * - Callback runs in MKS thread.
++ * POLL_CS_ALWAYS
++ * - Only for events that must be processed immediately.
++ * The ONLY such callback is OvhdMemVmxSizeCheck.
++ */
++
++
++/*
++ * Poll_Callback flags
++ */
++
++#define POLL_FLAG_PERIODIC 0x01 // keep after firing
++#define POLL_FLAG_REMOVE_AT_POWEROFF 0x02 // self-explanatory
++#define POLL_FLAG_READ 0x04 // device is ready for reading
++#define POLL_FLAG_WRITE 0x08 // device is ready for writing
++#define POLL_FLAG_SOCKET 0x10 // device is a Windows socket
++#define POLL_FLAG_NO_BULL 0x20 // callback does its own locking
++#define POLL_FLAG_WINSOCK 0x40 // Winsock style write events
++#define POLL_FLAG_FD 0x80 // device is a Windows file descriptor.
++#define POLL_FLAG_ACCEPT_INVALID_FDS 0x100 // For broken 3rd party libs, e.g. curl
++#define POLL_FLAG_THUNK_TO_WND 0x200 // thunk callback to window message loop
++
++
++/*
++ * Advisory minimum time period.
++ * Users that want the fastest running real-time poll
++ * should use TICKS_TO_USECS(1).
++ */
++
++#define TICKS_TO_USECS(_x) ((_x) * (1000000 / HZ))
++#define USECS_TO_TICKS(_x) ((_x) / (1000000 / HZ))
++
++
++typedef void (*PollerFunction)(void *clientData);
++typedef void (*PollerFireWrapper)(PollerFunction func,
++ void *funcData,
++ void *wrapperData);
++typedef Bool (*PollerErrorFn)(const char *errorStr);
++
++/*
++ * Initialisers:
++ *
++ * For the sake of convenience, we declare the initialisers
++ * for custom implmentations here, even though the actual
++ * implementations are distinct from the core poll code.
++ */
++
++typedef struct PollOptions {
++ Bool locked; // Use internal MXUser for locking
++ Bool allowFullQueue; // Don't assert when device event queue is full.
++ VThreadID windowsMsgThread; // thread that processes Windows messages
++ PollerFireWrapper fireWrapperFn; // optional; may be useful for stats
++ void *fireWrapperData; // optional
++ PollerErrorFn errorFn; // optional; called upon unrecoverable error
++} PollOptions;
++
++
++void Poll_InitDefault(void);
++void Poll_InitDefaultEx(const PollOptions *opts);
++void Poll_InitGtk(void); // On top of glib for Linux
++void Poll_InitCF(void); // On top of CoreFoundation for OSX
++
++
++/*
++ * Functions
++ */
++int Poll_SocketPair(Bool vmci, Bool stream, int fds[2]);
++void Poll_Loop(Bool loop, Bool *exit, PollClass c);
++void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout);
++Bool Poll_LockingEnabled(void);
++void Poll_Exit(void);
++
++
++/*
++ * Poll_Callback adds a callback regardless of whether an identical one exists.
++ *
++ * Likewise, Poll_CallbackRemove removes exactly one callback.
++ */
++
++VMwareStatus Poll_Callback(PollClassSet classSet,
++ int flags,
++ PollerFunction f,
++ void *clientData,
++ PollEventType type,
++ PollDevHandle info, // fd/microsec delay
++ MXUserRecLock *lck);
++Bool Poll_CallbackRemove(PollClassSet classSet,
++ int flags,
++ PollerFunction f,
++ void *clientData,
++ PollEventType type);
++Bool Poll_CallbackRemoveOneByCB(PollClassSet classSet,
++ int flags,
++ PollerFunction f,
++ PollEventType type,
++ void **clientData);
++
++void Poll_NotifyChange(PollClassSet classSet);
++
++/*
++ * Wrappers for Poll_Callback and Poll_CallbackRemove that present
++ * simpler subsets of those interfaces.
++ */
++
++VMwareStatus Poll_CB_Device(PollerFunction f,
++ void *clientData,
++ PollDevHandle device,
++ Bool periodic);
++
++Bool Poll_CB_DeviceRemove(PollerFunction f,
++ void *clientData,
++ Bool periodic);
++
++
++VMwareStatus Poll_CB_RTime(PollerFunction f,
++ void *clientData,
++ int delay, // microseconds
++ Bool periodic,
++ MXUserRecLock *lock);
++
++Bool Poll_CB_RTimeRemove(PollerFunction f,
++ void *clientData,
++ Bool periodic);
++
++
++#ifdef _WIN32
++void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk);
++Bool Poll_FireWndCallback(void *lparam);
++#endif
++
++#endif // _POLL_H_
+Index: open-vm-tools/lib/rpcIn/rpcin.c
+===================================================================
+--- open-vm-tools.orig/lib/rpcIn/rpcin.c
++++ open-vm-tools/lib/rpcIn/rpcin.c
+@@ -57,7 +57,7 @@
+
+ #if defined(VMTOOLS_USE_VSOCKET)
+ # include <glib.h>
+-# include "poll.h"
++# include "vm_poll.h"
+ # include "asyncsocket.h"
+ # include "vmci_defs.h"
+ #include "dataMap.h"
+Index: open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c
+===================================================================
+--- open-vm-tools.orig/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c
++++ open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c
+@@ -48,7 +48,7 @@
+ #include "rpcout.h"
+ #include "rabbitmqProxyConst.h"
+ #include "vm_basic_types.h"
+-#include "poll.h"
++#include "vm_poll.h"
+ #ifdef OPEN_VM_TOOLS
+ #include "vmci_sockets.h"
+ #include "sslDirect.h"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Add-Wno-incompatible-pointer-types-and-Wno-error-add.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Add-Wno-incompatible-pointer-types-and-Wno-error-add.patch
new file mode 100644
index 000000000..010516761
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Add-Wno-incompatible-pointer-types-and-Wno-error-add.patch
@@ -0,0 +1,31 @@
+From cdb0b3c898c6b6b6c8259d9ddb8b00163ac5e419 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 16 Jul 2017 09:43:18 -0700
+Subject: [PATCH 04/11] Add -Wno-incompatible-pointer-types and
+ -Wno-error=address
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ open-vm-tools/lib/dynxdr/Makefile.am | 2 +-
+ open-vm-tools/lib/file/Makefile.am | 1 +
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+Index: open-vm-tools/lib/dynxdr/Makefile.am
+===================================================================
+--- open-vm-tools.orig/lib/dynxdr/Makefile.am
++++ open-vm-tools/lib/dynxdr/Makefile.am
+@@ -20,4 +20,4 @@ noinst_LTLIBRARIES = libDynxdr.la
+ libDynxdr_la_SOURCES =
+ libDynxdr_la_SOURCES += dynxdr.c
+ libDynxdr_la_SOURCES += xdrutil.c
+-
++libDynxdr_la_CPPFLAGS = -Wno-incompatible-pointer-types
+Index: open-vm-tools/lib/file/Makefile.am
+===================================================================
+--- open-vm-tools.orig/lib/file/Makefile.am
++++ open-vm-tools/lib/file/Makefile.am
+@@ -27,3 +27,4 @@ libFile_la_SOURCES += fileLockPrimitive.
+ libFile_la_SOURCES += fileLockPosix.c
+ libFile_la_SOURCES += fileTempPosix.c
+ libFile_la_SOURCES += fileTemp.c
++libFile_la_CPPFLAGS = -Wno-error=address
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-struct-timespec.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-struct-timespec.patch
new file mode 100644
index 000000000..f02d00f84
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-struct-timespec.patch
@@ -0,0 +1,45 @@
+From bf1eafb07297711baf9320b1edcca8a3376f117d Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Wed, 18 Nov 2015 09:03:00 +0000
+Subject: [PATCH 05/11] Use configure test for struct timespec
+
+Use the configure script to test for struct time spec instead of trying
+to keep track of what platforms has it.
+
+Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
+---
+ open-vm-tools/configure.ac | 1 +
+ open-vm-tools/lib/include/hgfsUtil.h | 8 +-------
+ 2 files changed, 2 insertions(+), 7 deletions(-)
+
+Index: open-vm-tools/configure.ac
+===================================================================
+--- open-vm-tools.orig/configure.ac
++++ open-vm-tools/configure.ac
+@@ -1127,6 +1127,7 @@ AC_TYPE_OFF_T
+ AC_TYPE_PID_T
+ AC_TYPE_SIZE_T
+ AC_CHECK_MEMBERS([struct stat.st_rdev])
++AC_CHECK_MEMBERS([struct timespec.tv_sec],[],[],[[#include <time.h>]])
+ AC_HEADER_TIME
+ AC_STRUCT_TM
+ AC_C_VOLATILE
+Index: open-vm-tools/lib/include/hgfsUtil.h
+===================================================================
+--- open-vm-tools.orig/lib/include/hgfsUtil.h
++++ open-vm-tools/lib/include/hgfsUtil.h
+@@ -53,13 +53,7 @@
+ # include <time.h>
+ # endif
+ # include "vm_basic_types.h"
+-# if !defined _STRUCT_TIMESPEC && \
+- !defined _TIMESPEC_DECLARED && \
+- !defined __timespec_defined && \
+- !defined sun && \
+- !defined __FreeBSD__ && \
+- !__APPLE__ && \
+- !defined _WIN32
++# if !defined HAVE_STRUCT_TIMESPEC_TV_SEC
+ struct timespec {
+ time_t tv_sec;
+ long tv_nsec;
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch
new file mode 100644
index 000000000..d1f4eff9b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch
@@ -0,0 +1,58 @@
+From 31ae6f42458f90d4994a4ad8e2b7673691612c36 Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Wed, 18 Nov 2015 09:10:14 +0000
+Subject: [PATCH 06/11] Fix definition of ALLPERMS and ACCESSPERMS
+
+The ALLPERMS and ACCESSPERMS defines are not specified in POSIX so
+assume it is not there instead of testing for specific implementations.
+
+This is needed for musl libc.
+
+Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
+---
+ open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 8 +++++---
+ open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c | 3 +--
+ 2 files changed, 6 insertions(+), 5 deletions(-)
+
+Index: open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
+===================================================================
+--- open-vm-tools.orig/lib/hgfsServer/hgfsServerLinux.c
++++ open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
+@@ -107,11 +107,13 @@ typedef struct DirectoryEntry {
+ #endif
+
+ /*
+- * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not defined in the
+- * Solaris version of <sys/stat.h>.
++ * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not specified in
++ * POSIX.
+ */
+-#ifdef sun
++#ifndef ACCESSPERMS
+ # define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO)
++#endif
++#ifndef ALLPERMS
+ # define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)
+ #endif
+
+Index: open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c
+===================================================================
+--- open-vm-tools.orig/services/plugins/dndcp/dnd/dndLinux.c
++++ open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c
+@@ -51,7 +51,7 @@
+
+ #define DND_ROOTDIR_PERMS (S_IRWXU | S_IRWXG | S_IRWXO)
+ #define DND_STAGINGDIR_PERMS (S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH)
+-#ifdef sun
++#ifndef ACCESSPERMS
+ #define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO)
+ #endif
+ #ifdef __ANDROID__
+@@ -60,7 +60,6 @@
+ */
+ #define NO_SETMNTENT
+ #define NO_ENDMNTENT
+-#define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO)
+ #endif
+
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch
new file mode 100644
index 000000000..5adf9b0f9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch
@@ -0,0 +1,144 @@
+From 6cc1c22cc30320f56da552a76bd956db8f255b6a Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Wed, 18 Nov 2015 10:05:07 +0000
+Subject: [PATCH 07/11] Use configure to test for feature instead of platform
+
+Test for various functions instead of trying to keep track of what
+platform and what version of the given platform has support for what.
+
+This should make it easier to port to currently unknown platforms and
+will solve the issue if a platform add support for a missing feature in
+the future.
+
+The features we test for are:
+- getifaddrs
+- getauxval
+- issetugid
+- __secure_getenv
+
+This is needed for musl libc.
+
+Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
+---
+ open-vm-tools/configure.ac | 4 ++++
+ open-vm-tools/lib/misc/idLinux.c | 30 ++++++++++++++----------------
+ open-vm-tools/lib/nicInfo/nicInfoPosix.c | 8 ++++++--
+ 3 files changed, 24 insertions(+), 18 deletions(-)
+
+Index: open-vm-tools/configure.ac
+===================================================================
+--- open-vm-tools.orig/configure.ac
++++ open-vm-tools/configure.ac
+@@ -798,6 +798,7 @@ AC_CHECK_FUNCS(
+
+ AC_CHECK_FUNCS([ecvt])
+ AC_CHECK_FUNCS([fcvt])
++AC_CHECK_FUNCS([getifaddrs getauxval issetugid __secure_getenv])
+
+ AC_CHECK_FUNC([mkdtemp], [have_mkdtemp=yes])
+
+@@ -1063,10 +1064,13 @@ AC_PATH_PROG(
+ ###
+
+ AC_CHECK_HEADERS([crypt.h])
++AC_CHECK_HEADERS([ifaddrs.h])
+ AC_CHECK_HEADERS([inttypes.h])
+ AC_CHECK_HEADERS([stdint.h])
+ AC_CHECK_HEADERS([stdlib.h])
+ AC_CHECK_HEADERS([wchar.h])
++AC_CHECK_HEADERS([net/if.h])
++AC_CHECK_HEADERS([sys/auxv.h])
+ AC_CHECK_HEADERS([sys/inttypes.h])
+ AC_CHECK_HEADERS([sys/io.h])
+ AC_CHECK_HEADERS([sys/param.h]) # Required to make the sys/user.h check work correctly on FreeBSD
+Index: open-vm-tools/lib/misc/idLinux.c
+===================================================================
+--- open-vm-tools.orig/lib/misc/idLinux.c
++++ open-vm-tools/lib/misc/idLinux.c
+@@ -27,12 +27,9 @@
+ #include <sys/syscall.h>
+ #include <string.h>
+ #include <unistd.h>
+-#ifdef __linux__
+-#if defined(__GLIBC__) && \
+- (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16))
++#ifdef HAVE_SYS_AUXV_H
+ #include <sys/auxv.h>
+ #endif
+-#endif
+ #ifdef __APPLE__
+ #include <sys/socket.h>
+ #include <TargetConditionals.h>
+@@ -997,31 +994,32 @@ Id_EndSuperUser(uid_t uid) // IN:
+ static Bool
+ IdIsSetUGid(void)
+ {
+-#if defined(__ANDROID__)
+- /* Android does not have a secure_getenv, so be conservative. */
+- return TRUE;
+-#else
+ /*
+ * We use __secure_getenv, which returns NULL if the binary is
+- * setuid or setgid. Alternatives include,
++ * setuid or setgid, when issetugid or getauxval(AT_SECURE) is not
++ * available. Alternatives include,
+ *
+- * a) getauxval(AT_SECURE); not available until glibc 2.16.
+- * b) __libc_enable_secure; may not be exported.
++ * a) issetugid(); not (yet?) available in glibc.
++ * b) getauxval(AT_SECURE); not available until glibc 2.16.
++ * c) __libc_enable_secure; may not be exported.
+ *
+- * Use (a) when we are based on glibc 2.16, or newer.
++ * Use (b) when we are based on glibc 2.16, or newer.
+ */
+
+-#if defined(__GLIBC__) && \
+- (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16))
++#if HAVE_ISSETUGID
++ return issetugid();
++#elif HAVE_GETAUXVAL
+ return getauxval(AT_SECURE) != 0;
+-#else
++#elif HAVE___SECURE_GETENV
+ static const char envName[] = "VMW_SETUGID_TEST";
+
+ if (setenv(envName, "1", TRUE) == -1) {
+ return TRUE; /* Conservative */
+ }
+ return __secure_getenv(envName) == NULL;
+-#endif
++#else
++ /* Android does not have a secure_getenv, so be conservative. */
++ return TRUE;
+ #endif
+ }
+ #endif
+Index: open-vm-tools/lib/nicInfo/nicInfoPosix.c
+===================================================================
+--- open-vm-tools.orig/lib/nicInfo/nicInfoPosix.c
++++ open-vm-tools/lib/nicInfo/nicInfoPosix.c
+@@ -34,9 +34,13 @@
+ #include <sys/socket.h>
+ #include <sys/stat.h>
+ #include <errno.h>
+-#if defined(__FreeBSD__) || defined(__APPLE__)
++#if HAVE_SYS_SYSCTL_H
+ # include <sys/sysctl.h>
++#endif
++#if HAVE_IFADDRS_H
+ # include <ifaddrs.h>
++#endif
++#if HAVE_NET_IF_H
+ # include <net/if.h>
+ #endif
+ #ifndef NO_DNET
+@@ -348,7 +352,7 @@ GuestInfoGetNicInfo(NicInfoV3 *nicInfo)
+ *
+ ******************************************************************************
+ */
+-#if defined(__FreeBSD__) || defined(__APPLE__) || defined(USERWORLD)
++#if defined(NO_DNET) && defined(HAVE_GETIFADDRS)
+
+ char *
+ GuestInfoGetPrimaryIP(void)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-use-posix-strerror_r-unless-gnu.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-use-posix-strerror_r-unless-gnu.patch
new file mode 100644
index 000000000..3d1291c9f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-use-posix-strerror_r-unless-gnu.patch
@@ -0,0 +1,30 @@
+From d4d1e7146ca2698089f6bd532f2fb8b9c1134ca7 Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Mon, 2 Jan 2017 14:39:27 +0000
+Subject: [PATCH 08/11] use posix strerror_r unless gnu
+
+---
+ open-vm-tools/lib/err/errPosix.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+Index: open-vm-tools/lib/err/errPosix.c
+===================================================================
+--- open-vm-tools.orig/lib/err/errPosix.c
++++ open-vm-tools/lib/err/errPosix.c
+@@ -63,11 +63,13 @@ ErrErrno2String(Err_Number errorNumber,
+ {
+ char *p;
+
+-#if defined(linux) && !defined(N_PLAT_NLM) && !defined(__ANDROID__)
++#if defined(__GLIBC__)
+ p = strerror_r(errorNumber, buf, bufSize);
+ #else
+- p = strerror(errorNumber);
+-#endif
++ if (strerror_r(errorNumber, buf, bufSize) != 0)
++ snprintf(buf, bufSize, "unknown error %i", errorNumber);
++ p = buf;
++#endif /* defined __GLIBC__ */
+ ASSERT(p != NULL);
+ return p;
+ }
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Add-support-for-building-with-system-libtirpc.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Add-support-for-building-with-system-libtirpc.patch
new file mode 100644
index 000000000..2bee5ac82
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Add-support-for-building-with-system-libtirpc.patch
@@ -0,0 +1,342 @@
+From 5ae6c662fefa621f4600559e299a7d97c2254e69 Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Sun, 16 Jul 2017 10:20:10 -0700
+Subject: [PATCH 1/3] Add support for building with system libtirpc
+
+Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ open-vm-tools/configure.ac | 14 ++++++++++++++
+ open-vm-tools/lib/dynxdr/Makefile.am | 8 ++++++--
+ open-vm-tools/lib/err/errPosix.c | 1 +
+ open-vm-tools/lib/guestRpc/Makefile.am | 6 ++++++
+ open-vm-tools/lib/misc/Makefile.am | 1 +
+ open-vm-tools/lib/netUtil/Makefile.am | 4 ++++
+ open-vm-tools/lib/nicInfo/Makefile.am | 2 ++
+ open-vm-tools/lib/rpcChannel/Makefile.am | 4 ++++
+ open-vm-tools/lib/slashProc/Makefile.am | 4 ++++
+ open-vm-tools/lib/string/bsd_output_shared.c | 2 +-
+ open-vm-tools/libguestlib/Makefile.am | 2 ++
+ open-vm-tools/rpctool/Makefile.am | 3 +++
+ open-vm-tools/rpctool/rpctool.c | 2 ++
+ open-vm-tools/services/plugins/dndcp/Makefile.am | 2 ++
+ open-vm-tools/services/plugins/guestInfo/Makefile.am | 1 +
+ open-vm-tools/services/plugins/resolutionSet/Makefile.am | 2 ++
+ open-vm-tools/services/plugins/vix/Makefile.am | 2 ++
+ open-vm-tools/services/plugins/vmbackup/Makefile.am | 2 ++
+ open-vm-tools/toolbox/Makefile.am | 2 ++
+ 19 files changed, 61 insertions(+), 3 deletions(-)
+
+Index: open-vm-tools/configure.ac
+===================================================================
+--- open-vm-tools.orig/configure.ac
++++ open-vm-tools/configure.ac
+@@ -405,6 +405,20 @@ AC_VMW_CHECK_LIB([fuse],
+ AC_MSG_WARN([Fuse is missing, vmblock-fuse/vmhgfs-fuse will be disabled.])])
+
+ #
++# Check for libtirpc
++#
++AC_VMW_CHECK_LIB([libtirpc],
++ [LIBTIRPC],
++ [libtirpc],
++ [],
++ [],
++ [rpc/xdr.h],
++ [xdr_void],
++ [have_libtirpc=yes],
++ [have_libtitirpc=no;
++ AC_MSG_WARN([libtirpc is missing.])])
++
++#
+ # Check for PAM.
+ #
+ AC_ARG_WITH([pam],
+Index: open-vm-tools/lib/dynxdr/Makefile.am
+===================================================================
+--- open-vm-tools.orig/lib/dynxdr/Makefile.am
++++ open-vm-tools/lib/dynxdr/Makefile.am
+@@ -17,7 +17,11 @@
+
+ noinst_LTLIBRARIES = libDynxdr.la
+
+-libDynxdr_la_SOURCES =
++libDynxdr_la_SOURCES =
+ libDynxdr_la_SOURCES += dynxdr.c
+ libDynxdr_la_SOURCES += xdrutil.c
+-libDynxdr_la_CPPFLAGS = -Wno-incompatible-pointer-types
++libDynxdr_la_CPPFLAGS = @LIBTIRPC_CPPFLAGS@ -Wno-incompatible-pointer-types
++
++libDynxdr_la_LIBADD =
++libDynxdr_la_LIBADD += @LIBTIRPC_LIBS@
++
+Index: open-vm-tools/lib/err/errPosix.c
+===================================================================
+--- open-vm-tools.orig/lib/err/errPosix.c
++++ open-vm-tools/lib/err/errPosix.c
+@@ -31,6 +31,7 @@
+ #include <errno.h>
+ #include <string.h>
+ #include <locale.h>
++#include <stdio.h>
+
+ #include "vmware.h"
+ #include "errInt.h"
+Index: open-vm-tools/lib/guestRpc/Makefile.am
+===================================================================
+--- open-vm-tools.orig/lib/guestRpc/Makefile.am
++++ open-vm-tools/lib/guestRpc/Makefile.am
+@@ -20,6 +20,12 @@ noinst_LTLIBRARIES = libGuestRpc.la
+ libGuestRpc_la_SOURCES =
+ libGuestRpc_la_SOURCES += nicinfo_xdr.c
+
++libGuestRpc_la_CPPFLAGS =
++libGuestRpc_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
++
++libGuestRpc_la_LIBADD =
++libGuestRpc_la_LIBADD += @LIBTIRPC_LIBS@
++
+ # XXX: Autoreconf complains about this and recommends using AM_CFLAGS instead.
+ # Problem is, $(CFLAGS) is appended to the compiler command line after AM_CFLAGS
+ # and after libGuestRpc_la_CFLAGS, so "-Wall -Werror" will override this flag.
+Index: open-vm-tools/lib/misc/Makefile.am
+===================================================================
+--- open-vm-tools.orig/lib/misc/Makefile.am
++++ open-vm-tools/lib/misc/Makefile.am
+@@ -52,4 +52,5 @@ libMisc_la_SOURCES += utilMem.c
+ libMisc_la_SOURCES += vmstdio.c
+ libMisc_la_SOURCES += strutil.c
+ libMisc_la_SOURCES += vthreadBase.c
++libMisc_la_CPPFLAGS = -Wno-error=int-conversion
+
+Index: open-vm-tools/lib/netUtil/Makefile.am
+===================================================================
+--- open-vm-tools.orig/lib/netUtil/Makefile.am
++++ open-vm-tools/lib/netUtil/Makefile.am
+@@ -20,3 +20,7 @@ noinst_LTLIBRARIES = libNetUtil.la
+ libNetUtil_la_SOURCES =
+ libNetUtil_la_SOURCES += netUtilLinux.c
+
++libNetUtil_la_CPPFLAGS =
++libNetUtil_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
++
++libNetUtil_la_LIBADD = @LIBTIRPC_LIBS@
+Index: open-vm-tools/lib/nicInfo/Makefile.am
+===================================================================
+--- open-vm-tools.orig/lib/nicInfo/Makefile.am
++++ open-vm-tools/lib/nicInfo/Makefile.am
+@@ -25,12 +25,14 @@ libNicInfo_la_SOURCES += nicInfoPosix.c
+
+ libNicInfo_la_CPPFLAGS =
+ libNicInfo_la_CPPFLAGS += @GLIB2_CPPFLAGS@
++libNicInfo_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
+
+ AM_CFLAGS = $(DNET_CPPFLAGS)
+ if USE_SLASH_PROC
+ AM_CFLAGS += -DUSE_SLASH_PROC
+ endif
+ libNicInfo_la_LIBADD =
++libNicInfo_la_LIBADD += @LIBTIRPC_LIBS@
+ if HAVE_DNET
+ libNicInfo_la_LIBADD += @DNET_LIBS@
+ endif
+Index: open-vm-tools/lib/rpcChannel/Makefile.am
+===================================================================
+--- open-vm-tools.orig/lib/rpcChannel/Makefile.am
++++ open-vm-tools/lib/rpcChannel/Makefile.am
+@@ -27,3 +27,7 @@ endif
+
+ libRpcChannel_la_CPPFLAGS =
+ libRpcChannel_la_CPPFLAGS += @VMTOOLS_CPPFLAGS@
++libRpcChannel_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
++
++libRpcChannel_la_LIBADD =
++libRpcChannel_la_LIBADD += @LIBTIRPC_LIBS@
+Index: open-vm-tools/lib/slashProc/Makefile.am
+===================================================================
+--- open-vm-tools.orig/lib/slashProc/Makefile.am
++++ open-vm-tools/lib/slashProc/Makefile.am
+@@ -22,6 +22,10 @@ libSlashProc_la_SOURCES += net.c
+
+ libSlashProc_la_CPPFLAGS =
+ libSlashProc_la_CPPFLAGS += @GLIB2_CPPFLAGS@
++libSlashProc_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
++
++libSlashProc_la_LIBADD =
++libSlashProc_la_LIBADD += @LIBTIRPC_LIBS@
+
+ AM_CFLAGS = $(DNET_CPPFLAGS)
+
+Index: open-vm-tools/lib/string/bsd_output_shared.c
+===================================================================
+--- open-vm-tools.orig/lib/string/bsd_output_shared.c
++++ open-vm-tools/lib/string/bsd_output_shared.c
+@@ -38,7 +38,7 @@
+ //#include <sys/cdefs.h>
+
+ #if !defined(STR_NO_WIN32_LIBS) && !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__NetBSD__) && !defined(__ANDROID__)
+-
++#define _GNU_SOURCE
+ #include <stdio.h>
+ #include <stdlib.h>
+ #ifndef _WIN32
+Index: open-vm-tools/libguestlib/Makefile.am
+===================================================================
+--- open-vm-tools.orig/libguestlib/Makefile.am
++++ open-vm-tools/libguestlib/Makefile.am
+@@ -22,6 +22,7 @@ AM_CFLAGS += -I$(top_srcdir)/include
+
+ libguestlib_la_LIBADD =
+ libguestlib_la_LIBADD += @VMTOOLS_LIBS@
++libguestlib_la_LIBADD += @LIBTIRPC_LIBS@
+
+ libguestlib_la_SOURCES =
+ libguestlib_la_SOURCES += guestlibV3_xdr.c
+@@ -56,6 +57,7 @@ CFLAGS += -Wno-unused
+ libguestlib_la_CPPFLAGS =
+ libguestlib_la_CPPFLAGS += -DVMTOOLS_USE_GLIB
+ libguestlib_la_CPPFLAGS += @GLIB2_CPPFLAGS@
++libguestlib_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
+
+ EXTRA_DIST = vmguestlib.pc.in
+
+Index: open-vm-tools/rpctool/Makefile.am
+===================================================================
+--- open-vm-tools.orig/rpctool/Makefile.am
++++ open-vm-tools/rpctool/Makefile.am
+@@ -17,10 +17,13 @@
+
+ bin_PROGRAMS = vmware-rpctool
+
++vmware_rpctool_CFLAGS= @LIBTIRPC_LIBS@
++
+ vmware_rpctool_SOURCES =
+ vmware_rpctool_SOURCES += rpctool.c
+
+ vmware_rpctool_LDADD =
++vmware_rpctool_LDADD += @LIBTIRPC_LIBS@
+ vmware_rpctool_LDADD += ../lib/rpcOut/libRpcOut.la
+ vmware_rpctool_LDADD += ../lib/message/libMessage.la
+ vmware_rpctool_LDADD += ../lib/backdoor/libBackdoor.la
+Index: open-vm-tools/rpctool/rpctool.c
+===================================================================
+--- open-vm-tools.orig/rpctool/rpctool.c
++++ open-vm-tools/rpctool/rpctool.c
+@@ -23,6 +23,8 @@
+ */
+
+ #ifndef _WIN32
++#define _GNU_SOURCE
++#include <signal.h>
+ #include "sigPosixRegs.h"
+ #include <errno.h>
+ #include <stdint.h>
+Index: open-vm-tools/services/plugins/dndcp/Makefile.am
+===================================================================
+--- open-vm-tools.orig/services/plugins/dndcp/Makefile.am
++++ open-vm-tools/services/plugins/dndcp/Makefile.am
+@@ -23,6 +23,7 @@ plugin_LTLIBRARIES = libdndcp.la
+ libdndcp_la_CPPFLAGS =
+ libdndcp_la_CPPFLAGS += @GTK_CPPFLAGS@
+ libdndcp_la_CPPFLAGS += @PLUGIN_CPPFLAGS@
++libdndcp_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
+ libdndcp_la_CPPFLAGS += -I$(top_srcdir)/services/plugins/dndcp/dnd
+ libdndcp_la_CPPFLAGS += -I$(top_srcdir)/services/plugins/dndcp/dndGuest
+ libdndcp_la_CPPFLAGS += -I$(top_srcdir)/services/plugins/dndcp/stringxx
+@@ -44,6 +45,7 @@ libdndcp_la_LIBADD += @GTK_LIBS@
+ libdndcp_la_LIBADD += @GTKMM_LIBS@
+ libdndcp_la_LIBADD += @VMTOOLS_LIBS@
+ libdndcp_la_LIBADD += @HGFS_LIBS@
++libdndcp_la_LIBADD += @LIBTIRPC_LIBS@
+ libdndcp_la_LIBADD += $(top_builddir)/lib/hgfsUri/hgfsUriPosix.lo
+
+ libdndcp_la_SOURCES =
+Index: open-vm-tools/services/plugins/guestInfo/Makefile.am
+===================================================================
+--- open-vm-tools.orig/services/plugins/guestInfo/Makefile.am
++++ open-vm-tools/services/plugins/guestInfo/Makefile.am
+@@ -22,6 +22,7 @@ plugin_LTLIBRARIES = libguestInfo.la
+
+ libguestInfo_la_CPPFLAGS =
+ libguestInfo_la_CPPFLAGS += @PLUGIN_CPPFLAGS@
++libguestInfo_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
+
+ libguestInfo_la_LDFLAGS =
+ libguestInfo_la_LDFLAGS += @PLUGIN_LDFLAGS@
+Index: open-vm-tools/services/plugins/resolutionSet/Makefile.am
+===================================================================
+--- open-vm-tools.orig/services/plugins/resolutionSet/Makefile.am
++++ open-vm-tools/services/plugins/resolutionSet/Makefile.am
+@@ -21,6 +21,7 @@ plugin_LTLIBRARIES = libresolutionSet.la
+ libresolutionSet_la_CPPFLAGS =
+ libresolutionSet_la_CPPFLAGS += @GTK_CPPFLAGS@
+ libresolutionSet_la_CPPFLAGS += @PLUGIN_CPPFLAGS@
++libresolutionSet_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
+ libresolutionSet_la_CPPFLAGS += -DRESOLUTION_X11
+
+ libresolutionSet_la_LDFLAGS =
+@@ -30,6 +31,7 @@ libresolutionSet_la_LIBADD =
+ libresolutionSet_la_LIBADD += @COMMON_XLIBS@
+ libresolutionSet_la_LIBADD += @GTK_LIBS@
+ libresolutionSet_la_LIBADD += @VMTOOLS_LIBS@
++libresolutionSet_la_LIBADD += @LIBTIRPC_LIBS@
+
+ libresolutionSet_la_SOURCES =
+ libresolutionSet_la_SOURCES += libvmwarectrl.c
+Index: open-vm-tools/services/plugins/vix/Makefile.am
+===================================================================
+--- open-vm-tools.orig/services/plugins/vix/Makefile.am
++++ open-vm-tools/services/plugins/vix/Makefile.am
+@@ -20,6 +20,7 @@ plugin_LTLIBRARIES = libvix.la
+
+ libvix_la_CPPFLAGS =
+ libvix_la_CPPFLAGS += @PLUGIN_CPPFLAGS@
++libvix_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
+ libvix_la_CPPFLAGS += -I$(top_srcdir)/vgauth/public
+
+ libvix_la_LDFLAGS =
+@@ -29,6 +30,7 @@ libvix_la_LIBADD =
+ libvix_la_LIBADD += @VIX_LIBADD@
+ libvix_la_LIBADD += @VMTOOLS_LIBS@
+ libvix_la_LIBADD += @HGFS_LIBS@
++libvix_la_LIBADD += @LIBTIRPC_LIBS@
+ libvix_la_LIBADD += $(top_builddir)/lib/auth/libAuth.la
+ libvix_la_LIBADD += $(top_builddir)/lib/foundryMsg/libFoundryMsg.la
+ libvix_la_LIBADD += $(top_builddir)/lib/impersonate/libImpersonate.la
+Index: open-vm-tools/services/plugins/vmbackup/Makefile.am
+===================================================================
+--- open-vm-tools.orig/services/plugins/vmbackup/Makefile.am
++++ open-vm-tools/services/plugins/vmbackup/Makefile.am
+@@ -20,6 +20,7 @@ plugin_LTLIBRARIES = libvmbackup.la
+
+ libvmbackup_la_CPPFLAGS =
+ libvmbackup_la_CPPFLAGS += @PLUGIN_CPPFLAGS@
++libvmbackup_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
+
+ libvmbackup_la_LDFLAGS =
+ libvmbackup_la_LDFLAGS += @PLUGIN_LDFLAGS@
+@@ -27,6 +28,7 @@ libvmbackup_la_LDFLAGS += @PLUGIN_LDFLAG
+ libvmbackup_la_LIBADD =
+ libvmbackup_la_LIBADD += @GOBJECT_LIBS@
+ libvmbackup_la_LIBADD += @VMTOOLS_LIBS@
++libvmbackup_la_LIBADD += @LIBTIRPC_LIBS@
+
+ libvmbackup_la_SOURCES =
+ libvmbackup_la_SOURCES += nullProvider.c
+Index: open-vm-tools/toolbox/Makefile.am
+===================================================================
+--- open-vm-tools.orig/toolbox/Makefile.am
++++ open-vm-tools/toolbox/Makefile.am
+@@ -20,9 +20,11 @@ bin_PROGRAMS = vmware-toolbox-cmd
+ vmware_toolbox_cmd_LDADD =
+ vmware_toolbox_cmd_LDADD += ../libguestlib/libguestlib.la
+ vmware_toolbox_cmd_LDADD += @VMTOOLS_LIBS@
++vmware_toolbox_cmd_LDADD += @LIBTIRPC_LIBS@
+
+ vmware_toolbox_cmd_CPPFLAGS =
+ vmware_toolbox_cmd_CPPFLAGS += @VMTOOLS_CPPFLAGS@
++vmware_toolbox_cmd_CPPFLAGS += @LIBTIRPC_CPPFLAGS@
+
+ vmware_toolbox_cmd_SOURCES =
+ vmware_toolbox_cmd_SOURCES += toolbox-cmd.c
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-gnu-ucontext.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-gnu-ucontext.patch
new file mode 100644
index 000000000..c9beac1fc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-gnu-ucontext.patch
@@ -0,0 +1,65 @@
+From 27442e2dd287d393d7b3f8bf164a887affef84df Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Wed, 18 Nov 2015 10:27:51 +0000
+Subject: [PATCH 10/11] gnu-ucontext
+
+---
+ open-vm-tools/lib/include/sigPosixRegs.h | 24 ++++++++++++------------
+ 1 file changed, 12 insertions(+), 12 deletions(-)
+
+Index: open-vm-tools/lib/include/sigPosixRegs.h
+===================================================================
+--- open-vm-tools.orig/lib/include/sigPosixRegs.h
++++ open-vm-tools/lib/include/sigPosixRegs.h
+@@ -33,7 +33,7 @@
+ #include "includeCheck.h"
+
+
+-#if __linux__ // We need the REG_foo offsets in the gregset_t;
++#if defined(__GLIBC__) // We need the REG_foo offsets in the gregset_t;
+ # define _GNU_SOURCE // _GNU_SOURCE maps to __USE_GNU
+
+ /* And, the REG_foo definitions conflict with our own in x86.h */
+@@ -73,7 +73,7 @@
+ #include <sys/ucontext.h>
+ #endif
+
+-#if __linux__
++#if defined(__GLIBC__)
+ # if defined(__x86_64__)
+ # undef REG_RAX
+ # undef REG_RBX
+@@ -199,7 +199,7 @@
+ #define SC_ESP(uc) ((unsigned long) (uc)->uc_mcontext.mc_esp)
+ #define SC_EIP(uc) ((unsigned long) (uc)->uc_mcontext.mc_eip)
+ #endif
+-#elif defined (sun)
++#elif !defined (__GLIBC__)
+ #ifdef __x86_64__
+ #define SC_EAX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_RAX])
+ #define SC_EBX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_RBX])
+@@ -219,15 +219,15 @@
+ #define SC_R14(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_R14])
+ #define SC_R15(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_R15])
+ #else
+-#define SC_EAX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[EAX])
+-#define SC_EBX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[EBX])
+-#define SC_ECX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[ECX])
+-#define SC_EDX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[EDX])
+-#define SC_EDI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[EDI])
+-#define SC_ESI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[ESI])
+-#define SC_EBP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[EBP])
+-#define SC_ESP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[ESP])
+-#define SC_EIP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[EIP])
++#define SC_EAX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EAX])
++#define SC_EBX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EBX])
++#define SC_ECX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_ECX])
++#define SC_EDX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EDX])
++#define SC_EDI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EDI])
++#define SC_ESI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_ESI])
++#define SC_EBP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EBP])
++#define SC_ESP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_ESP])
++#define SC_EIP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EIP])
+ #endif
+ #elif defined(ANDROID_X86)
+ #define SC_EAX(uc) ((unsigned long) (uc)->uc_mcontext.eax)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-configure-test-for-sys-stat.h-include.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-configure-test-for-sys-stat.h-include.patch
new file mode 100644
index 000000000..78722390e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-configure-test-for-sys-stat.h-include.patch
@@ -0,0 +1,25 @@
+From 95c6184d9ff70a47c41768850923a96de9e544aa Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Wed, 18 Nov 2015 10:41:01 +0000
+Subject: [PATCH 11/11] Use configure test for sys/stat.h include
+
+This is needed for musl libc.
+
+Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
+---
+ open-vm-tools/services/plugins/vix/vixTools.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: open-vm-tools/services/plugins/vix/vixTools.c
+===================================================================
+--- open-vm-tools.orig/services/plugins/vix/vixTools.c
++++ open-vm-tools/services/plugins/vix/vixTools.c
+@@ -66,7 +66,7 @@
+ #include <unistd.h>
+ #endif
+
+-#if defined(sun) || defined(__FreeBSD__) || defined(__APPLE__)
++#ifdef HAVE_SYS_STAT_H
+ #include <sys/stat.h>
+ #endif
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb
new file mode 100644
index 000000000..81e8e9624
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb
@@ -0,0 +1,103 @@
+# This recipe is modified from the recipe originally found in the Open-Switch
+# repository:
+#
+# https://github.com/open-switch/ops-build
+# yocto/openswitch/meta-foss-openswitch/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb
+# Commit 9008de2d8e100f3f868c66765742bca9fa98f3f9
+#
+# The recipe packaging has been relicensed under the MIT license for inclusion
+# in meta-openembedded by agreement of the author (Diego Dompe).
+#
+
+SUMMARY = "Tools to enhance VMWare guest integration and performance"
+HOMEPAGE = "https://github.com/vmware/open-vm-tools"
+SECTION = "vmware-tools"
+
+LICENSE = "LGPL-2.0 & GPL-2.0 & BSD & CDDL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b66ba4cb4fc017682c95efc300410e79"
+LICENSE_modules/freebsd/vmblock = "BSD"
+LICENSE_modules/freebsd/vmmemctl = "GPL-2.0"
+LICENSE_modules/freebsd/vmxnet = "GPL-2.0"
+LICENSE_modules/linux = "GPL-2.0"
+LICENSE_modules/solaris = "CDDL-1.0"
+
+SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https \
+ file://tools.conf \
+ file://vmtoolsd.service \
+ file://0001-configure.ac-don-t-use-dnet-config.patch \
+ file://0002-add-include-sys-sysmacros.h.patch \
+ file://0001-Remove-assumptions-about-glibc-being-only-libc-imple.patch \
+ file://0002-include-poll.h-instead-of-obsolete-sys-poll.h.patch \
+ file://0003-Rename-poll.h-to-vm_poll.h.patch \
+ file://0004-Add-Wno-incompatible-pointer-types-and-Wno-error-add.patch \
+ file://0005-Use-configure-test-for-struct-timespec.patch \
+ file://0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch \
+ file://0007-Use-configure-to-test-for-feature-instead-of-platfor.patch \
+ file://0008-use-posix-strerror_r-unless-gnu.patch \
+ file://0011-Use-configure-test-for-sys-stat.h-include.patch \
+ "
+SRC_URI_append_libc-musl = "\
+ file://0009-Add-support-for-building-with-system-libtirpc.patch \
+ file://0010-gnu-ucontext.patch \
+ "
+SRCREV = "854c0bb374612f7e633b448ca273f970f154458b"
+
+S = "${WORKDIR}/git/open-vm-tools"
+
+DEPENDS = "glib-2.0 glib-2.0-native util-linux libdnet procps"
+DEPENDS_append_libc-musl = " libtirpc"
+
+# open-vm-tools is supported only on x86.
+COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux'
+
+inherit autotools pkgconfig systemd
+
+SYSTEMD_SERVICE_${PN} = "vmtoolsd.service"
+
+EXTRA_OECONF = "--without-icu --disable-multimon --disable-docs \
+ --disable-tests --without-gtkmm --without-xerces --without-pam \
+ --disable-grabbitmqproxy --disable-vgauth --disable-deploypkg \
+ --without-root-privileges --without-kernel-modules"
+
+NO_X11_FLAGS = "--without-x --without-gtk2 --without-gtk3"
+X11_DEPENDS = "libxext libxi libxrender libxrandr libxtst gtk+ gdk-pixbuf"
+PACKAGECONFIG[x11] = ",${NO_X11_FLAGS},${X11_DEPENDS}"
+
+# fuse gets implicitly detected; there is no --without-fuse option.
+PACKAGECONFIG[fuse] = ",,fuse"
+
+CFLAGS_append_toolchain-clang = " -Wno-address-of-packed-member"
+FILES_${PN} += "\
+ ${libdir}/open-vm-tools/plugins/vmsvc/lib*.so \
+ ${libdir}/open-vm-tools/plugins/common/lib*.so \
+ ${sysconfdir}/vmware-tools/tools.conf \
+ "
+FILES_${PN}-locale += "${datadir}/open-vm-tools/messages"
+FILES_${PN}-dev += "${libdir}/open-vm-tools/plugins/common/lib*.la"
+FILES_${PN}-dbg += "\
+ ${libdir}/open-vm-tools/plugins/common/.debug \
+ ${libdir}/open-vm-tools/plugins/vmsvc/.debug \
+ "
+
+CONFFILES_${PN} += "${sysconfdir}/vmware-tools/tools.conf"
+
+RDEPENDS_${PN} = "util-linux libdnet fuse"
+
+do_install_append() {
+ ln -sf ${sbindir}/mount.vmhgfs ${D}/sbin/mount.vmhgfs
+ install -d ${D}${systemd_unitdir}/system ${D}${sysconfdir}/vmware-tools
+ install -m 644 ${WORKDIR}/*.service ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/tools.conf ${D}${sysconfdir}/vmware-tools/tools.conf
+}
+
+do_configure_prepend() {
+ export CUSTOM_DNET_NAME=dnet
+ export CUSTOM_DNET_LIBS=-L${STAGING_LIBDIR}/libdnet.so
+}
+
+python() {
+ if 'networking-layer' not in d.getVar('BBFILE_COLLECTIONS').split() or \
+ 'filesystems-layer' not in d.getVar('BBFILE_COLLECTIONS').split():
+ raise bb.parse.SkipRecipe('Requires meta-networking and meta-filesystems to be present.')
+}
+
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 0f5568c31..c7d7203ed 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
@@ -1,4 +1,5 @@
Summanry = "Middleware framework for smart card terminals"
+HOMEPAGE = "https://github.com/OpenSC/openct/wiki"
DESCRIPTION = " \
OpenCT implements drivers for several smart card readers. \
It comes as driver in ifdhandler format for PC/SC-Lite, \
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
deleted file mode 100644
index 107184be4..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv-samples_2.4.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "Opencv : The Open Computer Vision Library"
-HOMEPAGE = "http://opencv.willowgarage.com/wiki/"
-SECTION = "libs"
-LICENSE = "BSD"
-
-DEPENDS = "opencv"
-
-LIC_FILES_CHKSUM = "file://include/opencv2/opencv.hpp;endline=41;md5=6d690d8488a6fca7a2c192932466bb14 \
-"
-SRCREV = "6fae07ba8867b8fd2c53344a774aab669afa7c5e"
-SRC_URI = "git://github.com/Itseez/opencv.git;branch=2.4 \
- "
-PV = "2.4.3+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-do_install() {
- cd samples/c
- install -d ${D}/${bindir}
- install -d ${D}/${datadir}/opencv/samples
-
- cp * ${D}/${datadir}/opencv/samples || true
-
- for i in *.c; do
- echo "compiling $i"
- ${CXX} ${CFLAGS} ${LDFLAGS} -ggdb `pkg-config --cflags opencv` -o `basename $i .c` $i `pkg-config --libs opencv` || true
- install -m 0755 `basename $i .c` ${D}/${bindir} || true
- rm ${D}/${datadir}/opencv/samples/`basename $i .c` || true
- done
- for i in *.cpp; do
- echo "compiling $i"
- ${CXX} ${CFLAGS} ${LDFLAGS} -ggdb `pkg-config --cflags opencv` -o `basename $i .cpp` $i `pkg-config --libs opencv` || true
- install -m 0755 `basename $i .cpp` ${D}/${bindir} || true
- rm ${D}/${datadir}/opencv/samples/`basename $i .cpp` || true
- done
-}
-
-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 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch
index 1077d05be..4d76ad40c 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch
@@ -1,28 +1,38 @@
-From 049f931207631aa54af55a2917318d032b2ef3fa Mon Sep 17 00:00:00 2001
+From 4801a057730632225337d7f6d26b9335e6b9b078 Mon Sep 17 00:00:00 2001
From: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Date: Thu, 31 Mar 2016 00:20:15 +0200
Subject: [PATCH] 3rdparty/ippicv: Use pre-downloaded ipp
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
+Signed-off-by: Ismo Puustinen <ismo.puustinen@intel.com>
---
- 3rdparty/ippicv/downloader.cmake | 2 ++
- 1 file changed, 2 insertions(+)
+ 3rdparty/ippicv/ippicv.cmake | 15 +--------------
+ 1 file changed, 1 insertion(+), 14 deletions(-)
-diff --git a/3rdparty/ippicv/downloader.cmake b/3rdparty/ippicv/downloader.cmake
-index a6016dbe10bc..af4062c8e95e 100644
---- a/3rdparty/ippicv/downloader.cmake
-+++ b/3rdparty/ippicv/downloader.cmake
-@@ -31,8 +31,10 @@ function(_icv_downloader)
- return() # Not supported
+diff --git a/3rdparty/ippicv/ippicv.cmake b/3rdparty/ippicv/ippicv.cmake
+index d601da4bb..f6fc1098c 100644
+--- a/3rdparty/ippicv/ippicv.cmake
++++ b/3rdparty/ippicv/ippicv.cmake
+@@ -39,18 +39,5 @@ function(download_ippicv root_var)
endif()
-+ if(NOT DEFINED OPENCV_ICV_PATH)
- set(OPENCV_ICV_UNPACK_PATH "${CMAKE_BINARY_DIR}/3rdparty/ippicv")
- set(OPENCV_ICV_PATH "${OPENCV_ICV_UNPACK_PATH}${OPENCV_ICV_PACKAGE_SUBDIR}")
-+ endif()
-
- if(DEFINED OPENCV_ICV_PACKAGE_DOWNLOADED
- AND OPENCV_ICV_PACKAGE_DOWNLOADED STREQUAL OPENCV_ICV_PACKAGE_HASH
+ set(THE_ROOT "${OpenCV_BINARY_DIR}/3rdparty/ippicv")
+- ocv_download(FILENAME ${OPENCV_ICV_NAME}
+- HASH ${OPENCV_ICV_HASH}
+- URL
+- "${OPENCV_IPPICV_URL}"
+- "$ENV{OPENCV_IPPICV_URL}"
+- "https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/"
+- DESTINATION_DIR "${THE_ROOT}"
+- ID IPPICV
+- STATUS res
+- UNPACK RELATIVE_URL)
+-
+- if(res)
+- set(${root_var} "${THE_ROOT}/${OPENCV_ICV_PACKAGE_SUBDIR}" PARENT_SCOPE)
+- endif()
++ set(${root_var} "${THE_ROOT}/${OPENCV_ICV_PACKAGE_SUBDIR}" PARENT_SCOPE)
+ endfunction()
--
-2.8.0.rc3
+2.13.4
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Dont-use-isystem.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Dont-use-isystem.patch
new file mode 100644
index 000000000..6dd48fcdc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Dont-use-isystem.patch
@@ -0,0 +1,26 @@
+From 2bc6bb9831d07f035fea74ea745cea43dd5f9ef9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 9 Sep 2017 23:48:31 -0700
+Subject: [PATCH] Dont use isystem
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ cmake/OpenCVPCHSupport.cmake | 10 ++++------
+ 1 file changed, 4 insertions(+), 6 deletions(-)
+
+Index: git/cmake/OpenCVPCHSupport.cmake
+===================================================================
+--- git.orig/cmake/OpenCVPCHSupport.cmake
++++ git/cmake/OpenCVPCHSupport.cmake
+@@ -17,7 +17,8 @@ IF(CMAKE_COMPILER_IS_GNUCXX)
+ IF(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.2.0")
+ SET(PCHSupport_FOUND TRUE)
+ ENDIF()
+-
++ SET(CMAKE_INCLUDE_SYSTEM_FLAG_C "-I")
++ SET(CMAKE_INCLUDE_SYSTEM_FLAG_CXX "-I")
+ SET(_PCH_include_prefix "-I")
+ SET(_PCH_isystem_prefix "-isystem")
+ SET(_PCH_define_prefix "-D")
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Make-opencv-ts-create-share-library-intead-of-static.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Make-opencv-ts-create-share-library-intead-of-static.patch
deleted file mode 100644
index 05ec41fd8..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Make-opencv-ts-create-share-library-intead-of-static.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 49d1f7c40a5d097f23671318045ac54bc07846cf Mon Sep 17 00:00:00 2001
-From: Bian Naimeng <biannm@cn.fujitsu.com>
-Date: Wed, 19 Apr 2017 03:11:37 +0900
-Subject: [PATCH] Make opencv-ts create share library intead of static.
-
-Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
----
- modules/ts/CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modules/ts/CMakeLists.txt b/modules/ts/CMakeLists.txt
-index bb56da2..7bb4ce9 100644
---- a/modules/ts/CMakeLists.txt
-+++ b/modules/ts/CMakeLists.txt
-@@ -4,7 +4,7 @@ if(IOS)
- ocv_module_disable(ts)
- endif()
-
--set(OPENCV_MODULE_TYPE STATIC)
-+#set(OPENCV_MODULE_TYPE STATIC)
- set(OPENCV_MODULE_IS_PART_OF_WORLD FALSE)
-
- ocv_warnings_disable(CMAKE_CXX_FLAGS -Wundef)
---
-1.8.4.2
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Revert-cuda-fix-fp16-compilation.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Revert-cuda-fix-fp16-compilation.patch
deleted file mode 100644
index 507d7968a..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Revert-cuda-fix-fp16-compilation.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 69f9707678190f6a0948a547dce948251f972676 Mon Sep 17 00:00:00 2001
-From: Randy MacLeod <Randy.MacLeod@windriver.com>
-Date: Wed, 26 Apr 2017 14:57:30 -0400
-Subject: [PATCH 1/2] Revert "cuda: fix fp16 compilation"
-
-This reverts commit 12e00827be40576b686ea4438a6e6ef85208743d.
----
- modules/core/include/opencv2/core/cvdef.h | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/modules/core/include/opencv2/core/cvdef.h b/modules/core/include/opencv2/core/cvdef.h
-index 699b166..efc24ca 100644
---- a/modules/core/include/opencv2/core/cvdef.h
-+++ b/modules/core/include/opencv2/core/cvdef.h
-@@ -303,8 +303,7 @@ enum CpuFeatures {
- #define CV_2PI 6.283185307179586476925286766559
- #define CV_LOG2 0.69314718055994530941723212145818
-
--#if defined __ARM_FP16_FORMAT_IEEE \
-- && !defined __CUDACC__
-+#if defined (__ARM_FP16_FORMAT_IEEE)
- # define CV_FP16_TYPE 1
- #else
- # define CV_FP16_TYPE 0
---
-2.9.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-To-fix-errors-as-following.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-To-fix-errors-as-following.patch
deleted file mode 100644
index 820ab81f6..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-To-fix-errors-as-following.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From db1d9cc82b68f6593360d66ef40cb6b0fc377e6e Mon Sep 17 00:00:00 2001
-From: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
-Date: Fri, 19 May 2017 04:27:50 +0900
-Subject: [PATCH] To fix errors as following:
-
-"test_main.cpp:45: undefined reference to `parseCustomOptions(int, char**)'"
-"perf_abs.cpp:13: undefined reference to `cvtest::param_seed'"
-"test_superres.cpp:270: undefined reference to `checkIppStatus()'"
-
-Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
----
- modules/ts/include/opencv2/ts.hpp | 4 ++--
- modules/ts/include/opencv2/ts/ts_ext.hpp | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/modules/ts/include/opencv2/ts.hpp b/modules/ts/include/opencv2/ts.hpp
-index c573905..7ff6cc1 100644
---- a/modules/ts/include/opencv2/ts.hpp
-+++ b/modules/ts/include/opencv2/ts.hpp
-@@ -539,7 +539,7 @@ protected:
- }
- };
-
--extern uint64 param_seed;
-+CV_EXPORTS extern uint64 param_seed;
-
- struct CV_EXPORTS DefaultRngAuto
- {
-@@ -602,7 +602,7 @@ void dumpOpenCLDevice();
- #define TEST_DUMP_OCL_INFO
- #endif
-
--void parseCustomOptions(int argc, char **argv);
-+CV_EXPORTS void parseCustomOptions(int argc, char **argv);
-
- #define CV_TEST_MAIN(resourcesubdir, ...) \
- int main(int argc, char **argv) \
-diff --git a/modules/ts/include/opencv2/ts/ts_ext.hpp b/modules/ts/include/opencv2/ts/ts_ext.hpp
-index 05ccc63..8075065 100644
---- a/modules/ts/include/opencv2/ts/ts_ext.hpp
-+++ b/modules/ts/include/opencv2/ts/ts_ext.hpp
-@@ -9,7 +9,7 @@
- #define OPENCV_TS_EXT_HPP
-
- namespace cvtest {
--void checkIppStatus();
-+CV_EXPORTS void checkIppStatus();
- }
-
- #define CV_TEST_INIT \
---
-2.7.4
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Use-__vector-instead-of-vector-as-suggests-Eigen.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Use-__vector-instead-of-vector-as-suggests-Eigen.patch
deleted file mode 100644
index 7f809bce1..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Use-__vector-instead-of-vector-as-suggests-Eigen.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 711f07a34ceb504e8f75e978692201efa58268ca Mon Sep 17 00:00:00 2001
-From: Dinar Valeev <dvaleev@suse.com>
-Date: Thu, 16 Jan 2014 21:53:49 +0100
-Subject: [PATCH] Use __vector instead of vector as suggests Eigen
-
-This fixes build on PowerPC where Eigen unsets vector, bool and pixel
-
-Signed-off-by: Dinar Valeev <dvaleev@suse.com>
-
-This patch is already part of OpenCV v3.0. The patch can be obtained
-from:
-
- https://github.com/Itseez/opencv/commit/711f07a34ceb504e8f75e978692201efa58268ca.patch
-
-Upstream-Status: Backport [commit 711f07a34c, part of version 3.0]
-
-Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
----
- 3rdparty/include/opencl/1.2/CL/cl_platform.h | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/3rdparty/include/opencl/1.2/CL/cl_platform.h b/3rdparty/include/opencl/1.2/CL/cl_platform.h
-index e94949a..42c35d5 100644
---- a/3rdparty/include/opencl/1.2/CL/cl_platform.h
-+++ b/3rdparty/include/opencl/1.2/CL/cl_platform.h
-@@ -332,13 +332,13 @@ typedef unsigned int cl_GLenum;
- /* Define basic vector types */
- #if defined( __VEC__ )
- #include <altivec.h> /* may be omitted depending on compiler. AltiVec spec provides no way to detect whether the header is required. */
-- typedef vector unsigned char __cl_uchar16;
-- typedef vector signed char __cl_char16;
-- typedef vector unsigned short __cl_ushort8;
-- typedef vector signed short __cl_short8;
-- typedef vector unsigned int __cl_uint4;
-- typedef vector signed int __cl_int4;
-- typedef vector float __cl_float4;
-+ typedef __vector unsigned char __cl_uchar16;
-+ typedef __vector signed char __cl_char16;
-+ typedef __vector unsigned short __cl_ushort8;
-+ typedef __vector signed short __cl_short8;
-+ typedef __vector unsigned int __cl_uint4;
-+ typedef __vector signed int __cl_int4;
-+ typedef __vector float __cl_float4;
- #define __CL_UCHAR16__ 1
- #define __CL_CHAR16__ 1
- #define __CL_USHORT8__ 1
---
-1.9.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-build-workaround-GCC-7.1.1-compilation-issue-with-sa.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-build-workaround-GCC-7.1.1-compilation-issue-with-sa.patch
new file mode 100644
index 000000000..0140633db
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-build-workaround-GCC-7.1.1-compilation-issue-with-sa.patch
@@ -0,0 +1,127 @@
+Upstream-Status: Backport [https://github.com/opencv/opencv/pull/9376/commits/0d854db361106dfcb055231fd0112c5b85ef2287]
+
+Fix CVEs for opencv 3.3.
+
+* CVE-2017-12597
+* CVE-2017-12598
+* CVE-2017-12599
+* CVE-2017-12600
+* CVE-2017-12601
+* CVE-2017-12602
+* CVE-2017-12603
+* CVE-2017-12604
+* CVE-2017-12605
+* CVE-2017-12606
+* CVE-2017-12862
+* CVE-2017-12863
+* CVE-2017-12864
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+From 0d854db361106dfcb055231fd0112c5b85ef2287 Mon Sep 17 00:00:00 2001
+From: Alexander Alekhin <alexander.a.alekhin@gmail.com>
+Date: Tue, 15 Aug 2017 21:45:05 +0000
+Subject: [PATCH 1/3] build: workaround GCC 7.1.1 compilation issue with
+ sanitize flags
+
+Version: gcc (GCC) 7.1.1 20170622 (Red Hat 7.1.1-3)
+Flags: -fsanitize=address,undefined
+---
+ modules/ts/src/cuda_test.cpp | 56 ++++++++++++++++++++++++++------------------
+ 1 file changed, 33 insertions(+), 23 deletions(-)
+
+diff --git a/modules/ts/src/cuda_test.cpp b/modules/ts/src/cuda_test.cpp
+index a48e0a087..eb4cee136 100644
+--- a/modules/ts/src/cuda_test.cpp
++++ b/modules/ts/src/cuda_test.cpp
+@@ -322,16 +322,20 @@ namespace cvtest
+
+ if (m1.size() != m2.size())
+ {
+- return AssertionFailure() << "Matrices \"" << expr1 << "\" and \"" << expr2 << "\" have different sizes : \""
+- << expr1 << "\" [" << PrintToString(m1.size()) << "] vs \""
+- << expr2 << "\" [" << PrintToString(m2.size()) << "]";
++ std::stringstream msg;
++ msg << "Matrices \"" << expr1 << "\" and \"" << expr2 << "\" have different sizes : \""
++ << expr1 << "\" [" << PrintToString(m1.size()) << "] vs \""
++ << expr2 << "\" [" << PrintToString(m2.size()) << "]";
++ return AssertionFailure() << msg.str();
+ }
+
+ if (m1.type() != m2.type())
+ {
+- return AssertionFailure() << "Matrices \"" << expr1 << "\" and \"" << expr2 << "\" have different types : \""
+- << expr1 << "\" [" << PrintToString(MatType(m1.type())) << "] vs \""
+- << expr2 << "\" [" << PrintToString(MatType(m2.type())) << "]";
++ std::stringstream msg;
++ msg << "Matrices \"" << expr1 << "\" and \"" << expr2 << "\" have different types : \""
++ << expr1 << "\" [" << PrintToString(MatType(m1.type())) << "] vs \""
++ << expr2 << "\" [" << PrintToString(MatType(m2.type())) << "]";
++ return AssertionFailure() << msg.str();
+ }
+
+ Mat diff;
+@@ -343,12 +347,14 @@ namespace cvtest
+
+ if (maxVal > eps)
+ {
+- return AssertionFailure() << "The max difference between matrices \"" << expr1 << "\" and \"" << expr2
+- << "\" is " << maxVal << " at (" << maxLoc.y << ", " << maxLoc.x / m1.channels() << ")"
+- << ", which exceeds \"" << eps_expr << "\", where \""
+- << expr1 << "\" at (" << maxLoc.y << ", " << maxLoc.x / m1.channels() << ") evaluates to " << printMatVal(m1, maxLoc) << ", \""
+- << expr2 << "\" at (" << maxLoc.y << ", " << maxLoc.x / m1.channels() << ") evaluates to " << printMatVal(m2, maxLoc) << ", \""
+- << eps_expr << "\" evaluates to " << eps;
++ std::stringstream msg;
++ msg << "The max difference between matrices \"" << expr1 << "\" and \"" << expr2
++ << "\" is " << maxVal << " at (" << maxLoc.y << ", " << maxLoc.x / m1.channels() << ")"
++ << ", which exceeds \"" << eps_expr << "\", where \""
++ << expr1 << "\" at (" << maxLoc.y << ", " << maxLoc.x / m1.channels() << ") evaluates to " << printMatVal(m1, maxLoc) << ", \""
++ << expr2 << "\" at (" << maxLoc.y << ", " << maxLoc.x / m1.channels() << ") evaluates to " << printMatVal(m2, maxLoc) << ", \""
++ << eps_expr << "\" evaluates to " << eps;
++ return AssertionFailure() << msg.str();
+ }
+
+ return AssertionSuccess();
+@@ -469,9 +475,11 @@ namespace cvtest
+ {
+ if (gold.size() != actual.size())
+ {
+- return testing::AssertionFailure() << "KeyPoints size mistmach\n"
+- << "\"" << gold_expr << "\" : " << gold.size() << "\n"
+- << "\"" << actual_expr << "\" : " << actual.size();
++ std::stringstream msg;
++ msg << "KeyPoints size mistmach\n"
++ << "\"" << gold_expr << "\" : " << gold.size() << "\n"
++ << "\"" << actual_expr << "\" : " << actual.size();
++ return AssertionFailure() << msg.str();
+ }
+
+ std::sort(actual.begin(), actual.end(), KeyPointLess());
+@@ -484,14 +492,16 @@ namespace cvtest
+
+ if (!keyPointsEquals(p1, p2))
+ {
+- return testing::AssertionFailure() << "KeyPoints differ at " << i << "\n"
+- << "\"" << gold_expr << "\" vs \"" << actual_expr << "\" : \n"
+- << "pt : " << testing::PrintToString(p1.pt) << " vs " << testing::PrintToString(p2.pt) << "\n"
+- << "size : " << p1.size << " vs " << p2.size << "\n"
+- << "angle : " << p1.angle << " vs " << p2.angle << "\n"
+- << "response : " << p1.response << " vs " << p2.response << "\n"
+- << "octave : " << p1.octave << " vs " << p2.octave << "\n"
+- << "class_id : " << p1.class_id << " vs " << p2.class_id;
++ std::stringstream msg;
++ msg << "KeyPoints differ at " << i << "\n"
++ << "\"" << gold_expr << "\" vs \"" << actual_expr << "\" : \n"
++ << "pt : " << testing::PrintToString(p1.pt) << " vs " << testing::PrintToString(p2.pt) << "\n"
++ << "size : " << p1.size << " vs " << p2.size << "\n"
++ << "angle : " << p1.angle << " vs " << p2.angle << "\n"
++ << "response : " << p1.response << " vs " << p2.response << "\n"
++ << "octave : " << p1.octave << " vs " << p2.octave << "\n"
++ << "class_id : " << p1.class_id << " vs " << p2.class_id;
++ return AssertionFailure() << msg.str();
+ }
+ }
+
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-carotene-don-t-use-__asm__-with-aarch64.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-carotene-don-t-use-__asm__-with-aarch64.patch
new file mode 100644
index 000000000..a1a56e0e4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-carotene-don-t-use-__asm__-with-aarch64.patch
@@ -0,0 +1,1250 @@
+From 353fc92618ce0dc6bab4a3e8bff1c13c3b613110 Mon Sep 17 00:00:00 2001
+From: Alexander Alekhin <alexander.alekhin@intel.com>
+Date: Wed, 23 Aug 2017 17:41:23 +0300
+Subject: [PATCH 1/2] carotene: don't use __asm__ with aarch64
+
+---
+Upstream-Status: Backport
+
+ 3rdparty/carotene/src/channel_extract.cpp | 4 +-
+ 3rdparty/carotene/src/channels_combine.cpp | 2 +-
+ 3rdparty/carotene/src/colorconvert.cpp | 104 ++++++++++++++---------------
+ 3rdparty/carotene/src/convert.cpp | 54 +++++++--------
+ 3rdparty/carotene/src/convert_scale.cpp | 72 ++++++++++----------
+ 3rdparty/carotene/src/gaussian_blur.cpp | 6 +-
+ 3rdparty/carotene/src/pyramid.cpp | 20 +++---
+ 3rdparty/carotene/src/scharr.cpp | 4 +-
+ 8 files changed, 133 insertions(+), 133 deletions(-)
+
+diff --git a/3rdparty/carotene/src/channel_extract.cpp b/3rdparty/carotene/src/channel_extract.cpp
+index f663bc6005..8238a3ece8 100644
+--- a/3rdparty/carotene/src/channel_extract.cpp
++++ b/3rdparty/carotene/src/channel_extract.cpp
+@@ -231,7 +231,7 @@ void extract4(const Size2D &size,
+ srcStride == dst2Stride && \
+ srcStride == dst3Stride &&
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+
+ #define SPLIT_ASM2(sgn, bits) __asm__ ( \
+ "vld2." #bits " {d0, d2}, [%[in0]] \n\t" \
+@@ -351,7 +351,7 @@ void extract4(const Size2D &size,
+ } \
+ }
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+
+ #define ALPHA_QUAD(sgn, bits) { \
+ internal::prefetch(src + sj); \
+diff --git a/3rdparty/carotene/src/channels_combine.cpp b/3rdparty/carotene/src/channels_combine.cpp
+index 157c8b8121..fc98fb9181 100644
+--- a/3rdparty/carotene/src/channels_combine.cpp
++++ b/3rdparty/carotene/src/channels_combine.cpp
+@@ -77,7 +77,7 @@ namespace CAROTENE_NS {
+ dstStride == src2Stride && \
+ dstStride == src3Stride &&
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+
+ #define MERGE_ASM2(sgn, bits) __asm__ ( \
+ "vld1." #bits " {d0-d1}, [%[in0]] \n\t" \
+diff --git a/3rdparty/carotene/src/colorconvert.cpp b/3rdparty/carotene/src/colorconvert.cpp
+index 3037fe672a..26ae54b15c 100644
+--- a/3rdparty/carotene/src/colorconvert.cpp
++++ b/3rdparty/carotene/src/colorconvert.cpp
+@@ -97,7 +97,7 @@ void rgb2gray(const Size2D &size, COLOR_SPACE color_space,
+ const u32 G2Y = color_space == COLOR_SPACE_BT601 ? G2Y_BT601 : G2Y_BT709;
+ const u32 B2Y = color_space == COLOR_SPACE_BT601 ? B2Y_BT601 : B2Y_BT709;
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ register int16x4_t v_r2y asm ("d31") = vmov_n_s16(R2Y);
+ register int16x4_t v_g2y asm ("d30") = vmov_n_s16(G2Y);
+ register int16x4_t v_b2y asm ("d29") = vmov_n_s16(B2Y);
+@@ -116,7 +116,7 @@ void rgb2gray(const Size2D &size, COLOR_SPACE color_space,
+ u8 * dst = internal::getRowPtr(dstBase, dstStride, i);
+ size_t sj = 0u, dj = 0u;
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ for (; dj < roiw8; sj += 24, dj += 8)
+ {
+ internal::prefetch(src + sj);
+@@ -198,7 +198,7 @@ void rgbx2gray(const Size2D &size, COLOR_SPACE color_space,
+ const u32 G2Y = color_space == COLOR_SPACE_BT601 ? G2Y_BT601 : G2Y_BT709;
+ const u32 B2Y = color_space == COLOR_SPACE_BT601 ? B2Y_BT601 : B2Y_BT709;
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ register int16x4_t v_r2y asm ("d31") = vmov_n_s16(R2Y);
+ register int16x4_t v_g2y asm ("d30") = vmov_n_s16(G2Y);
+ register int16x4_t v_b2y asm ("d29") = vmov_n_s16(B2Y);
+@@ -217,7 +217,7 @@ void rgbx2gray(const Size2D &size, COLOR_SPACE color_space,
+ u8 * dst = internal::getRowPtr(dstBase, dstStride, i);
+ size_t sj = 0u, dj = 0u;
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ for (; dj < roiw8; sj += 32, dj += 8)
+ {
+ internal::prefetch(src + sj);
+@@ -300,7 +300,7 @@ void bgr2gray(const Size2D &size, COLOR_SPACE color_space,
+ const u32 G2Y = color_space == COLOR_SPACE_BT601 ? G2Y_BT601 : G2Y_BT709;
+ const u32 B2Y = color_space == COLOR_SPACE_BT601 ? B2Y_BT601 : B2Y_BT709;
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ register int16x4_t v_r2y asm ("d31") = vmov_n_s16(R2Y);
+ register int16x4_t v_g2y asm ("d30") = vmov_n_s16(G2Y);
+ register int16x4_t v_b2y asm ("d29") = vmov_n_s16(B2Y);
+@@ -319,7 +319,7 @@ void bgr2gray(const Size2D &size, COLOR_SPACE color_space,
+ u8 * dst = internal::getRowPtr(dstBase, dstStride, i);
+ size_t sj = 0u, dj = 0u;
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ for (; dj < roiw8; sj += 24, dj += 8)
+ {
+ internal::prefetch(src + sj);
+@@ -402,7 +402,7 @@ void bgrx2gray(const Size2D &size, COLOR_SPACE color_space,
+ const u32 G2Y = color_space == COLOR_SPACE_BT601 ? G2Y_BT601 : G2Y_BT709;
+ const u32 B2Y = color_space == COLOR_SPACE_BT601 ? B2Y_BT601 : B2Y_BT709;
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ register int16x4_t v_r2y asm ("d31") = vmov_n_s16(R2Y);
+ register int16x4_t v_g2y asm ("d30") = vmov_n_s16(G2Y);
+ register int16x4_t v_b2y asm ("d29") = vmov_n_s16(B2Y);
+@@ -421,7 +421,7 @@ void bgrx2gray(const Size2D &size, COLOR_SPACE color_space,
+ u8 * dst = internal::getRowPtr(dstBase, dstStride, i);
+ size_t sj = 0u, dj = 0u;
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ for (; dj < roiw8; sj += 32, dj += 8)
+ {
+ internal::prefetch(src + sj);
+@@ -512,7 +512,7 @@ void gray2rgb(const Size2D &size,
+ for (; sj < roiw16; sj += 16, dj += 48)
+ {
+ internal::prefetch(src + sj);
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ __asm__ (
+ "vld1.8 {d0-d1}, [%[in0]] \n\t"
+ "vmov.8 q1, q0 \n\t"
+@@ -538,7 +538,7 @@ void gray2rgb(const Size2D &size,
+
+ if (sj < roiw8)
+ {
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ __asm__ (
+ "vld1.8 {d0}, [%[in]] \n\t"
+ "vmov.8 d1, d0 \n\t"
+@@ -584,7 +584,7 @@ void gray2rgbx(const Size2D &size,
+ size_t roiw16 = size.width >= 15 ? size.width - 15 : 0;
+ size_t roiw8 = size.width >= 7 ? size.width - 7 : 0;
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ register uint8x16_t vc255 asm ("q4") = vmovq_n_u8(255);
+ #else
+ uint8x16x4_t vRgba;
+@@ -602,7 +602,7 @@ void gray2rgbx(const Size2D &size,
+ for (; sj < roiw16; sj += 16, dj += 64)
+ {
+ internal::prefetch(src + sj);
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ __asm__ (
+ "vld1.8 {d0-d1}, [%[in0]] \n\t"
+ "vmov.8 q1, q0 \n\t"
+@@ -628,7 +628,7 @@ void gray2rgbx(const Size2D &size,
+
+ if (sj < roiw8)
+ {
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ __asm__ (
+ "vld1.8 {d5}, [%[in]] \n\t"
+ "vmov.8 d6, d5 \n\t"
+@@ -672,7 +672,7 @@ void rgb2rgbx(const Size2D &size,
+ internal::assertSupportedConfiguration();
+ #ifdef CAROTENE_NEON
+ size_t roiw8 = size.width >= 7 ? size.width - 7 : 0;
+-#if defined(__GNUC__) && defined(__arm__)
++#if !defined(__aarch64__) && defined(__GNUC__) && defined(__arm__)
+ register uint8x8_t vc255_0 asm ("d3") = vmov_n_u8(255);
+ #else
+ size_t roiw16 = size.width >= 15 ? size.width - 15 : 0;
+@@ -688,7 +688,7 @@ void rgb2rgbx(const Size2D &size,
+ u8 * dst = internal::getRowPtr(dstBase, dstStride, i);
+ size_t sj = 0u, dj = 0u, j = 0u;
+
+-#if defined(__GNUC__) && defined(__arm__)
++#if !defined(__aarch64__) && defined(__GNUC__) && defined(__arm__)
+ for (; j < roiw8; sj += 24, dj += 32, j += 8)
+ {
+ internal::prefetch(src + sj);
+@@ -742,7 +742,7 @@ void rgbx2rgb(const Size2D &size,
+ internal::assertSupportedConfiguration();
+ #ifdef CAROTENE_NEON
+ size_t roiw8 = size.width >= 7 ? size.width - 7 : 0;
+-#if !defined(__GNUC__) || !defined(__arm__)
++#if !(!defined(__aarch64__) && defined(__GNUC__) && defined(__arm__))
+ size_t roiw16 = size.width >= 15 ? size.width - 15 : 0;
+ union { uint8x16x4_t v4; uint8x16x3_t v3; } v_dst0;
+ union { uint8x8x4_t v4; uint8x8x3_t v3; } v_dst;
+@@ -754,7 +754,7 @@ void rgbx2rgb(const Size2D &size,
+ u8 * dst = internal::getRowPtr(dstBase, dstStride, i);
+ size_t sj = 0u, dj = 0u, j = 0u;
+
+-#if defined(__GNUC__) && defined(__arm__)
++#if !defined(__aarch64__) && defined(__GNUC__) && defined(__arm__)
+ for (; j < roiw8; sj += 32, dj += 24, j += 8)
+ {
+ internal::prefetch(src + sj);
+@@ -805,7 +805,7 @@ void rgb2bgr(const Size2D &size,
+ {
+ internal::assertSupportedConfiguration();
+ #ifdef CAROTENE_NEON
+-#if !defined(__GNUC__) || !defined(__arm__)
++#if !(!defined(__aarch64__) && defined(__GNUC__) && defined(__arm__))
+ size_t roiw16 = size.width >= 15 ? size.width - 15 : 0;
+ #endif
+ size_t roiw8 = size.width >= 7 ? size.width - 7 : 0;
+@@ -817,7 +817,7 @@ void rgb2bgr(const Size2D &size,
+ size_t sj = 0u, dj = 0u, j = 0u;
+
+
+-#if defined(__GNUC__) && defined(__arm__)
++#if !defined(__aarch64__) && defined(__GNUC__) && defined(__arm__)
+ for (; j < roiw8; sj += 24, dj += 24, j += 8)
+ {
+ internal::prefetch(src + sj);
+@@ -874,7 +874,7 @@ void rgbx2bgrx(const Size2D &size,
+ {
+ internal::assertSupportedConfiguration();
+ #ifdef CAROTENE_NEON
+-#if !defined(__GNUC__) || !defined(__arm__)
++#if !(!defined(__aarch64__) && defined(__GNUC__) && defined(__arm__))
+ size_t roiw16 = size.width >= 15 ? size.width - 15 : 0;
+ #endif
+ size_t roiw8 = size.width >= 7 ? size.width - 7 : 0;
+@@ -885,7 +885,7 @@ void rgbx2bgrx(const Size2D &size,
+ u8 * dst = internal::getRowPtr(dstBase, dstStride, i);
+ size_t sj = 0u, dj = 0u, j = 0u;
+
+-#if defined(__GNUC__) && defined(__arm__)
++#if !defined(__aarch64__) && defined(__GNUC__) && defined(__arm__)
+ for (; j < roiw8; sj += 32, dj += 32, j += 8)
+ {
+ internal::prefetch(src + sj);
+@@ -943,7 +943,7 @@ void rgbx2bgr(const Size2D &size,
+ {
+ internal::assertSupportedConfiguration();
+ #ifdef CAROTENE_NEON
+-#if !defined(__GNUC__) || !defined(__arm__)
++#if !(!defined(__aarch64__) && defined(__GNUC__) && defined(__arm__))
+ size_t roiw16 = size.width >= 15 ? size.width - 15 : 0;
+ #endif
+ size_t roiw8 = size.width >= 7 ? size.width - 7 : 0;
+@@ -954,7 +954,7 @@ void rgbx2bgr(const Size2D &size,
+ u8 * dst = internal::getRowPtr(dstBase, dstStride, i);
+ size_t sj = 0u, dj = 0u, j = 0u;
+
+-#if defined(__GNUC__) && defined(__arm__)
++#if !defined(__aarch64__) && defined(__GNUC__) && defined(__arm__)
+ for (; j < roiw8; sj += 32, dj += 24, j += 8)
+ {
+ internal::prefetch(src + sj);
+@@ -1010,7 +1010,7 @@ void rgb2bgrx(const Size2D &size,
+ {
+ internal::assertSupportedConfiguration();
+ #ifdef CAROTENE_NEON
+-#if defined(__GNUC__) && defined(__arm__)
++#if !defined(__aarch64__) && defined(__GNUC__) && defined(__arm__)
+ register uint8x8_t vc255 asm ("d3") = vmov_n_u8(255);
+ #else
+ union { uint8x16x4_t v4; uint8x16x3_t v3; } vals0;
+@@ -1019,7 +1019,7 @@ void rgb2bgrx(const Size2D &size,
+ vals8.v4.val[3] = vmov_n_u8(255);
+ #endif
+
+-#if !defined(__GNUC__) || !defined(__arm__)
++#if !(!defined(__aarch64__) && defined(__GNUC__) && defined(__arm__))
+ size_t roiw16 = size.width >= 15 ? size.width - 15 : 0;
+ #endif
+ size_t roiw8 = size.width >= 7 ? size.width - 7 : 0;
+@@ -1030,7 +1030,7 @@ void rgb2bgrx(const Size2D &size,
+ u8 * dst = internal::getRowPtr(dstBase, dstStride, i);
+ size_t sj = 0u, dj = 0u, j = 0u;
+
+-#if defined(__GNUC__) && defined(__arm__)
++#if !defined(__aarch64__) && defined(__GNUC__) && defined(__arm__)
+ for (; j < roiw8; sj += 24, dj += 32, j += 8)
+ {
+ internal::prefetch(src + sj);
+@@ -1409,7 +1409,7 @@ inline void convertToHSV(const s32 r, const s32 g, const s32 b,
+ "d24","d25","d26","d27","d28","d29","d30","d31" \
+ );
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+
+ #define YCRCB_CONSTS \
+ register int16x4_t vcYR asm ("d31") = vmov_n_s16(4899); \
+@@ -1555,7 +1555,7 @@ inline uint8x8x3_t convertToYCrCb( const int16x8_t& vR, const int16x8_t& vG, con
+ #define COEFF_G ( 8663)
+ #define COEFF_B (-17705)
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ #define YUV420ALPHA3_CONST
+ #define YUV420ALPHA4_CONST register uint8x16_t c255 asm ("q13") = vmovq_n_u8(255);
+ #define YUV420ALPHA3_CONVERT
+@@ -1852,7 +1852,7 @@ void rgb2hsv(const Size2D &size,
+ #ifdef CAROTENE_NEON
+ size_t roiw8 = size.width >= 7 ? size.width - 7 : 0;
+ const s32 hsv_shift = 12;
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ register const f32 vsdiv_table = f32(255 << hsv_shift);
+ register f32 vhdiv_table = f32(hrange << hsv_shift);
+ register const s32 vhrange = hrange;
+@@ -1871,7 +1871,7 @@ void rgb2hsv(const Size2D &size,
+ for (; j < roiw8; sj += 24, dj += 24, j += 8)
+ {
+ internal::prefetch(src + sj);
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CONVERT_TO_HSV_ASM(vld3.8 {d0-d2}, d0, d2)
+ #else
+ uint8x8x3_t vRgb = vld3_u8(src + sj);
+@@ -1904,7 +1904,7 @@ void rgbx2hsv(const Size2D &size,
+ #ifdef CAROTENE_NEON
+ size_t roiw8 = size.width >= 7 ? size.width - 7 : 0;
+ const s32 hsv_shift = 12;
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ register const f32 vsdiv_table = f32(255 << hsv_shift);
+ register f32 vhdiv_table = f32(hrange << hsv_shift);
+ register const s32 vhrange = hrange;
+@@ -1923,7 +1923,7 @@ void rgbx2hsv(const Size2D &size,
+ for (; j < roiw8; sj += 32, dj += 24, j += 8)
+ {
+ internal::prefetch(src + sj);
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CONVERT_TO_HSV_ASM(vld4.8 {d0-d3}, d0, d2)
+ #else
+ uint8x8x4_t vRgb = vld4_u8(src + sj);
+@@ -1956,7 +1956,7 @@ void bgr2hsv(const Size2D &size,
+ #ifdef CAROTENE_NEON
+ size_t roiw8 = size.width >= 7 ? size.width - 7 : 0;
+ const s32 hsv_shift = 12;
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ register const f32 vsdiv_table = f32(255 << hsv_shift);
+ register f32 vhdiv_table = f32(hrange << hsv_shift);
+ register const s32 vhrange = hrange;
+@@ -1975,7 +1975,7 @@ void bgr2hsv(const Size2D &size,
+ for (; j < roiw8; sj += 24, dj += 24, j += 8)
+ {
+ internal::prefetch(src + sj);
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CONVERT_TO_HSV_ASM(vld3.8 {d0-d2}, d2, d0)
+ #else
+ uint8x8x3_t vRgb = vld3_u8(src + sj);
+@@ -2008,7 +2008,7 @@ void bgrx2hsv(const Size2D &size,
+ #ifdef CAROTENE_NEON
+ size_t roiw8 = size.width >= 7 ? size.width - 7 : 0;
+ const s32 hsv_shift = 12;
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ register const f32 vsdiv_table = f32(255 << hsv_shift);
+ register f32 vhdiv_table = f32(hrange << hsv_shift);
+ register const s32 vhrange = hrange;
+@@ -2027,7 +2027,7 @@ void bgrx2hsv(const Size2D &size,
+ for (; j < roiw8; sj += 32, dj += 24, j += 8)
+ {
+ internal::prefetch(src + sj);
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CONVERT_TO_HSV_ASM(vld4.8 {d0-d3}, d2, d0)
+ #else
+ uint8x8x4_t vRgb = vld4_u8(src + sj);
+@@ -2068,7 +2068,7 @@ void rgbx2bgr565(const Size2D &size,
+ for (; j < roiw16; sj += 64, dj += 32, j += 16)
+ {
+ internal::prefetch(src + sj);
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ __asm__ (
+ "vld4.8 {d2, d4, d6, d8}, [%[in0]] @ q0 q1 q2 q3 q4 \n\t"
+ "vld4.8 {d3, d5, d7, d9}, [%[in1]] @ xxxxxxxx rrrrRRRR ggggGGGG bbbbBBBB xxxxxxxx \n\t"
+@@ -2122,7 +2122,7 @@ void rgb2bgr565(const Size2D &size,
+ for (; j < roiw16; sj += 48, dj += 32, j += 16)
+ {
+ internal::prefetch(src + sj);
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ __asm__ (
+ "vld3.8 {d2, d4, d6}, [%[in0]] @ q0 q1 q2 q3 q4 \n\t"
+ "vld3.8 {d3, d5, d7}, [%[in1]] @ xxxxxxxx rrrrRRRR ggggGGGG bbbbBBBB xxxxxxxx \n\t"
+@@ -2176,7 +2176,7 @@ void rgbx2rgb565(const Size2D &size,
+ for (; j < roiw16; sj += 64, dj += 32, j += 16)
+ {
+ internal::prefetch(src + sj);
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ __asm__ (
+ "vld4.8 {d0, d2, d4, d6}, [%[in0]] @ q0 q1 q2 q3 \n\t"
+ "vld4.8 {d1, d3, d5, d7}, [%[in1]] @ rrrrRRRR ggggGGGG bbbbBBBB aaaaAAAA \n\t"
+@@ -2230,7 +2230,7 @@ void rgb2rgb565(const Size2D &size,
+ for (; j < roiw16; sj += 48, dj += 32, j += 16)
+ {
+ internal::prefetch(src + sj);
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ __asm__ (
+ "vld3.8 {d0, d2, d4}, [%[in0]] @ q0 q1 q2 q3 \n\t"
+ "vld3.8 {d1, d3, d5}, [%[in1]] @ rrrrRRRR ggggGGGG bbbbBBBB xxxxxxxx \n\t"
+@@ -2285,7 +2285,7 @@ void rgb2ycrcb(const Size2D &size,
+ for (; j < roiw8; sj += 24, dj += 24, j += 8)
+ {
+ internal::prefetch(src + sj);
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CONVERTTOYCRCB(vld3.8 {d0-d2}, d0, d1, d2)
+ #else
+ uint8x8x3_t vRgb = vld3_u8(src + sj);
+@@ -2329,7 +2329,7 @@ void rgbx2ycrcb(const Size2D &size,
+ for (; j < roiw8; sj += 32, dj += 24, j += 8)
+ {
+ internal::prefetch(src + sj);
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CONVERTTOYCRCB(vld4.8 {d0-d3}, d0, d1, d2)
+ #else
+ uint8x8x4_t vRgba = vld4_u8(src + sj);
+@@ -2373,7 +2373,7 @@ void bgr2ycrcb(const Size2D &size,
+ for (; j < roiw8; sj += 24, dj += 24, j += 8)
+ {
+ internal::prefetch(src + sj);
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CONVERTTOYCRCB(vld3.8 {d0-d2}, d2, d1, d0)
+ #else
+ uint8x8x3_t vBgr = vld3_u8(src + sj);
+@@ -2417,7 +2417,7 @@ void bgrx2ycrcb(const Size2D &size,
+ for (; j < roiw8; sj += 32, dj += 24, j += 8)
+ {
+ internal::prefetch(src + sj);
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CONVERTTOYCRCB(vld4.8 {d0-d3}, d2, d1, d0)
+ #else
+ uint8x8x4_t vBgra = vld4_u8(src + sj);
+@@ -2499,7 +2499,7 @@ void yuv420sp2rgb(const Size2D &size,
+ internal::prefetch(uv + j);
+ internal::prefetch(y1 + j);
+ internal::prefetch(y2 + j);
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CONVERTYUV420TORGB(3, d1, d0, q5, q6)
+ #else
+ convertYUV420.ToRGB(y1 + j, y2 + j, uv + j, dst1 + dj, dst2 + dj);
+@@ -2545,7 +2545,7 @@ void yuv420sp2rgbx(const Size2D &size,
+ internal::prefetch(uv + j);
+ internal::prefetch(y1 + j);
+ internal::prefetch(y2 + j);
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CONVERTYUV420TORGB(4, d1, d0, q5, q6)
+ #else
+ convertYUV420.ToRGB(y1 + j, y2 + j, uv + j, dst1 + dj, dst2 + dj);
+@@ -2591,7 +2591,7 @@ void yuv420i2rgb(const Size2D &size,
+ internal::prefetch(uv + j);
+ internal::prefetch(y1 + j);
+ internal::prefetch(y2 + j);
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CONVERTYUV420TORGB(3, d0, d1, q5, q6)
+ #else
+ convertYUV420.ToRGB(y1 + j, y2 + j, uv + j, dst1 + dj, dst2 + dj);
+@@ -2637,7 +2637,7 @@ void yuv420i2rgbx(const Size2D &size,
+ internal::prefetch(uv + j);
+ internal::prefetch(y1 + j);
+ internal::prefetch(y2 + j);
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CONVERTYUV420TORGB(4, d0, d1, q5, q6)
+ #else
+ convertYUV420.ToRGB(y1 + j, y2 + j, uv + j, dst1 + dj, dst2 + dj);
+@@ -2683,7 +2683,7 @@ void yuv420sp2bgr(const Size2D &size,
+ internal::prefetch(uv + j);
+ internal::prefetch(y1 + j);
+ internal::prefetch(y2 + j);
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CONVERTYUV420TORGB(3, d1, d0, q6, q5)
+ #else
+ convertYUV420.ToRGB(y1 + j, y2 + j, uv + j, dst1 + dj, dst2 + dj);
+@@ -2729,7 +2729,7 @@ void yuv420sp2bgrx(const Size2D &size,
+ internal::prefetch(uv + j);
+ internal::prefetch(y1 + j);
+ internal::prefetch(y2 + j);
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CONVERTYUV420TORGB(4, d1, d0, q6, q5)
+ #else
+ convertYUV420.ToRGB(y1 + j, y2 + j, uv + j, dst1 + dj, dst2 + dj);
+@@ -2775,7 +2775,7 @@ void yuv420i2bgr(const Size2D &size,
+ internal::prefetch(uv + j);
+ internal::prefetch(y1 + j);
+ internal::prefetch(y2 + j);
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CONVERTYUV420TORGB(3, d0, d1, q6, q5)
+ #else
+ convertYUV420.ToRGB(y1 + j, y2 + j, uv + j, dst1 + dj, dst2 + dj);
+@@ -2821,7 +2821,7 @@ void yuv420i2bgrx(const Size2D &size,
+ internal::prefetch(uv + j);
+ internal::prefetch(y1 + j);
+ internal::prefetch(y2 + j);
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CONVERTYUV420TORGB(4, d0, d1, q6, q5)
+ #else
+ convertYUV420.ToRGB(y1 + j, y2 + j, uv + j, dst1 + dj, dst2 + dj);
+diff --git a/3rdparty/carotene/src/convert.cpp b/3rdparty/carotene/src/convert.cpp
+index 403f16d86a..64b6db78ab 100644
+--- a/3rdparty/carotene/src/convert.cpp
++++ b/3rdparty/carotene/src/convert.cpp
+@@ -101,7 +101,7 @@ CVT_FUNC(u8, s8, 16,
+ }
+ })
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVT_FUNC(u8, u16, 16,
+ register uint8x16_t zero0 asm ("q1") = vmovq_n_u8(0);,
+ {
+@@ -135,7 +135,7 @@ CVT_FUNC(u8, u16, 16,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVT_FUNC(u8, s32, 16,
+ register uint8x16_t zero0 asm ("q1") = vmovq_n_u8(0);
+ register uint8x16_t zero1 asm ("q2") = vmovq_n_u8(0);
+@@ -173,7 +173,7 @@ CVT_FUNC(u8, s32, 16,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
+ CVT_FUNC(u8, f32, 16,
+ ,
+ {
+@@ -248,7 +248,7 @@ CVT_FUNC(s8, u8, 16,
+ }
+ })
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVT_FUNC(s8, u16, 16,
+ register uint8x16_t zero0 asm ("q1") = vmovq_n_u8(0);,
+ {
+@@ -284,7 +284,7 @@ CVT_FUNC(s8, u16, 16,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
+ CVT_FUNC(s8, s16, 16,
+ ,
+ {
+@@ -323,7 +323,7 @@ CVT_FUNC(s8, s16, 16,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVT_FUNC(s8, s32, 16,
+ ,
+ {
+@@ -377,7 +377,7 @@ CVT_FUNC(s8, s32, 16,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
+ CVT_FUNC(s8, f32, 16,
+ ,
+ {
+@@ -440,7 +440,7 @@ CVT_FUNC(s8, f32, 16,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
+ CVT_FUNC(u16, u8, 16,
+ ,
+ {
+@@ -479,7 +479,7 @@ CVT_FUNC(u16, u8, 16,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
+ CVT_FUNC(u16, s8, 16,
+ register uint8x16_t v127 asm ("q4") = vmovq_n_u8(127);,
+ {
+@@ -522,7 +522,7 @@ CVT_FUNC(u16, s8, 16,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVT_FUNC(u16, s16, 8,
+ register uint16x8_t v32767 asm ("q4") = vmovq_n_u16(0x7FFF);,
+ {
+@@ -555,7 +555,7 @@ CVT_FUNC(u16, s16, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVT_FUNC(u16, s32, 8,
+ register uint16x8_t zero0 asm ("q1") = vmovq_n_u16(0);,
+ {
+@@ -589,7 +589,7 @@ CVT_FUNC(u16, s32, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
+ CVT_FUNC(u16, f32, 8,
+ ,
+ {
+@@ -633,7 +633,7 @@ CVT_FUNC(u16, f32, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
+ CVT_FUNC(s16, u8, 16,
+ ,
+ {
+@@ -672,7 +672,7 @@ CVT_FUNC(s16, u8, 16,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
+ CVT_FUNC(s16, s8, 16,
+ ,
+ {
+@@ -711,7 +711,7 @@ CVT_FUNC(s16, s8, 16,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVT_FUNC(s16, u16, 8,
+ register int16x8_t vZero asm ("q4") = vmovq_n_s16(0);,
+ {
+@@ -747,7 +747,7 @@ CVT_FUNC(s16, u16, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
+ CVT_FUNC(s16, s32, 8,
+ ,
+ {
+@@ -786,7 +786,7 @@ CVT_FUNC(s16, s32, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
+ CVT_FUNC(s16, f32, 8,
+ ,
+ {
+@@ -829,7 +829,7 @@ CVT_FUNC(s16, f32, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
+ CVT_FUNC(s32, u8, 8,
+ ,
+ {
+@@ -870,7 +870,7 @@ CVT_FUNC(s32, u8, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
+ CVT_FUNC(s32, s8, 8,
+ ,
+ {
+@@ -911,7 +911,7 @@ CVT_FUNC(s32, s8, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
+ CVT_FUNC(s32, u16, 8,
+ ,
+ {
+@@ -950,7 +950,7 @@ CVT_FUNC(s32, u16, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
+ CVT_FUNC(s32, s16, 8,
+ ,
+ {
+@@ -989,7 +989,7 @@ CVT_FUNC(s32, s16, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
+ CVT_FUNC(s32, f32, 8,
+ ,
+ {
+@@ -1034,7 +1034,7 @@ CVT_FUNC(s32, f32, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
+ CVT_FUNC(f32, u8, 8,
+ register float32x4_t vmult asm ("q0") = vdupq_n_f32((float)(1 << 16));
+ register uint32x4_t vmask asm ("q1") = vdupq_n_u32(1<<16);,
+@@ -1101,7 +1101,7 @@ CVT_FUNC(f32, u8, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
+ CVT_FUNC(f32, s8, 8,
+ register float32x4_t vhalf asm ("q0") = vdupq_n_f32(0.5f);,
+ {
+@@ -1153,7 +1153,7 @@ CVT_FUNC(f32, s8, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
+ CVT_FUNC(f32, u16, 8,
+ register float32x4_t vhalf asm ("q0") = vdupq_n_f32(0.5f);,
+ {
+@@ -1212,7 +1212,7 @@ CVT_FUNC(f32, u16, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
+ CVT_FUNC(f32, s16, 8,
+ register float32x4_t vhalf asm ("q0") = vdupq_n_f32(0.5f);,
+ {
+@@ -1271,7 +1271,7 @@ CVT_FUNC(f32, s16, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
+ CVT_FUNC(f32, s32, 8,
+ register float32x4_t vhalf asm ("q0") = vdupq_n_f32(0.5f);,
+ {
+diff --git a/3rdparty/carotene/src/convert_scale.cpp b/3rdparty/carotene/src/convert_scale.cpp
+index 0a14a8035c..ae41a985c8 100644
+--- a/3rdparty/carotene/src/convert_scale.cpp
++++ b/3rdparty/carotene/src/convert_scale.cpp
+@@ -135,7 +135,7 @@ namespace CAROTENE_NS {
+
+ #endif
+
+-#if defined(__GNUC__) && defined(__arm__)
++#if !defined(__aarch64__) && defined(__GNUC__) && defined(__arm__)
+ CVTS_FUNC1(u8, 16,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -220,7 +220,7 @@ CVTS_FUNC1(u8, 16,
+ })
+ #endif
+
+-#if defined(__GNUC__) && defined(__arm__)
++#if !defined(__aarch64__) && defined(__GNUC__) && defined(__arm__)
+ CVTS_FUNC(u8, s8, 16,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -305,7 +305,7 @@ CVTS_FUNC(u8, s8, 16,
+ })
+ #endif
+
+-#if defined(__GNUC__) && defined(__arm__)
++#if !defined(__aarch64__) && defined(__GNUC__) && defined(__arm__)
+ CVTS_FUNC(u8, u16, 16,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -389,7 +389,7 @@ CVTS_FUNC(u8, u16, 16,
+ })
+ #endif
+
+-#if defined(__GNUC__) && defined(__arm__)
++#if !defined(__aarch64__) && defined(__GNUC__) && defined(__arm__)
+ CVTS_FUNC(u8, s16, 16,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -473,7 +473,7 @@ CVTS_FUNC(u8, s16, 16,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVTS_FUNC(u8, s32, 16,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -562,7 +562,7 @@ CVTS_FUNC(u8, s32, 16,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVTS_FUNC(u8, f32, 16,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta);,
+@@ -643,7 +643,7 @@ CVTS_FUNC(u8, f32, 16,
+ })
+ #endif
+
+-#if defined(__GNUC__) && defined(__arm__)
++#if !defined(__aarch64__) && defined(__GNUC__) && defined(__arm__)
+ CVTS_FUNC(s8, u8, 16,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -728,7 +728,7 @@ CVTS_FUNC(s8, u8, 16,
+ })
+ #endif
+
+-#if defined(__GNUC__) && defined(__arm__)
++#if !defined(__aarch64__) && defined(__GNUC__) && defined(__arm__)
+ CVTS_FUNC1(s8, 16,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -813,7 +813,7 @@ CVTS_FUNC1(s8, 16,
+ })
+ #endif
+
+-#if defined(__GNUC__) && defined(__arm__)
++#if !defined(__aarch64__) && defined(__GNUC__) && defined(__arm__)
+ CVTS_FUNC(s8, u16, 16,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -899,7 +899,7 @@ CVTS_FUNC(s8, u16, 16,
+ })
+ #endif
+
+-#if defined(__GNUC__) && defined(__arm__)
++#if !defined(__aarch64__) && defined(__GNUC__) && defined(__arm__)
+ CVTS_FUNC(s8, s16, 16,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -985,7 +985,7 @@ CVTS_FUNC(s8, s16, 16,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVTS_FUNC(s8, s32, 16,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -1074,7 +1074,7 @@ CVTS_FUNC(s8, s32, 16,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVTS_FUNC(s8, f32, 16,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta);,
+@@ -1155,7 +1155,7 @@ CVTS_FUNC(s8, f32, 16,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVTS_FUNC(u16, u8, 16,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -1214,7 +1214,7 @@ CVTS_FUNC(u16, u8, 16,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVTS_FUNC(u16, s8, 16,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -1273,7 +1273,7 @@ CVTS_FUNC(u16, s8, 16,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVTS_FUNC1(u16, 16,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -1330,7 +1330,7 @@ CVTS_FUNC1(u16, 16,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVTS_FUNC(u16, s16, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -1387,7 +1387,7 @@ CVTS_FUNC(u16, s16, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVTS_FUNC(u16, s32, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -1443,7 +1443,7 @@ CVTS_FUNC(u16, s32, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVTS_FUNC(u16, f32, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta);,
+@@ -1495,7 +1495,7 @@ CVTS_FUNC(u16, f32, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVTS_FUNC(s16, u8, 16,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -1554,7 +1554,7 @@ CVTS_FUNC(s16, u8, 16,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVTS_FUNC(s16, s8, 16,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -1613,7 +1613,7 @@ CVTS_FUNC(s16, s8, 16,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVTS_FUNC(s16, u16, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -1670,7 +1670,7 @@ CVTS_FUNC(s16, u16, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVTS_FUNC1(s16, 16,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -1727,7 +1727,7 @@ CVTS_FUNC1(s16, 16,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVTS_FUNC(s16, s32, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -1783,7 +1783,7 @@ CVTS_FUNC(s16, s32, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVTS_FUNC(s16, f32, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta);,
+@@ -1835,7 +1835,7 @@ CVTS_FUNC(s16, f32, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVTS_FUNC(s32, u8, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -1893,7 +1893,7 @@ CVTS_FUNC(s32, u8, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVTS_FUNC(s32, s8, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -1951,7 +1951,7 @@ CVTS_FUNC(s32, s8, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVTS_FUNC(s32, u16, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -2007,7 +2007,7 @@ CVTS_FUNC(s32, u16, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVTS_FUNC(s32, s16, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -2063,7 +2063,7 @@ CVTS_FUNC(s32, s16, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVTS_FUNC1(s32, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -2118,7 +2118,7 @@ CVTS_FUNC1(s32, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVTS_FUNC(s32, f32, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta);,
+@@ -2169,7 +2169,7 @@ CVTS_FUNC(s32, f32, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVTS_FUNC(f32, u8, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)((1 << 16)*alpha));
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)((1 << 16)*beta));
+@@ -2239,7 +2239,7 @@ CVTS_FUNC(f32, u8, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVTS_FUNC(f32, s8, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -2293,7 +2293,7 @@ CVTS_FUNC(f32, s8, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVTS_FUNC(f32, u16, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -2345,7 +2345,7 @@ CVTS_FUNC(f32, u16, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVTS_FUNC(f32, s16, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -2397,7 +2397,7 @@ CVTS_FUNC(f32, s16, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVTS_FUNC(f32, s32, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -2448,7 +2448,7 @@ CVTS_FUNC(f32, s32, 8,
+ })
+ #endif
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ CVTS_FUNC1(f32, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta);,
+diff --git a/3rdparty/carotene/src/gaussian_blur.cpp b/3rdparty/carotene/src/gaussian_blur.cpp
+index 1b5399436f..f7b5f18d79 100644
+--- a/3rdparty/carotene/src/gaussian_blur.cpp
++++ b/3rdparty/carotene/src/gaussian_blur.cpp
+@@ -327,7 +327,7 @@ void gaussianBlur5x5(const Size2D &size, s32 cn,
+ u16* lidx1 = lane + x - 1*2;
+ u16* lidx3 = lane + x + 1*2;
+ u16* lidx4 = lane + x + 2*2;
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ __asm__ __volatile__ (
+ "vld2.16 {d0, d2}, [%[in0]]! \n\t"
+ "vld2.16 {d1, d3}, [%[in0]] \n\t"
+@@ -398,7 +398,7 @@ void gaussianBlur5x5(const Size2D &size, s32 cn,
+ u16* lidx1 = lane + x - 1*3;
+ u16* lidx3 = lane + x + 1*3;
+ u16* lidx4 = lane + x + 2*3;
+-#if defined(__GNUC__) && defined(__arm__)
++#if !defined(__aarch64__) && defined(__GNUC__) && defined(__arm__)
+ __asm__ __volatile__ (
+ "vld3.16 {d0, d2, d4}, [%[in0]]! \n\t"
+ "vld3.16 {d1, d3, d5}, [%[in0]] \n\t"
+@@ -482,7 +482,7 @@ void gaussianBlur5x5(const Size2D &size, s32 cn,
+ u16* lidx1 = lane + x - 1*4;
+ u16* lidx3 = lane + x + 1*4;
+ u16* lidx4 = lane + x + 2*4;
+-#if defined(__GNUC__) && defined(__arm__)
++#if !defined(__aarch64__) && defined(__GNUC__) && defined(__arm__)
+ __asm__ __volatile__ (
+ "vld4.16 {d0, d2, d4, d6}, [%[in0]]! \n\t"
+ "vld4.16 {d1, d3, d5, d7}, [%[in0]] \n\t"
+diff --git a/3rdparty/carotene/src/pyramid.cpp b/3rdparty/carotene/src/pyramid.cpp
+index 8ef1268933..232ccf3efd 100644
+--- a/3rdparty/carotene/src/pyramid.cpp
++++ b/3rdparty/carotene/src/pyramid.cpp
+@@ -331,7 +331,7 @@ void gaussianPyramidDown(const Size2D &srcSize,
+ for (; x < roiw8; x += 8)
+ {
+ internal::prefetch(lane + 2 * x);
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ __asm__ (
+ "vld2.16 {d0-d3}, [%[in0]] \n\t"
+ "vld2.16 {d4-d7}, [%[in4]] \n\t"
+@@ -538,7 +538,7 @@ void gaussianPyramidDown(const Size2D &srcSize,
+ for (; x < roiw4; x += 4)
+ {
+ internal::prefetch(lane + 2 * x);
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ __asm__ (
+ "vld2.32 {d0-d3}, [%[in0]] \n\t"
+ "vld2.32 {d4-d7}, [%[in4]] \n\t"
+@@ -672,7 +672,7 @@ void gaussianPyramidDown(const Size2D &srcSize,
+ std::vector<f32> _buf(cn*(srcSize.width + 4) + 32/sizeof(f32));
+ f32* lane = internal::alignPtr(&_buf[2*cn], 32);
+
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ register float32x4_t vc6d4f32 asm ("q11") = vmovq_n_f32(1.5f); // 6/4
+ register float32x4_t vc1d4f32 asm ("q12") = vmovq_n_f32(0.25f); // 1/4
+
+@@ -739,7 +739,7 @@ void gaussianPyramidDown(const Size2D &srcSize,
+ for (; x < roiw4; x += 4)
+ {
+ internal::prefetch(lane + 2 * x);
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ __asm__ __volatile__ (
+ "vld2.32 {d0-d3}, [%[in0]] \n\t"
+ "vld2.32 {d8-d11}, [%[in4]] \n\t"
+@@ -932,7 +932,7 @@ pyrUp8uHorizontalConvolution:
+ for (; x < lim; x += 8)
+ {
+ internal::prefetch(lane + x);
+-#if defined(__GNUC__) && defined(__arm__)
++#if !defined(__aarch64__) && defined(__GNUC__) && defined(__arm__)
+ __asm__ (
+ "vld1.16 {d0-d1}, [%[in0]] /*q0 = v0*/ \n\t"
+ "vld1.16 {d2-d3}, [%[in2]] /*q1 = v2*/ \n\t"
+@@ -973,7 +973,7 @@ pyrUp8uHorizontalConvolution:
+ for (; x < lim; x += 24)
+ {
+ internal::prefetch(lane + x);
+-#if defined(__GNUC__) && defined(__arm__)
++#if !defined(__aarch64__) && defined(__GNUC__) && defined(__arm__)
+ __asm__ (
+ "vmov.u16 q9, #6 \n\t"
+ "vld3.16 {d0, d2, d4}, [%[in0]] /*v0*/ \n\t"
+@@ -1064,7 +1064,7 @@ pyrUp8uHorizontalConvolution:
+ for (; x < lim; x += 8)
+ {
+ internal::prefetch(lane + x);
+-#if defined(__GNUC__) && defined(__arm__)
++#if !defined(__aarch64__) && defined(__GNUC__) && defined(__arm__)
+ __asm__ (
+ "vld1.16 {d0-d1}, [%[in0]] /*q0 = v0*/ \n\t"
+ "vld1.16 {d2-d3}, [%[in2]] /*q1 = v2*/ \n\t"
+@@ -1210,7 +1210,7 @@ pyrUp16sHorizontalConvolution:
+ for (; x < lim; x += 4)
+ {
+ internal::prefetch(lane + x);
+-#if defined(__GNUC__) && defined(__arm__)
++#if !defined(__aarch64__) && defined(__GNUC__) && defined(__arm__)
+ __asm__ (
+ "vld1.32 {d0-d1}, [%[in0]] /*q0 = v0*/ \n\t"
+ "vld1.32 {d2-d3}, [%[in2]] /*q1 = v2*/ \n\t"
+@@ -1251,7 +1251,7 @@ pyrUp16sHorizontalConvolution:
+ for (; x < lim; x += 12)
+ {
+ internal::prefetch(lane + x + 3);
+-#if defined(__GNUC__) && defined(__arm__)
++#if !defined(__aarch64__) && defined(__GNUC__) && defined(__arm__)
+ __asm__ (
+ "vmov.s32 q9, #6 \n\t"
+ "vld3.32 {d0, d2, d4}, [%[in0]] /*v0*/ \n\t"
+@@ -1343,7 +1343,7 @@ pyrUp16sHorizontalConvolution:
+ for (; x < lim; x += 4)
+ {
+ internal::prefetch(lane + x);
+-#if defined(__GNUC__) && defined(__arm__)
++#if !defined(__aarch64__) && defined(__GNUC__) && defined(__arm__)
+ __asm__ (
+ "vld1.32 {d0-d1}, [%[in0]] /*q0 = v0*/ \n\t"
+ "vld1.32 {d2-d3}, [%[in2]] /*q1 = v2*/ \n\t"
+diff --git a/3rdparty/carotene/src/scharr.cpp b/3rdparty/carotene/src/scharr.cpp
+index 5695804fe4..8d3b6328b1 100644
+--- a/3rdparty/carotene/src/scharr.cpp
++++ b/3rdparty/carotene/src/scharr.cpp
+@@ -109,7 +109,7 @@ void ScharrDeriv(const Size2D &size, s32 cn,
+ internal::prefetch(srow0 + x);
+ internal::prefetch(srow1 + x);
+ internal::prefetch(srow2 + x);
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
+ __asm__ (
+ "vld1.8 {d0}, [%[src0]] \n\t"
+ "vld1.8 {d2}, [%[src2]] \n\t"
+@@ -161,7 +161,7 @@ void ScharrDeriv(const Size2D &size, s32 cn,
+ x = 0;
+ for( ; x < roiw8; x += 8 )
+ {
+-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
+ __asm__ (
+ "vld1.16 {d4-d5}, [%[s2ptr]] \n\t"
+ "vld1.16 {d8-d9}, [%[s4ptr]] \n\t"
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-tracking-make-opencv_dnn-dependancy-optional.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-tracking-make-opencv_dnn-dependancy-optional.patch
deleted file mode 100644
index fba43eba7..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-tracking-make-opencv_dnn-dependancy-optional.patch
+++ /dev/null
@@ -1,243 +0,0 @@
-From 69f86025978b9bbbefa54a7248316a859773aeaf Mon Sep 17 00:00:00 2001
-From: berak <px1704@web.de>
-Date: Sat, 4 Mar 2017 12:38:50 +0100
-Subject: [PATCH] tracking: make opencv_dnn dependancy optional
-
-Upstream-status: Backport [https://github.com/opencv/opencv_contrib/commit/43925b60d392fbd01d6b0449713f010f9babe448]
-Signed-off-by: Ismo Puustinen <ismo.puustinen@intel.com>
-
----
- modules/tracking/CMakeLists.txt | 3 +--
- modules/tracking/samples/goturnTracker.cpp | 22 +++++++++++++++++++---
- modules/tracking/samples/multiTracker_dataset.cpp | 1 +
- modules/tracking/samples/tracker_dataset.cpp | 1 +
- modules/tracking/src/gtrTracker.cpp | 11 ++++++++++-
- modules/tracking/src/gtrTracker.hpp | 12 ++++++++----
- modules/tracking/src/gtrUtils.cpp | 6 +++---
- modules/tracking/src/gtrUtils.hpp | 5 ++---
- modules/tracking/src/tracker.cpp | 1 +
- 9 files changed, 46 insertions(+), 16 deletions(-)
-
-diff --git a/modules/tracking/CMakeLists.txt b/modules/tracking/CMakeLists.txt
-index a8b3183..d27f999 100644
---- a/modules/tracking/CMakeLists.txt
-+++ b/modules/tracking/CMakeLists.txt
-@@ -1,2 +1 @@
--set(the_description "Tracking API")
--ocv_define_module(tracking opencv_imgproc opencv_core opencv_video opencv_highgui opencv_dnn opencv_plot OPTIONAL opencv_datasets WRAP python)
-\ No newline at end of file
-+ocv_define_module(tracking opencv_imgproc opencv_core opencv_video opencv_highgui opencv_plot OPTIONAL opencv_dnn opencv_datasets WRAP python)
-diff --git a/modules/tracking/samples/goturnTracker.cpp b/modules/tracking/samples/goturnTracker.cpp
-index 389771e..1e6632d 100644
---- a/modules/tracking/samples/goturnTracker.cpp
-+++ b/modules/tracking/samples/goturnTracker.cpp
-@@ -45,6 +45,9 @@
- //1 - Train you own GOTURN model using <https://github.com/Auron-X/GOTURN_Training_Toolkit>
- //2 - Download pretrained caffemodel from <https://github.com/opencv/opencv_extra>
-
-+#include "opencv2/opencv_modules.hpp"
-+#if defined(HAVE_OPENCV_DNN) && defined(HAVE_OPENCV_DATASETS)
-+
- #include "opencv2/datasets/track_alov.hpp"
- #include <opencv2/core/utility.hpp>
- #include <opencv2/tracking.hpp>
-@@ -65,8 +68,8 @@ static bool startSelection = false;
- Rect2d boundingBox;
-
- static const char* keys =
--{ "{@dataset_path |true| Dataset path }"
--"{@dataset_id |1| Dataset ID }"
-+{ "{@dataset_path || Dataset path }"
-+ "{@dataset_id |1| Dataset ID }"
- };
-
- static void onMouse(int event, int x, int y, int, void*)
-@@ -144,9 +147,14 @@ int main(int argc, char *argv[])
- Ptr<cv::datasets::TRACK_alov> dataset = TRACK_alov::create();
- dataset->load(datasetRootPath);
- dataset->initDataset(datasetID);
--
- //Read first frame
- dataset->getNextFrame(frame);
-+ if (frame.empty())
-+ {
-+ cout << "invalid dataset: " << datasetRootPath << endl;
-+ return -2;
-+ }
-+
- frame.copyTo(image);
- rectangle(image, boundingBox, Scalar(255, 0, 0), 2, 1);
- imshow("GOTURN Tracking", image);
-@@ -215,3 +223,11 @@ int main(int argc, char *argv[])
-
- return 0;
- }
-+
-+#else // ! HAVE_OPENCV_DNN && HAVE_OPENCV_DATASETS
-+#include <opencv2/core.hpp>
-+int main() {
-+ CV_Error(cv::Error::StsNotImplemented , "this sample needs to be built with opencv_datasets and opencv_dnn !");
-+ return -1;
-+}
-+#endif
-diff --git a/modules/tracking/samples/multiTracker_dataset.cpp b/modules/tracking/samples/multiTracker_dataset.cpp
-index 2826b19..b5c27da 100644
---- a/modules/tracking/samples/multiTracker_dataset.cpp
-+++ b/modules/tracking/samples/multiTracker_dataset.cpp
-@@ -234,6 +234,7 @@ int main(int argc, char *argv[])
- }
-
- #else // ! HAVE_OPENCV_DATASETS
-+#include <opencv2/core.hpp>
- int main() {
- CV_Error(cv::Error::StsNotImplemented , "this sample needs to be built with opencv_datasets !");
- return -1;
-diff --git a/modules/tracking/samples/tracker_dataset.cpp b/modules/tracking/samples/tracker_dataset.cpp
-index 8b7832a..6178105 100644
---- a/modules/tracking/samples/tracker_dataset.cpp
-+++ b/modules/tracking/samples/tracker_dataset.cpp
-@@ -234,6 +234,7 @@ int main(int argc, char *argv[])
-
-
- #else // ! HAVE_OPENCV_DATASETS
-+#include <opencv2/core.hpp>
- int main() {
- CV_Error(cv::Error::StsNotImplemented , "this sample needs to be built with opencv_datasets !");
- return -1;
-diff --git a/modules/tracking/src/gtrTracker.cpp b/modules/tracking/src/gtrTracker.cpp
-index 58debfd..4904f47 100644
---- a/modules/tracking/src/gtrTracker.cpp
-+++ b/modules/tracking/src/gtrTracker.cpp
-@@ -38,7 +38,7 @@
- // the use of this software, even if advised of the possibility of such damage.
- //
- //M*/
--
-+#include "opencv2/opencv_modules.hpp"
- #include "gtrTracker.hpp"
-
-
-@@ -54,9 +54,16 @@ void TrackerGOTURN::Params::write(cv::FileStorage& /*fs*/) const {}
-
- Ptr<TrackerGOTURN> TrackerGOTURN::createTracker(const TrackerGOTURN::Params &parameters)
- {
-+#ifdef HAVE_OPENCV_DNN
- return Ptr<gtr::TrackerGOTURNImpl>(new gtr::TrackerGOTURNImpl(parameters));
-+#else
-+ (void)(parameters);
-+ CV_ErrorNoReturn(cv::Error::StsNotImplemented , "to use GOTURN, the tracking module needs to be built with opencv_dnn !");
-+#endif
- }
-
-+
-+#ifdef HAVE_OPENCV_DNN
- namespace gtr
- {
-
-@@ -183,9 +190,11 @@ bool TrackerGOTURNImpl::updateImpl(const Mat& image, Rect2d& boundingBox)
- //Set new model image and BB from current frame
- ((TrackerGOTURNModel*)static_cast<TrackerModel*>(model))->setImage(curFrame);
- ((TrackerGOTURNModel*)static_cast<TrackerModel*>(model))->setBoudingBox(curBB);
-+
- return true;
- }
-
- }
-+#endif // OPENCV_HAVE_DNN
-
- }
-diff --git a/modules/tracking/src/gtrTracker.hpp b/modules/tracking/src/gtrTracker.hpp
-index 34f2c48..21ae3d9 100644
---- a/modules/tracking/src/gtrTracker.hpp
-+++ b/modules/tracking/src/gtrTracker.hpp
-@@ -45,11 +45,15 @@
-
- #include "precomp.hpp"
- #include "opencv2/video/tracking.hpp"
--#include "opencv2/dnn.hpp"
- #include "gtrUtils.hpp"
- #include "opencv2/imgproc.hpp"
--#include<algorithm>
--#include<limits.h>
-+
-+#include <algorithm>
-+#include <limits.h>
-+
-+#include "opencv2/opencv_modules.hpp"
-+#ifdef HAVE_OPENCV_DNN
-+#include "opencv2/dnn.hpp"
-
- namespace cv
- {
-@@ -72,5 +76,5 @@ public:
-
- }
- }
--
-+#endif
- #endif
-diff --git a/modules/tracking/src/gtrUtils.cpp b/modules/tracking/src/gtrUtils.cpp
-index 0df1197..e80dda1 100644
---- a/modules/tracking/src/gtrUtils.cpp
-+++ b/modules/tracking/src/gtrUtils.cpp
-@@ -58,7 +58,7 @@ double generateRandomLaplacian(double b, double m)
- return m - b*log(n);
- }
-
--Rect2f anno2rect(vector<Point2f> annoBB)
-+Rect2f anno2rect(std::vector<Point2f> annoBB)
- {
- Rect2f rectBB;
- rectBB.x = min(annoBB[0].x, annoBB[1].x);
-@@ -69,9 +69,9 @@ Rect2f anno2rect(vector<Point2f> annoBB)
- return rectBB;
- }
-
--vector <TrainingSample> gatherFrameSamples(Mat prevFrame, Mat currFrame, Rect2f prevBB, Rect2f currBB)
-+std::vector <TrainingSample> gatherFrameSamples(Mat prevFrame, Mat currFrame, Rect2f prevBB, Rect2f currBB)
- {
-- vector <TrainingSample> trainingSamples;
-+ std::vector <TrainingSample> trainingSamples;
- Point2f currCenter, prevCenter;
- Rect2f targetPatchRect, searchPatchRect;
- Mat targetPatch, searchPatch;
-diff --git a/modules/tracking/src/gtrUtils.hpp b/modules/tracking/src/gtrUtils.hpp
-index 8f388be..41aad21 100644
---- a/modules/tracking/src/gtrUtils.hpp
-+++ b/modules/tracking/src/gtrUtils.hpp
-@@ -4,7 +4,6 @@
- #include "precomp.hpp"
- #include <vector>
- #include "opencv2/highgui.hpp"
--#include <opencv2/datasets/track_alov.hpp>
-
- namespace cv
- {
-@@ -50,10 +49,10 @@ struct TrainingSample
- double generateRandomLaplacian(double b, double m);
-
- //Convert ALOV300++ anno coordinates to Rectangle BB
--Rect2f anno2rect(vector<Point2f> annoBB);
-+Rect2f anno2rect(std::vector<Point2f> annoBB);
-
- //Gather samples from random video frame
--vector <TrainingSample> gatherFrameSamples(Mat prevFrame, Mat currFrame, Rect2f prevBB, Rect2f currBB);
-+std::vector <TrainingSample> gatherFrameSamples(Mat prevFrame, Mat currFrame, Rect2f prevBB, Rect2f currBB);
-
- }
- }
-diff --git a/modules/tracking/src/tracker.cpp b/modules/tracking/src/tracker.cpp
-index 8127f2a..b96aca8 100644
---- a/modules/tracking/src/tracker.cpp
-+++ b/modules/tracking/src/tracker.cpp
-@@ -112,6 +112,7 @@ Ptr<Tracker> Tracker::create( const String& trackerType )
- BOILERPLATE_CODE("TLD",TrackerTLD);
- BOILERPLATE_CODE("KCF",TrackerKCF);
- BOILERPLATE_CODE("GOTURN", TrackerGOTURN);
-+
- return Ptr<Tracker>();
- }
-
---
-2.9.4
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0002-Do-not-enable-asm-with-clang.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0002-Do-not-enable-asm-with-clang.patch
new file mode 100644
index 000000000..22e868a03
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0002-Do-not-enable-asm-with-clang.patch
@@ -0,0 +1,993 @@
+From 333f60165b6737588eb975a5e4393d847011a1cd Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 19 Sep 2017 18:07:35 -0700
+Subject: [PATCH 2/2] Do not enable asm with clang
+
+clang pretends to be gcc 4.2.0 which means we will
+use inline asm for no reason, instead of builtins
+on clang when possible.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted
+ 3rdparty/carotene/src/channel_extract.cpp | 4 +-
+ 3rdparty/carotene/src/channels_combine.cpp | 2 +-
+ 3rdparty/carotene/src/colorconvert.cpp | 78 +++++++++++++++---------------
+ 3rdparty/carotene/src/convert.cpp | 54 ++++++++++-----------
+ 3rdparty/carotene/src/convert_scale.cpp | 56 ++++++++++-----------
+ 3rdparty/carotene/src/gaussian_blur.cpp | 2 +-
+ 3rdparty/carotene/src/pyramid.cpp | 8 +--
+ 3rdparty/carotene/src/scharr.cpp | 4 +-
+ 8 files changed, 104 insertions(+), 104 deletions(-)
+
+diff --git a/3rdparty/carotene/src/channel_extract.cpp b/3rdparty/carotene/src/channel_extract.cpp
+index 8238a3ece8..ff4fb3770c 100644
+--- a/3rdparty/carotene/src/channel_extract.cpp
++++ b/3rdparty/carotene/src/channel_extract.cpp
+@@ -231,7 +231,7 @@ void extract4(const Size2D &size,
+ srcStride == dst2Stride && \
+ srcStride == dst3Stride &&
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+
+ #define SPLIT_ASM2(sgn, bits) __asm__ ( \
+ "vld2." #bits " {d0, d2}, [%[in0]] \n\t" \
+@@ -351,7 +351,7 @@ void extract4(const Size2D &size,
+ } \
+ }
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+
+ #define ALPHA_QUAD(sgn, bits) { \
+ internal::prefetch(src + sj); \
+diff --git a/3rdparty/carotene/src/channels_combine.cpp b/3rdparty/carotene/src/channels_combine.cpp
+index fc98fb9181..5d9251d51c 100644
+--- a/3rdparty/carotene/src/channels_combine.cpp
++++ b/3rdparty/carotene/src/channels_combine.cpp
+@@ -77,7 +77,7 @@ namespace CAROTENE_NS {
+ dstStride == src2Stride && \
+ dstStride == src3Stride &&
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+
+ #define MERGE_ASM2(sgn, bits) __asm__ ( \
+ "vld1." #bits " {d0-d1}, [%[in0]] \n\t" \
+diff --git a/3rdparty/carotene/src/colorconvert.cpp b/3rdparty/carotene/src/colorconvert.cpp
+index 26ae54b15c..d3a40fe64e 100644
+--- a/3rdparty/carotene/src/colorconvert.cpp
++++ b/3rdparty/carotene/src/colorconvert.cpp
+@@ -97,7 +97,7 @@ void rgb2gray(const Size2D &size, COLOR_SPACE color_space,
+ const u32 G2Y = color_space == COLOR_SPACE_BT601 ? G2Y_BT601 : G2Y_BT709;
+ const u32 B2Y = color_space == COLOR_SPACE_BT601 ? B2Y_BT601 : B2Y_BT709;
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ register int16x4_t v_r2y asm ("d31") = vmov_n_s16(R2Y);
+ register int16x4_t v_g2y asm ("d30") = vmov_n_s16(G2Y);
+ register int16x4_t v_b2y asm ("d29") = vmov_n_s16(B2Y);
+@@ -116,7 +116,7 @@ void rgb2gray(const Size2D &size, COLOR_SPACE color_space,
+ u8 * dst = internal::getRowPtr(dstBase, dstStride, i);
+ size_t sj = 0u, dj = 0u;
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ for (; dj < roiw8; sj += 24, dj += 8)
+ {
+ internal::prefetch(src + sj);
+@@ -198,7 +198,7 @@ void rgbx2gray(const Size2D &size, COLOR_SPACE color_space,
+ const u32 G2Y = color_space == COLOR_SPACE_BT601 ? G2Y_BT601 : G2Y_BT709;
+ const u32 B2Y = color_space == COLOR_SPACE_BT601 ? B2Y_BT601 : B2Y_BT709;
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ register int16x4_t v_r2y asm ("d31") = vmov_n_s16(R2Y);
+ register int16x4_t v_g2y asm ("d30") = vmov_n_s16(G2Y);
+ register int16x4_t v_b2y asm ("d29") = vmov_n_s16(B2Y);
+@@ -217,7 +217,7 @@ void rgbx2gray(const Size2D &size, COLOR_SPACE color_space,
+ u8 * dst = internal::getRowPtr(dstBase, dstStride, i);
+ size_t sj = 0u, dj = 0u;
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ for (; dj < roiw8; sj += 32, dj += 8)
+ {
+ internal::prefetch(src + sj);
+@@ -300,7 +300,7 @@ void bgr2gray(const Size2D &size, COLOR_SPACE color_space,
+ const u32 G2Y = color_space == COLOR_SPACE_BT601 ? G2Y_BT601 : G2Y_BT709;
+ const u32 B2Y = color_space == COLOR_SPACE_BT601 ? B2Y_BT601 : B2Y_BT709;
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ register int16x4_t v_r2y asm ("d31") = vmov_n_s16(R2Y);
+ register int16x4_t v_g2y asm ("d30") = vmov_n_s16(G2Y);
+ register int16x4_t v_b2y asm ("d29") = vmov_n_s16(B2Y);
+@@ -319,7 +319,7 @@ void bgr2gray(const Size2D &size, COLOR_SPACE color_space,
+ u8 * dst = internal::getRowPtr(dstBase, dstStride, i);
+ size_t sj = 0u, dj = 0u;
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ for (; dj < roiw8; sj += 24, dj += 8)
+ {
+ internal::prefetch(src + sj);
+@@ -402,7 +402,7 @@ void bgrx2gray(const Size2D &size, COLOR_SPACE color_space,
+ const u32 G2Y = color_space == COLOR_SPACE_BT601 ? G2Y_BT601 : G2Y_BT709;
+ const u32 B2Y = color_space == COLOR_SPACE_BT601 ? B2Y_BT601 : B2Y_BT709;
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ register int16x4_t v_r2y asm ("d31") = vmov_n_s16(R2Y);
+ register int16x4_t v_g2y asm ("d30") = vmov_n_s16(G2Y);
+ register int16x4_t v_b2y asm ("d29") = vmov_n_s16(B2Y);
+@@ -421,7 +421,7 @@ void bgrx2gray(const Size2D &size, COLOR_SPACE color_space,
+ u8 * dst = internal::getRowPtr(dstBase, dstStride, i);
+ size_t sj = 0u, dj = 0u;
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ for (; dj < roiw8; sj += 32, dj += 8)
+ {
+ internal::prefetch(src + sj);
+@@ -512,7 +512,7 @@ void gray2rgb(const Size2D &size,
+ for (; sj < roiw16; sj += 16, dj += 48)
+ {
+ internal::prefetch(src + sj);
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ __asm__ (
+ "vld1.8 {d0-d1}, [%[in0]] \n\t"
+ "vmov.8 q1, q0 \n\t"
+@@ -538,7 +538,7 @@ void gray2rgb(const Size2D &size,
+
+ if (sj < roiw8)
+ {
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ __asm__ (
+ "vld1.8 {d0}, [%[in]] \n\t"
+ "vmov.8 d1, d0 \n\t"
+@@ -584,7 +584,7 @@ void gray2rgbx(const Size2D &size,
+ size_t roiw16 = size.width >= 15 ? size.width - 15 : 0;
+ size_t roiw8 = size.width >= 7 ? size.width - 7 : 0;
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ register uint8x16_t vc255 asm ("q4") = vmovq_n_u8(255);
+ #else
+ uint8x16x4_t vRgba;
+@@ -602,7 +602,7 @@ void gray2rgbx(const Size2D &size,
+ for (; sj < roiw16; sj += 16, dj += 64)
+ {
+ internal::prefetch(src + sj);
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ __asm__ (
+ "vld1.8 {d0-d1}, [%[in0]] \n\t"
+ "vmov.8 q1, q0 \n\t"
+@@ -628,7 +628,7 @@ void gray2rgbx(const Size2D &size,
+
+ if (sj < roiw8)
+ {
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ __asm__ (
+ "vld1.8 {d5}, [%[in]] \n\t"
+ "vmov.8 d6, d5 \n\t"
+@@ -1409,7 +1409,7 @@ inline void convertToHSV(const s32 r, const s32 g, const s32 b,
+ "d24","d25","d26","d27","d28","d29","d30","d31" \
+ );
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+
+ #define YCRCB_CONSTS \
+ register int16x4_t vcYR asm ("d31") = vmov_n_s16(4899); \
+@@ -1555,7 +1555,7 @@ inline uint8x8x3_t convertToYCrCb( const int16x8_t& vR, const int16x8_t& vG, con
+ #define COEFF_G ( 8663)
+ #define COEFF_B (-17705)
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ #define YUV420ALPHA3_CONST
+ #define YUV420ALPHA4_CONST register uint8x16_t c255 asm ("q13") = vmovq_n_u8(255);
+ #define YUV420ALPHA3_CONVERT
+@@ -1852,7 +1852,7 @@ void rgb2hsv(const Size2D &size,
+ #ifdef CAROTENE_NEON
+ size_t roiw8 = size.width >= 7 ? size.width - 7 : 0;
+ const s32 hsv_shift = 12;
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ register const f32 vsdiv_table = f32(255 << hsv_shift);
+ register f32 vhdiv_table = f32(hrange << hsv_shift);
+ register const s32 vhrange = hrange;
+@@ -1871,7 +1871,7 @@ void rgb2hsv(const Size2D &size,
+ for (; j < roiw8; sj += 24, dj += 24, j += 8)
+ {
+ internal::prefetch(src + sj);
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CONVERT_TO_HSV_ASM(vld3.8 {d0-d2}, d0, d2)
+ #else
+ uint8x8x3_t vRgb = vld3_u8(src + sj);
+@@ -1904,7 +1904,7 @@ void rgbx2hsv(const Size2D &size,
+ #ifdef CAROTENE_NEON
+ size_t roiw8 = size.width >= 7 ? size.width - 7 : 0;
+ const s32 hsv_shift = 12;
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ register const f32 vsdiv_table = f32(255 << hsv_shift);
+ register f32 vhdiv_table = f32(hrange << hsv_shift);
+ register const s32 vhrange = hrange;
+@@ -1923,7 +1923,7 @@ void rgbx2hsv(const Size2D &size,
+ for (; j < roiw8; sj += 32, dj += 24, j += 8)
+ {
+ internal::prefetch(src + sj);
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CONVERT_TO_HSV_ASM(vld4.8 {d0-d3}, d0, d2)
+ #else
+ uint8x8x4_t vRgb = vld4_u8(src + sj);
+@@ -1956,7 +1956,7 @@ void bgr2hsv(const Size2D &size,
+ #ifdef CAROTENE_NEON
+ size_t roiw8 = size.width >= 7 ? size.width - 7 : 0;
+ const s32 hsv_shift = 12;
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ register const f32 vsdiv_table = f32(255 << hsv_shift);
+ register f32 vhdiv_table = f32(hrange << hsv_shift);
+ register const s32 vhrange = hrange;
+@@ -1975,7 +1975,7 @@ void bgr2hsv(const Size2D &size,
+ for (; j < roiw8; sj += 24, dj += 24, j += 8)
+ {
+ internal::prefetch(src + sj);
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CONVERT_TO_HSV_ASM(vld3.8 {d0-d2}, d2, d0)
+ #else
+ uint8x8x3_t vRgb = vld3_u8(src + sj);
+@@ -2008,7 +2008,7 @@ void bgrx2hsv(const Size2D &size,
+ #ifdef CAROTENE_NEON
+ size_t roiw8 = size.width >= 7 ? size.width - 7 : 0;
+ const s32 hsv_shift = 12;
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ register const f32 vsdiv_table = f32(255 << hsv_shift);
+ register f32 vhdiv_table = f32(hrange << hsv_shift);
+ register const s32 vhrange = hrange;
+@@ -2027,7 +2027,7 @@ void bgrx2hsv(const Size2D &size,
+ for (; j < roiw8; sj += 32, dj += 24, j += 8)
+ {
+ internal::prefetch(src + sj);
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CONVERT_TO_HSV_ASM(vld4.8 {d0-d3}, d2, d0)
+ #else
+ uint8x8x4_t vRgb = vld4_u8(src + sj);
+@@ -2068,7 +2068,7 @@ void rgbx2bgr565(const Size2D &size,
+ for (; j < roiw16; sj += 64, dj += 32, j += 16)
+ {
+ internal::prefetch(src + sj);
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ __asm__ (
+ "vld4.8 {d2, d4, d6, d8}, [%[in0]] @ q0 q1 q2 q3 q4 \n\t"
+ "vld4.8 {d3, d5, d7, d9}, [%[in1]] @ xxxxxxxx rrrrRRRR ggggGGGG bbbbBBBB xxxxxxxx \n\t"
+@@ -2122,7 +2122,7 @@ void rgb2bgr565(const Size2D &size,
+ for (; j < roiw16; sj += 48, dj += 32, j += 16)
+ {
+ internal::prefetch(src + sj);
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ __asm__ (
+ "vld3.8 {d2, d4, d6}, [%[in0]] @ q0 q1 q2 q3 q4 \n\t"
+ "vld3.8 {d3, d5, d7}, [%[in1]] @ xxxxxxxx rrrrRRRR ggggGGGG bbbbBBBB xxxxxxxx \n\t"
+@@ -2176,7 +2176,7 @@ void rgbx2rgb565(const Size2D &size,
+ for (; j < roiw16; sj += 64, dj += 32, j += 16)
+ {
+ internal::prefetch(src + sj);
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ __asm__ (
+ "vld4.8 {d0, d2, d4, d6}, [%[in0]] @ q0 q1 q2 q3 \n\t"
+ "vld4.8 {d1, d3, d5, d7}, [%[in1]] @ rrrrRRRR ggggGGGG bbbbBBBB aaaaAAAA \n\t"
+@@ -2230,7 +2230,7 @@ void rgb2rgb565(const Size2D &size,
+ for (; j < roiw16; sj += 48, dj += 32, j += 16)
+ {
+ internal::prefetch(src + sj);
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ __asm__ (
+ "vld3.8 {d0, d2, d4}, [%[in0]] @ q0 q1 q2 q3 \n\t"
+ "vld3.8 {d1, d3, d5}, [%[in1]] @ rrrrRRRR ggggGGGG bbbbBBBB xxxxxxxx \n\t"
+@@ -2285,7 +2285,7 @@ void rgb2ycrcb(const Size2D &size,
+ for (; j < roiw8; sj += 24, dj += 24, j += 8)
+ {
+ internal::prefetch(src + sj);
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CONVERTTOYCRCB(vld3.8 {d0-d2}, d0, d1, d2)
+ #else
+ uint8x8x3_t vRgb = vld3_u8(src + sj);
+@@ -2329,7 +2329,7 @@ void rgbx2ycrcb(const Size2D &size,
+ for (; j < roiw8; sj += 32, dj += 24, j += 8)
+ {
+ internal::prefetch(src + sj);
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CONVERTTOYCRCB(vld4.8 {d0-d3}, d0, d1, d2)
+ #else
+ uint8x8x4_t vRgba = vld4_u8(src + sj);
+@@ -2373,7 +2373,7 @@ void bgr2ycrcb(const Size2D &size,
+ for (; j < roiw8; sj += 24, dj += 24, j += 8)
+ {
+ internal::prefetch(src + sj);
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CONVERTTOYCRCB(vld3.8 {d0-d2}, d2, d1, d0)
+ #else
+ uint8x8x3_t vBgr = vld3_u8(src + sj);
+@@ -2417,7 +2417,7 @@ void bgrx2ycrcb(const Size2D &size,
+ for (; j < roiw8; sj += 32, dj += 24, j += 8)
+ {
+ internal::prefetch(src + sj);
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CONVERTTOYCRCB(vld4.8 {d0-d3}, d2, d1, d0)
+ #else
+ uint8x8x4_t vBgra = vld4_u8(src + sj);
+@@ -2499,7 +2499,7 @@ void yuv420sp2rgb(const Size2D &size,
+ internal::prefetch(uv + j);
+ internal::prefetch(y1 + j);
+ internal::prefetch(y2 + j);
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CONVERTYUV420TORGB(3, d1, d0, q5, q6)
+ #else
+ convertYUV420.ToRGB(y1 + j, y2 + j, uv + j, dst1 + dj, dst2 + dj);
+@@ -2545,7 +2545,7 @@ void yuv420sp2rgbx(const Size2D &size,
+ internal::prefetch(uv + j);
+ internal::prefetch(y1 + j);
+ internal::prefetch(y2 + j);
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CONVERTYUV420TORGB(4, d1, d0, q5, q6)
+ #else
+ convertYUV420.ToRGB(y1 + j, y2 + j, uv + j, dst1 + dj, dst2 + dj);
+@@ -2591,7 +2591,7 @@ void yuv420i2rgb(const Size2D &size,
+ internal::prefetch(uv + j);
+ internal::prefetch(y1 + j);
+ internal::prefetch(y2 + j);
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CONVERTYUV420TORGB(3, d0, d1, q5, q6)
+ #else
+ convertYUV420.ToRGB(y1 + j, y2 + j, uv + j, dst1 + dj, dst2 + dj);
+@@ -2637,7 +2637,7 @@ void yuv420i2rgbx(const Size2D &size,
+ internal::prefetch(uv + j);
+ internal::prefetch(y1 + j);
+ internal::prefetch(y2 + j);
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CONVERTYUV420TORGB(4, d0, d1, q5, q6)
+ #else
+ convertYUV420.ToRGB(y1 + j, y2 + j, uv + j, dst1 + dj, dst2 + dj);
+@@ -2683,7 +2683,7 @@ void yuv420sp2bgr(const Size2D &size,
+ internal::prefetch(uv + j);
+ internal::prefetch(y1 + j);
+ internal::prefetch(y2 + j);
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CONVERTYUV420TORGB(3, d1, d0, q6, q5)
+ #else
+ convertYUV420.ToRGB(y1 + j, y2 + j, uv + j, dst1 + dj, dst2 + dj);
+@@ -2729,7 +2729,7 @@ void yuv420sp2bgrx(const Size2D &size,
+ internal::prefetch(uv + j);
+ internal::prefetch(y1 + j);
+ internal::prefetch(y2 + j);
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CONVERTYUV420TORGB(4, d1, d0, q6, q5)
+ #else
+ convertYUV420.ToRGB(y1 + j, y2 + j, uv + j, dst1 + dj, dst2 + dj);
+@@ -2775,7 +2775,7 @@ void yuv420i2bgr(const Size2D &size,
+ internal::prefetch(uv + j);
+ internal::prefetch(y1 + j);
+ internal::prefetch(y2 + j);
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CONVERTYUV420TORGB(3, d0, d1, q6, q5)
+ #else
+ convertYUV420.ToRGB(y1 + j, y2 + j, uv + j, dst1 + dj, dst2 + dj);
+@@ -2821,7 +2821,7 @@ void yuv420i2bgrx(const Size2D &size,
+ internal::prefetch(uv + j);
+ internal::prefetch(y1 + j);
+ internal::prefetch(y2 + j);
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CONVERTYUV420TORGB(4, d0, d1, q6, q5)
+ #else
+ convertYUV420.ToRGB(y1 + j, y2 + j, uv + j, dst1 + dj, dst2 + dj);
+diff --git a/3rdparty/carotene/src/convert.cpp b/3rdparty/carotene/src/convert.cpp
+index 64b6db78ab..f0c2d153f2 100644
+--- a/3rdparty/carotene/src/convert.cpp
++++ b/3rdparty/carotene/src/convert.cpp
+@@ -101,7 +101,7 @@ CVT_FUNC(u8, s8, 16,
+ }
+ })
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVT_FUNC(u8, u16, 16,
+ register uint8x16_t zero0 asm ("q1") = vmovq_n_u8(0);,
+ {
+@@ -135,7 +135,7 @@ CVT_FUNC(u8, u16, 16,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVT_FUNC(u8, s32, 16,
+ register uint8x16_t zero0 asm ("q1") = vmovq_n_u8(0);
+ register uint8x16_t zero1 asm ("q2") = vmovq_n_u8(0);
+@@ -173,7 +173,7 @@ CVT_FUNC(u8, s32, 16,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6 && !defined(__clang__)
+ CVT_FUNC(u8, f32, 16,
+ ,
+ {
+@@ -248,7 +248,7 @@ CVT_FUNC(s8, u8, 16,
+ }
+ })
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVT_FUNC(s8, u16, 16,
+ register uint8x16_t zero0 asm ("q1") = vmovq_n_u8(0);,
+ {
+@@ -284,7 +284,7 @@ CVT_FUNC(s8, u16, 16,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6 && !defined(__clang__)
+ CVT_FUNC(s8, s16, 16,
+ ,
+ {
+@@ -323,7 +323,7 @@ CVT_FUNC(s8, s16, 16,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVT_FUNC(s8, s32, 16,
+ ,
+ {
+@@ -377,7 +377,7 @@ CVT_FUNC(s8, s32, 16,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6 && !defined(__clang__)
+ CVT_FUNC(s8, f32, 16,
+ ,
+ {
+@@ -440,7 +440,7 @@ CVT_FUNC(s8, f32, 16,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6 && !defined(__clang__)
+ CVT_FUNC(u16, u8, 16,
+ ,
+ {
+@@ -479,7 +479,7 @@ CVT_FUNC(u16, u8, 16,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6 && !defined(__clang__)
+ CVT_FUNC(u16, s8, 16,
+ register uint8x16_t v127 asm ("q4") = vmovq_n_u8(127);,
+ {
+@@ -522,7 +522,7 @@ CVT_FUNC(u16, s8, 16,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVT_FUNC(u16, s16, 8,
+ register uint16x8_t v32767 asm ("q4") = vmovq_n_u16(0x7FFF);,
+ {
+@@ -555,7 +555,7 @@ CVT_FUNC(u16, s16, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVT_FUNC(u16, s32, 8,
+ register uint16x8_t zero0 asm ("q1") = vmovq_n_u16(0);,
+ {
+@@ -589,7 +589,7 @@ CVT_FUNC(u16, s32, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6 && !defined(__clang__)
+ CVT_FUNC(u16, f32, 8,
+ ,
+ {
+@@ -633,7 +633,7 @@ CVT_FUNC(u16, f32, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6 && !defined(__clang__)
+ CVT_FUNC(s16, u8, 16,
+ ,
+ {
+@@ -672,7 +672,7 @@ CVT_FUNC(s16, u8, 16,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6 && !defined(__clang__)
+ CVT_FUNC(s16, s8, 16,
+ ,
+ {
+@@ -711,7 +711,7 @@ CVT_FUNC(s16, s8, 16,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVT_FUNC(s16, u16, 8,
+ register int16x8_t vZero asm ("q4") = vmovq_n_s16(0);,
+ {
+@@ -747,7 +747,7 @@ CVT_FUNC(s16, u16, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6 && !defined(__clang__)
+ CVT_FUNC(s16, s32, 8,
+ ,
+ {
+@@ -786,7 +786,7 @@ CVT_FUNC(s16, s32, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6 && !defined(__clang__)
+ CVT_FUNC(s16, f32, 8,
+ ,
+ {
+@@ -829,7 +829,7 @@ CVT_FUNC(s16, f32, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6 && !defined(__clang__)
+ CVT_FUNC(s32, u8, 8,
+ ,
+ {
+@@ -870,7 +870,7 @@ CVT_FUNC(s32, u8, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6 && !defined(__clang__)
+ CVT_FUNC(s32, s8, 8,
+ ,
+ {
+@@ -911,7 +911,7 @@ CVT_FUNC(s32, s8, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6 && !defined(__clang__)
+ CVT_FUNC(s32, u16, 8,
+ ,
+ {
+@@ -950,7 +950,7 @@ CVT_FUNC(s32, u16, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6 && !defined(__clang__)
+ CVT_FUNC(s32, s16, 8,
+ ,
+ {
+@@ -989,7 +989,7 @@ CVT_FUNC(s32, s16, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6 && !defined(__clang__)
+ CVT_FUNC(s32, f32, 8,
+ ,
+ {
+@@ -1034,7 +1034,7 @@ CVT_FUNC(s32, f32, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6 && !defined(__clang__)
+ CVT_FUNC(f32, u8, 8,
+ register float32x4_t vmult asm ("q0") = vdupq_n_f32((float)(1 << 16));
+ register uint32x4_t vmask asm ("q1") = vdupq_n_u32(1<<16);,
+@@ -1101,7 +1101,7 @@ CVT_FUNC(f32, u8, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6 && !defined(__clang__)
+ CVT_FUNC(f32, s8, 8,
+ register float32x4_t vhalf asm ("q0") = vdupq_n_f32(0.5f);,
+ {
+@@ -1153,7 +1153,7 @@ CVT_FUNC(f32, s8, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6 && !defined(__clang__)
+ CVT_FUNC(f32, u16, 8,
+ register float32x4_t vhalf asm ("q0") = vdupq_n_f32(0.5f);,
+ {
+@@ -1212,7 +1212,7 @@ CVT_FUNC(f32, u16, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6 && !defined(__clang__)
+ CVT_FUNC(f32, s16, 8,
+ register float32x4_t vhalf asm ("q0") = vdupq_n_f32(0.5f);,
+ {
+@@ -1271,7 +1271,7 @@ CVT_FUNC(f32, s16, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6 && !defined(__clang__)
+ CVT_FUNC(f32, s32, 8,
+ register float32x4_t vhalf asm ("q0") = vdupq_n_f32(0.5f);,
+ {
+diff --git a/3rdparty/carotene/src/convert_scale.cpp b/3rdparty/carotene/src/convert_scale.cpp
+index ae41a985c8..d599d24c1e 100644
+--- a/3rdparty/carotene/src/convert_scale.cpp
++++ b/3rdparty/carotene/src/convert_scale.cpp
+@@ -473,7 +473,7 @@ CVTS_FUNC(u8, s16, 16,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVTS_FUNC(u8, s32, 16,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -562,7 +562,7 @@ CVTS_FUNC(u8, s32, 16,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVTS_FUNC(u8, f32, 16,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta);,
+@@ -985,7 +985,7 @@ CVTS_FUNC(s8, s16, 16,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVTS_FUNC(s8, s32, 16,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -1074,7 +1074,7 @@ CVTS_FUNC(s8, s32, 16,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVTS_FUNC(s8, f32, 16,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta);,
+@@ -1155,7 +1155,7 @@ CVTS_FUNC(s8, f32, 16,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVTS_FUNC(u16, u8, 16,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -1214,7 +1214,7 @@ CVTS_FUNC(u16, u8, 16,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVTS_FUNC(u16, s8, 16,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -1273,7 +1273,7 @@ CVTS_FUNC(u16, s8, 16,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVTS_FUNC1(u16, 16,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -1330,7 +1330,7 @@ CVTS_FUNC1(u16, 16,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVTS_FUNC(u16, s16, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -1387,7 +1387,7 @@ CVTS_FUNC(u16, s16, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVTS_FUNC(u16, s32, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -1443,7 +1443,7 @@ CVTS_FUNC(u16, s32, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVTS_FUNC(u16, f32, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta);,
+@@ -1495,7 +1495,7 @@ CVTS_FUNC(u16, f32, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVTS_FUNC(s16, u8, 16,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -1554,7 +1554,7 @@ CVTS_FUNC(s16, u8, 16,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVTS_FUNC(s16, s8, 16,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -1613,7 +1613,7 @@ CVTS_FUNC(s16, s8, 16,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVTS_FUNC(s16, u16, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -1670,7 +1670,7 @@ CVTS_FUNC(s16, u16, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVTS_FUNC1(s16, 16,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -1727,7 +1727,7 @@ CVTS_FUNC1(s16, 16,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVTS_FUNC(s16, s32, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -1783,7 +1783,7 @@ CVTS_FUNC(s16, s32, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVTS_FUNC(s16, f32, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta);,
+@@ -1835,7 +1835,7 @@ CVTS_FUNC(s16, f32, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVTS_FUNC(s32, u8, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -1893,7 +1893,7 @@ CVTS_FUNC(s32, u8, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVTS_FUNC(s32, s8, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -1951,7 +1951,7 @@ CVTS_FUNC(s32, s8, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVTS_FUNC(s32, u16, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -2007,7 +2007,7 @@ CVTS_FUNC(s32, u16, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVTS_FUNC(s32, s16, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -2063,7 +2063,7 @@ CVTS_FUNC(s32, s16, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVTS_FUNC1(s32, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -2118,7 +2118,7 @@ CVTS_FUNC1(s32, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVTS_FUNC(s32, f32, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta);,
+@@ -2169,7 +2169,7 @@ CVTS_FUNC(s32, f32, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVTS_FUNC(f32, u8, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)((1 << 16)*alpha));
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)((1 << 16)*beta));
+@@ -2239,7 +2239,7 @@ CVTS_FUNC(f32, u8, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVTS_FUNC(f32, s8, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -2293,7 +2293,7 @@ CVTS_FUNC(f32, s8, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVTS_FUNC(f32, u16, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -2345,7 +2345,7 @@ CVTS_FUNC(f32, u16, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVTS_FUNC(f32, s16, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -2397,7 +2397,7 @@ CVTS_FUNC(f32, s16, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVTS_FUNC(f32, s32, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta + 0.5f);,
+@@ -2448,7 +2448,7 @@ CVTS_FUNC(f32, s32, 8,
+ })
+ #endif
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ CVTS_FUNC1(f32, 8,
+ register float32x4_t vscale asm ("q0") = vdupq_n_f32((f32)alpha);
+ register float32x4_t vshift asm ("q1") = vdupq_n_f32((f32)beta);,
+diff --git a/3rdparty/carotene/src/gaussian_blur.cpp b/3rdparty/carotene/src/gaussian_blur.cpp
+index f7b5f18d79..e5aa8fc75b 100644
+--- a/3rdparty/carotene/src/gaussian_blur.cpp
++++ b/3rdparty/carotene/src/gaussian_blur.cpp
+@@ -327,7 +327,7 @@ void gaussianBlur5x5(const Size2D &size, s32 cn,
+ u16* lidx1 = lane + x - 1*2;
+ u16* lidx3 = lane + x + 1*2;
+ u16* lidx4 = lane + x + 2*2;
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ __asm__ __volatile__ (
+ "vld2.16 {d0, d2}, [%[in0]]! \n\t"
+ "vld2.16 {d1, d3}, [%[in0]] \n\t"
+diff --git a/3rdparty/carotene/src/pyramid.cpp b/3rdparty/carotene/src/pyramid.cpp
+index 232ccf3efd..d4e32ea50f 100644
+--- a/3rdparty/carotene/src/pyramid.cpp
++++ b/3rdparty/carotene/src/pyramid.cpp
+@@ -331,7 +331,7 @@ void gaussianPyramidDown(const Size2D &srcSize,
+ for (; x < roiw8; x += 8)
+ {
+ internal::prefetch(lane + 2 * x);
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ __asm__ (
+ "vld2.16 {d0-d3}, [%[in0]] \n\t"
+ "vld2.16 {d4-d7}, [%[in4]] \n\t"
+@@ -538,7 +538,7 @@ void gaussianPyramidDown(const Size2D &srcSize,
+ for (; x < roiw4; x += 4)
+ {
+ internal::prefetch(lane + 2 * x);
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ __asm__ (
+ "vld2.32 {d0-d3}, [%[in0]] \n\t"
+ "vld2.32 {d4-d7}, [%[in4]] \n\t"
+@@ -672,7 +672,7 @@ void gaussianPyramidDown(const Size2D &srcSize,
+ std::vector<f32> _buf(cn*(srcSize.width + 4) + 32/sizeof(f32));
+ f32* lane = internal::alignPtr(&_buf[2*cn], 32);
+
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ register float32x4_t vc6d4f32 asm ("q11") = vmovq_n_f32(1.5f); // 6/4
+ register float32x4_t vc1d4f32 asm ("q12") = vmovq_n_f32(0.25f); // 1/4
+
+@@ -739,7 +739,7 @@ void gaussianPyramidDown(const Size2D &srcSize,
+ for (; x < roiw4; x += 4)
+ {
+ internal::prefetch(lane + 2 * x);
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ __asm__ __volatile__ (
+ "vld2.32 {d0-d3}, [%[in0]] \n\t"
+ "vld2.32 {d8-d11}, [%[in4]] \n\t"
+diff --git a/3rdparty/carotene/src/scharr.cpp b/3rdparty/carotene/src/scharr.cpp
+index 8d3b6328b1..36f6b2276e 100644
+--- a/3rdparty/carotene/src/scharr.cpp
++++ b/3rdparty/carotene/src/scharr.cpp
+@@ -109,7 +109,7 @@ void ScharrDeriv(const Size2D &size, s32 cn,
+ internal::prefetch(srow0 + x);
+ internal::prefetch(srow1 + x);
+ internal::prefetch(srow2 + x);
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7 && !defined(__clang__)
+ __asm__ (
+ "vld1.8 {d0}, [%[src0]] \n\t"
+ "vld1.8 {d2}, [%[src2]] \n\t"
+@@ -161,7 +161,7 @@ void ScharrDeriv(const Size2D &size, s32 cn,
+ x = 0;
+ for( ; x < roiw8; x += 8 )
+ {
+-#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6
++#if !defined(__aarch64__) && defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 6 && !defined(__clang__)
+ __asm__ (
+ "vld1.16 {d4-d5}, [%[s2ptr]] \n\t"
+ "vld1.16 {d8-d9}, [%[s4ptr]] \n\t"
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0002-Make-opencv-ts-create-share-library-intead-of-static.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0002-Make-opencv-ts-create-share-library-intead-of-static.patch
new file mode 100644
index 000000000..a845505a8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0002-Make-opencv-ts-create-share-library-intead-of-static.patch
@@ -0,0 +1,26 @@
+From 350525293aef65490e80104ddd99e1b21c5d54b0 Mon Sep 17 00:00:00 2001
+From: Bian Naimeng <biannm@cn.fujitsu.com>
+Date: Wed, 19 Apr 2017 03:11:37 +0900
+Subject: [PATCH 2/3] Make opencv-ts create share library intead of static.
+
+Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
+---
+ modules/ts/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules/ts/CMakeLists.txt b/modules/ts/CMakeLists.txt
+index f95bed079..ee67858df 100644
+--- a/modules/ts/CMakeLists.txt
++++ b/modules/ts/CMakeLists.txt
+@@ -4,7 +4,7 @@ if(NOT BUILD_opencv_ts AND NOT BUILD_TESTS AND NOT BUILD_PERF_TESTS)
+ ocv_module_disable(ts)
+ endif()
+
+-set(OPENCV_MODULE_TYPE STATIC)
++#set(OPENCV_MODULE_TYPE STATIC)
+ set(OPENCV_MODULE_IS_PART_OF_WORLD FALSE)
+
+ if(WINRT)
+--
+2.13.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0002-Revert-check-FP16-build-condition-correctly.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0002-Revert-check-FP16-build-condition-correctly.patch
deleted file mode 100644
index d1950a936..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0002-Revert-check-FP16-build-condition-correctly.patch
+++ /dev/null
@@ -1,245 +0,0 @@
-From 9108e39e5584ef9b41f80751639b4ec72b3e9538 Mon Sep 17 00:00:00 2001
-From: Randy MacLeod <Randy.MacLeod@windriver.com>
-Date: Wed, 26 Apr 2017 15:00:32 -0400
-Subject: [PATCH 2/2] Revert "check FP16 build condition correctly"
-
-This reverts commit c7cb116dc08441fe56cf82d5b21f929e5b674c13.
-
-Fix up revert conflicts to take previous behaviour.
----
- cmake/OpenCVCompilerOptions.cmake | 45 +++++++++--------------
- modules/core/include/opencv2/core/cvdef.h | 2 +-
- modules/core/src/convert.cpp | 11 +++---
- modules/core/test/test_intrin.cpp | 60 ++++++++++++++-----------------
- 4 files changed, 48 insertions(+), 70 deletions(-)
-
-diff --git a/cmake/OpenCVCompilerOptions.cmake b/cmake/OpenCVCompilerOptions.cmake
-index 5bb0479..4b19fdb 100644
---- a/cmake/OpenCVCompilerOptions.cmake
-+++ b/cmake/OpenCVCompilerOptions.cmake
-@@ -185,7 +185,7 @@ if(CMAKE_COMPILER_IS_GNUCXX)
- add_extra_compiler_option("-mfp16-format=ieee")
- endif(ARM)
- if(ENABLE_NEON)
-- add_extra_compiler_option("-mfpu=neon")
-+ add_extra_compiler_option("-mfpu=neon-fp16")
- endif()
- if(ENABLE_VFPV3 AND NOT ENABLE_NEON)
- add_extra_compiler_option("-mfpu=vfpv3")
-@@ -370,34 +370,6 @@ if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_OPENCV_GCC_VERSION_NUM GREATER 399)
- add_extra_compiler_option(-fvisibility-inlines-hidden)
- endif()
-
--if(NOT OPENCV_FP16_DISABLE AND NOT IOS)
-- if(ARM AND ENABLE_NEON)
-- set(FP16_OPTION "-mfpu=neon-fp16")
-- elseif((X86 OR X86_64) AND NOT MSVC AND ENABLE_AVX)
-- set(FP16_OPTION "-mf16c")
-- endif()
-- try_compile(__VALID_FP16
-- "${OpenCV_BINARY_DIR}"
-- "${OpenCV_SOURCE_DIR}/cmake/checks/fp16.cpp"
-- COMPILE_DEFINITIONS "-DCHECK_FP16" "${FP16_OPTION}"
-- OUTPUT_VARIABLE TRY_OUT
-- )
-- if(NOT __VALID_FP16)
-- if((X86 OR X86_64) AND NOT MSVC AND NOT ENABLE_AVX)
-- # GCC enables AVX when mf16c is passed
-- message(STATUS "FP16: Feature disabled")
-- else()
-- message(STATUS "FP16: Compiler support is not available")
-- endif()
-- else()
-- message(STATUS "FP16: Compiler support is available")
-- set(HAVE_FP16 1)
-- if(NOT ${FP16_OPTION} STREQUAL "")
-- add_extra_compiler_option(${FP16_OPTION})
-- endif()
-- endif()
--endif()
--
- #combine all "extra" options
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OPENCV_EXTRA_FLAGS} ${OPENCV_EXTRA_C_FLAGS}")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OPENCV_EXTRA_FLAGS} ${OPENCV_EXTRA_CXX_FLAGS}")
-@@ -450,6 +422,21 @@ if(MSVC)
- endif()
- endif()
-
-+if(NOT OPENCV_FP16_DISABLE)
-+ try_compile(__VALID_FP16
-+ "${OpenCV_BINARY_DIR}"
-+ "${OpenCV_SOURCE_DIR}/cmake/checks/fp16.cpp"
-+ COMPILE_DEFINITIONS "-DCHECK_FP16"
-+ OUTPUT_VARIABLE TRY_OUT
-+ )
-+ if(NOT __VALID_FP16)
-+ message(STATUS "FP16: Compiler support is not available")
-+ else()
-+ message(STATUS "FP16: Compiler support is available")
-+ set(HAVE_FP16 1)
-+ endif()
-+endif()
-+
- if(APPLE AND NOT CMAKE_CROSSCOMPILING AND NOT DEFINED ENV{LDFLAGS} AND EXISTS "/usr/local/lib")
- link_directories("/usr/local/lib")
- endif()
-diff --git a/modules/core/include/opencv2/core/cvdef.h b/modules/core/include/opencv2/core/cvdef.h
-index efc24ca..a10936b 100644
---- a/modules/core/include/opencv2/core/cvdef.h
-+++ b/modules/core/include/opencv2/core/cvdef.h
-@@ -312,7 +312,7 @@ enum CpuFeatures {
- typedef union Cv16suf
- {
- short i;
--#if CV_FP16_TYPE
-+#if ( defined (__arm__) || defined (__aarch64__) ) && !defined (__CUDACC__) && ( defined (__GNUC__) && ( ( ( 4 <= __GNUC__ ) && ( 7 <= __GNUC__ ) ) || ( 5 <= __GNUC__ ) ) )
- __fp16 h;
- #endif
- struct _fp16Format
-diff --git a/modules/core/src/convert.cpp b/modules/core/src/convert.cpp
-index e04d89e..46db26f 100644
---- a/modules/core/src/convert.cpp
-+++ b/modules/core/src/convert.cpp
-@@ -44,7 +44,6 @@
- #include "precomp.hpp"
-
- #include "opencl_kernels_core.hpp"
--#include "opencv2/core/hal/intrin.hpp"
-
- #include "opencv2/core/openvx/ovx_defs.hpp"
-
-@@ -4382,7 +4381,7 @@ struct Cvt_SIMD<float, int>
-
- #endif
-
--#if !CV_FP16_TYPE
-+#if !( ( defined (__arm__) || defined (__aarch64__) ) && ( defined (__GNUC__) && ( ( ( 4 <= __GNUC__ ) && ( 7 <= __GNUC__ ) ) || ( 5 <= __GNUC__ ) ) ) )
- // const numbers for floating points format
- const unsigned int kShiftSignificand = 13;
- const unsigned int kMaskFp16Significand = 0x3ff;
-@@ -4390,7 +4389,7 @@ const unsigned int kBiasFp16Exponent = 15;
- const unsigned int kBiasFp32Exponent = 127;
- #endif
-
--#if CV_FP16_TYPE
-+#if ( defined (__arm__) || defined (__aarch64__) ) && ( defined (__GNUC__) && ( ( ( 4 <= __GNUC__ ) && ( 7 <= __GNUC__ ) ) || ( 5 <= __GNUC__ ) ) )
- static float convertFp16SW(short fp16)
- {
- // Fp16 -> Fp32
-@@ -4452,7 +4451,7 @@ static float convertFp16SW(short fp16)
- }
- #endif
-
--#if CV_FP16_TYPE
-+#if ( defined (__arm__) || defined (__aarch64__) ) && ( defined (__GNUC__) && ( ( ( 4 <= __GNUC__ ) && ( 7 <= __GNUC__ ) ) || ( 5 <= __GNUC__ ) ) )
- static short convertFp16SW(float fp32)
- {
- // Fp32 -> Fp16
-@@ -4560,7 +4559,7 @@ cvtScaleHalf_<float, short>( const float* src, size_t sstep, short* dst, size_t
- if ( ( (intptr_t)dst & 0xf ) == 0 )
- #endif
- {
--#if CV_FP16 && CV_SIMD128
-+#if CV_FP16
- for ( ; x <= size.width - 4; x += 4)
- {
- v_float32x4 v_src = v_load(src + x);
-@@ -4606,7 +4605,7 @@ cvtScaleHalf_<short, float>( const short* src, size_t sstep, float* dst, size_t
- if ( ( (intptr_t)src & 0xf ) == 0 )
- #endif
- {
--#if CV_FP16 && CV_SIMD128
-+#if CV_FP16
- for ( ; x <= size.width - 4; x += 4)
- {
- v_float16x4 v_src = v_load_f16(src + x);
-diff --git a/modules/core/test/test_intrin.cpp b/modules/core/test/test_intrin.cpp
-index 66b2083..7349d48 100644
---- a/modules/core/test/test_intrin.cpp
-+++ b/modules/core/test/test_intrin.cpp
-@@ -729,56 +729,48 @@ template<typename R> struct TheTest
- return *this;
- }
-
-+#if CV_FP16
- TheTest & test_loadstore_fp16()
- {
--#if CV_FP16
- AlignedData<R> data;
- AlignedData<R> out;
-
-- if(checkHardwareSupport(CV_CPU_FP16))
-- {
-- // check if addresses are aligned and unaligned respectively
-- EXPECT_EQ((size_t)0, (size_t)&data.a.d % 16);
-- EXPECT_NE((size_t)0, (size_t)&data.u.d % 16);
-- EXPECT_EQ((size_t)0, (size_t)&out.a.d % 16);
-- EXPECT_NE((size_t)0, (size_t)&out.u.d % 16);
--
-- // check some initialization methods
-- R r1 = data.u;
-- R r2 = v_load_f16(data.a.d);
-- R r3(r2);
-- EXPECT_EQ(data.u[0], r1.get0());
-- EXPECT_EQ(data.a[0], r2.get0());
-- EXPECT_EQ(data.a[0], r3.get0());
--
-- // check some store methods
-- out.a.clear();
-- v_store_f16(out.a.d, r1);
-- EXPECT_EQ(data.a, out.a);
-- }
-+ // check if addresses are aligned and unaligned respectively
-+ EXPECT_EQ((size_t)0, (size_t)&data.a.d % 16);
-+ EXPECT_NE((size_t)0, (size_t)&data.u.d % 16);
-+ EXPECT_EQ((size_t)0, (size_t)&out.a.d % 16);
-+ EXPECT_NE((size_t)0, (size_t)&out.u.d % 16);
-+
-+ // check some initialization methods
-+ R r1 = data.u;
-+ R r2 = v_load_f16(data.a.d);
-+ R r3(r2);
-+ EXPECT_EQ(data.u[0], r1.get0());
-+ EXPECT_EQ(data.a[0], r2.get0());
-+ EXPECT_EQ(data.a[0], r3.get0());
-+
-+ // check some store methods
-+ out.a.clear();
-+ v_store_f16(out.a.d, r1);
-+ EXPECT_EQ(data.a, out.a);
-
- return *this;
--#endif
- }
-
- TheTest & test_float_cvt_fp16()
- {
--#if CV_FP16
- AlignedData<v_float32x4> data;
-
-- if(checkHardwareSupport(CV_CPU_FP16))
-- {
-- // check conversion
-- v_float32x4 r1 = v_load(data.a.d);
-- v_float16x4 r2 = v_cvt_f16(r1);
-- v_float32x4 r3 = v_cvt_f32(r2);
-- EXPECT_EQ(0x3c00, r2.get0());
-- EXPECT_EQ(r3.get0(), r1.get0());
-- }
-+ // check conversion
-+ v_float32x4 r1 = v_load(data.a.d);
-+ v_float16x4 r2 = v_cvt_f16(r1);
-+ v_float32x4 r3 = v_cvt_f32(r2);
-+ EXPECT_EQ(0x3c00, r2.get0());
-+ EXPECT_EQ(r3.get0(), r1.get0());
-
- return *this;
--#endif
- }
-+#endif
-
- };
-
---
-2.9.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0002-imgcodecs-refactoring-improve-code-quality.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0002-imgcodecs-refactoring-improve-code-quality.patch
new file mode 100644
index 000000000..39f33af9d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0002-imgcodecs-refactoring-improve-code-quality.patch
@@ -0,0 +1,656 @@
+Upstream-Status: Backport [https://github.com/opencv/opencv/pull/9376/commits/999f41fb4f4aa94a0cb47256919ae8b5c29ca5f3]
+
+Fix CVEs for opencv 3.3:
+
+* CVE-2017-12597
+* CVE-2017-12598
+* CVE-2017-12599
+* CVE-2017-12600
+* CVE-2017-12601
+* CVE-2017-12602
+* CVE-2017-12603
+* CVE-2017-12604
+* CVE-2017-12605
+* CVE-2017-12606
+* CVE-2017-12862
+* CVE-2017-12863
+* CVE-2017-12864
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+From 999f41fb4f4aa94a0cb47256919ae8b5c29ca5f3 Mon Sep 17 00:00:00 2001
+From: Alexander Alekhin <alexander.a.alekhin@gmail.com>
+Date: Tue, 15 Aug 2017 22:04:55 +0000
+Subject: [PATCH 2/3] imgcodecs: refactoring, improve code quality
+
+---
+ modules/imgcodecs/src/bitstrm.cpp | 2 +
+ modules/imgcodecs/src/bitstrm.hpp | 19 +++--
+ modules/imgcodecs/src/grfmt_bmp.cpp | 13 ++-
+ modules/imgcodecs/src/grfmt_pxm.cpp | 122 ++++++++++++++++-----------
+ modules/imgcodecs/src/loadsave.cpp | 164 +++++++++++++++++++++++++++++-------
+ 5 files changed, 231 insertions(+), 89 deletions(-)
+
+diff --git a/modules/imgcodecs/src/bitstrm.cpp b/modules/imgcodecs/src/bitstrm.cpp
+index a7e187fa0..0a8941aec 100644
+--- a/modules/imgcodecs/src/bitstrm.cpp
++++ b/modules/imgcodecs/src/bitstrm.cpp
+@@ -209,6 +209,8 @@ int RLByteStream::getByte()
+ current = m_current;
+ }
+
++ CV_Assert(current < m_end);
++
+ val = *((uchar*)current);
+ m_current = current + 1;
+ return val;
+diff --git a/modules/imgcodecs/src/bitstrm.hpp b/modules/imgcodecs/src/bitstrm.hpp
+index 465c0a847..26947971f 100644
+--- a/modules/imgcodecs/src/bitstrm.hpp
++++ b/modules/imgcodecs/src/bitstrm.hpp
+@@ -48,13 +48,20 @@
+ namespace cv
+ {
+
+-enum
+-{
+- RBS_THROW_EOS=-123, // <end of stream> exception code
+- RBS_THROW_FORB=-124, // <forrbidden huffman code> exception code
+- RBS_HUFF_FORB=2047, // forrbidden huffman code "value"
+- RBS_BAD_HEADER=-125 // invalid header
++#define DECLARE_RBS_EXCEPTION(name) \
++class RBS_ ## name ## _Exception : public cv::Exception \
++{ \
++public: \
++ RBS_ ## name ## _Exception(int code_, const String& err_, const String& func_, const String& file_, int line_) : \
++ cv::Exception(code_, err_, func_, file_, line_) \
++ {} \
+ };
++DECLARE_RBS_EXCEPTION(THROW_EOS)
++#define RBS_THROW_EOS RBS_THROW_EOS_Exception(cv::Error::StsError, "Unexpected end of input stream", CV_Func, __FILE__, __LINE__)
++DECLARE_RBS_EXCEPTION(THROW_FORB)
++#define RBS_THROW_FORB RBS_THROW_FORB_Exception(cv::Error::StsError, "Forrbidden huffman code", CV_Func, __FILE__, __LINE__)
++DECLARE_RBS_EXCEPTION(BAD_HEADER)
++#define RBS_BAD_HEADER RBS_BAD_HEADER_Exception(cv::Error::StsError, "Invalid header", CV_Func, __FILE__, __LINE__)
+
+ typedef unsigned long ulong;
+
+diff --git a/modules/imgcodecs/src/grfmt_bmp.cpp b/modules/imgcodecs/src/grfmt_bmp.cpp
+index 86cacd316..257f97c2d 100644
+--- a/modules/imgcodecs/src/grfmt_bmp.cpp
++++ b/modules/imgcodecs/src/grfmt_bmp.cpp
+@@ -118,8 +118,9 @@ bool BmpDecoder::readHeader()
+
+ if( m_bpp <= 8 )
+ {
+- memset( m_palette, 0, sizeof(m_palette));
+- m_strm.getBytes( m_palette, (clrused == 0? 1<<m_bpp : clrused)*4 );
++ CV_Assert(clrused < 256);
++ memset(m_palette, 0, sizeof(m_palette));
++ m_strm.getBytes(m_palette, (clrused == 0? 1<<m_bpp : clrused)*4 );
+ iscolor = IsColorPalette( m_palette, m_bpp );
+ }
+ else if( m_bpp == 16 && m_rle_code == BMP_BITFIELDS )
+@@ -290,7 +291,9 @@ bool BmpDecoder::readData( Mat& img )
+ else if( code > 2 ) // absolute mode
+ {
+ if( data + code*nch > line_end ) goto decode_rle4_bad;
+- m_strm.getBytes( src, (((code + 1)>>1) + 1) & -2 );
++ int sz = (((code + 1)>>1) + 1) & (~1);
++ CV_Assert((size_t)sz < _src.size());
++ m_strm.getBytes(src, sz);
+ if( color )
+ data = FillColorRow4( data, src, code, m_palette );
+ else
+@@ -379,7 +382,9 @@ decode_rle4_bad: ;
+
+ if( data + code3 > line_end )
+ goto decode_rle8_bad;
+- m_strm.getBytes( src, (code + 1) & -2 );
++ int sz = (code + 1) & (~1);
++ CV_Assert((size_t)sz < _src.size());
++ m_strm.getBytes(src, sz);
+ if( color )
+ data = FillColorRow8( data, src, code, m_palette );
+ else
+diff --git a/modules/imgcodecs/src/grfmt_pxm.cpp b/modules/imgcodecs/src/grfmt_pxm.cpp
+index 1750cb705..68bd8fd93 100644
+--- a/modules/imgcodecs/src/grfmt_pxm.cpp
++++ b/modules/imgcodecs/src/grfmt_pxm.cpp
+@@ -43,50 +43,58 @@
+ #include "precomp.hpp"
+ #include "utils.hpp"
+ #include "grfmt_pxm.hpp"
++#include <iostream>
+
+ namespace cv
+ {
+
+ ///////////////////////// P?M reader //////////////////////////////
+
+-static int ReadNumber( RLByteStream& strm, int maxdigits )
++static int ReadNumber(RLByteStream& strm, int maxdigits = 0)
+ {
+ int code;
+- int val = 0;
++ int64 val = 0;
+ int digits = 0;
+
+ code = strm.getByte();
+
+- if( !isdigit(code))
++ while (!isdigit(code))
+ {
+- do
++ if (code == '#' )
+ {
+- if( code == '#' )
++ do
+ {
+- do
+- {
+- code = strm.getByte();
+- }
+- while( code != '\n' && code != '\r' );
++ code = strm.getByte();
+ }
+-
++ while (code != '\n' && code != '\r');
+ code = strm.getByte();
+-
+- while( isspace(code))
++ }
++ else if (isspace(code))
++ {
++ while (isspace(code))
+ code = strm.getByte();
+ }
+- while( !isdigit( code ));
++ else
++ {
++#if 1
++ CV_ErrorNoReturn_(Error::StsError, ("PXM: Unexpected code in ReadNumber(): 0x%x (%d)", code, code));
++#else
++ code = strm.getByte();
++#endif
++ }
+ }
+
+ do
+ {
+- val = val*10 + code - '0';
+- if( ++digits >= maxdigits ) break;
++ val = val*10 + (code - '0');
++ CV_Assert(val <= INT_MAX && "PXM: ReadNumber(): result is too large");
++ digits++;
++ if (maxdigits != 0 && digits >= maxdigits) break;
+ code = strm.getByte();
+ }
+- while( isdigit(code));
++ while (isdigit(code));
+
+- return val;
++ return (int)val;
+ }
+
+
+@@ -122,13 +130,13 @@ ImageDecoder PxMDecoder::newDecoder() const
+ return makePtr<PxMDecoder>();
+ }
+
+-void PxMDecoder::close()
++void PxMDecoder::close()
+ {
+ m_strm.close();
+ }
+
+
+-bool PxMDecoder::readHeader()
++bool PxMDecoder::readHeader()
+ {
+ bool result = false;
+
+@@ -158,10 +166,10 @@ bool PxMDecoder::readHeader()
+ m_binary = code >= '4';
+ m_type = m_bpp > 8 ? CV_8UC3 : CV_8UC1;
+
+- m_width = ReadNumber( m_strm, INT_MAX );
+- m_height = ReadNumber( m_strm, INT_MAX );
++ m_width = ReadNumber(m_strm);
++ m_height = ReadNumber(m_strm);
+
+- m_maxval = m_bpp == 1 ? 1 : ReadNumber( m_strm, INT_MAX );
++ m_maxval = m_bpp == 1 ? 1 : ReadNumber(m_strm);
+ if( m_maxval > 65535 )
+ throw RBS_BAD_HEADER;
+
+@@ -175,8 +183,14 @@ bool PxMDecoder::readHeader()
+ result = true;
+ }
+ }
+- catch(...)
++ catch (const cv::Exception&)
++ {
++ throw;
++ }
++ catch (...)
+ {
++ std::cerr << "PXM::readHeader(): unknown C++ exception" << std::endl << std::flush;
++ throw;
+ }
+
+ if( !result )
+@@ -189,33 +203,28 @@ bool PxMDecoder::readHeader()
+ }
+
+
+-bool PxMDecoder::readData( Mat& img )
++bool PxMDecoder::readData( Mat& img )
+ {
+ int color = img.channels() > 1;
+ uchar* data = img.ptr();
+ PaletteEntry palette[256];
+ bool result = false;
+- int bit_depth = CV_ELEM_SIZE1(m_type)*8;
+- int src_pitch = (m_width*m_bpp*bit_depth/8 + 7)/8;
++ const int bit_depth = CV_ELEM_SIZE1(m_type)*8;
++ const int src_pitch = divUp(m_width*m_bpp*(bit_depth/8), 8);
+ int nch = CV_MAT_CN(m_type);
+ int width3 = m_width*nch;
+- int i, x, y;
+
+ if( m_offset < 0 || !m_strm.isOpened())
+ return false;
+
+- AutoBuffer<uchar> _src(src_pitch + 32);
+- uchar* src = _src;
+- AutoBuffer<uchar> _gray_palette;
+- uchar* gray_palette = _gray_palette;
++ uchar gray_palette[256] = {0};
+
+ // create LUT for converting colors
+ if( bit_depth == 8 )
+ {
+- _gray_palette.allocate(m_maxval + 1);
+- gray_palette = _gray_palette;
++ CV_Assert(m_maxval < 256);
+
+- for( i = 0; i <= m_maxval; i++ )
++ for (int i = 0; i <= m_maxval; i++)
+ gray_palette[i] = (uchar)((i*255/m_maxval)^(m_bpp == 1 ? 255 : 0));
+
+ FillGrayPalette( palette, m_bpp==1 ? 1 : 8 , m_bpp == 1 );
+@@ -229,12 +238,16 @@ bool PxMDecoder::readData( Mat& img )
+ {
+ ////////////////////////// 1 BPP /////////////////////////
+ case 1:
++ CV_Assert(CV_MAT_DEPTH(m_type) == CV_8U);
+ if( !m_binary )
+ {
+- for( y = 0; y < m_height; y++, data += img.step )
++ AutoBuffer<uchar> _src(m_width);
++ uchar* src = _src;
++
++ for (int y = 0; y < m_height; y++, data += img.step)
+ {
+- for( x = 0; x < m_width; x++ )
+- src[x] = ReadNumber( m_strm, 1 ) != 0;
++ for (int x = 0; x < m_width; x++)
++ src[x] = ReadNumber(m_strm, 1) != 0;
+
+ if( color )
+ FillColorRow8( data, src, m_width, palette );
+@@ -244,7 +257,10 @@ bool PxMDecoder::readData( Mat& img )
+ }
+ else
+ {
+- for( y = 0; y < m_height; y++, data += img.step )
++ AutoBuffer<uchar> _src(src_pitch);
++ uchar* src = _src;
++
++ for (int y = 0; y < m_height; y++, data += img.step)
+ {
+ m_strm.getBytes( src, src_pitch );
+
+@@ -260,13 +276,17 @@ bool PxMDecoder::readData( Mat& img )
+ ////////////////////////// 8 BPP /////////////////////////
+ case 8:
+ case 24:
+- for( y = 0; y < m_height; y++, data += img.step )
++ {
++ AutoBuffer<uchar> _src(std::max<size_t>(width3*2, src_pitch));
++ uchar* src = _src;
++
++ for (int y = 0; y < m_height; y++, data += img.step)
+ {
+ if( !m_binary )
+ {
+- for( x = 0; x < width3; x++ )
++ for (int x = 0; x < width3; x++)
+ {
+- int code = ReadNumber( m_strm, INT_MAX );
++ int code = ReadNumber(m_strm);
+ if( (unsigned)code > (unsigned)m_maxval ) code = m_maxval;
+ if( bit_depth == 8 )
+ src[x] = gray_palette[code];
+@@ -279,7 +299,7 @@ bool PxMDecoder::readData( Mat& img )
+ m_strm.getBytes( src, src_pitch );
+ if( bit_depth == 16 && !isBigEndian() )
+ {
+- for( x = 0; x < width3; x++ )
++ for (int x = 0; x < width3; x++)
+ {
+ uchar v = src[x * 2];
+ src[x * 2] = src[x * 2 + 1];
+@@ -290,7 +310,7 @@ bool PxMDecoder::readData( Mat& img )
+
+ if( img.depth() == CV_8U && bit_depth == 16 )
+ {
+- for( x = 0; x < width3; x++ )
++ for (int x = 0; x < width3; x++)
+ {
+ int v = ((ushort *)src)[x];
+ src[x] = (uchar)(v >> 8);
+@@ -331,12 +351,19 @@ bool PxMDecoder::readData( Mat& img )
+ }
+ result = true;
+ break;
++ }
+ default:
+- assert(0);
++ CV_ErrorNoReturn(Error::StsError, "m_bpp is not supported");
+ }
+ }
+- catch(...)
++ catch (const cv::Exception&)
++ {
++ throw;
++ }
++ catch (...)
+ {
++ std::cerr << "PXM::readData(): unknown exception" << std::endl << std::flush;
++ throw;
+ }
+
+ return result;
+@@ -412,8 +439,9 @@ bool PxMEncoder::write( const Mat& img, const std::vector<int>& params )
+ char* buffer = _buffer;
+
+ // write header;
+- sprintf( buffer, "P%c\n%d %d\n%d\n",
++ sprintf( buffer, "P%c\n# Generated by OpenCV %s\n%d %d\n%d\n",
+ '2' + (channels > 1 ? 1 : 0) + (isBinary ? 3 : 0),
++ CV_VERSION,
+ width, height, (1 << depth) - 1 );
+
+ strm.putBytes( buffer, (int)strlen(buffer) );
+diff --git a/modules/imgcodecs/src/loadsave.cpp b/modules/imgcodecs/src/loadsave.cpp
+index 3b2366217..5ee4ca354 100644
+--- a/modules/imgcodecs/src/loadsave.cpp
++++ b/modules/imgcodecs/src/loadsave.cpp
+@@ -55,6 +55,27 @@
+ /****************************************************************************************\
+ * Image Codecs *
+ \****************************************************************************************/
++
++namespace cv {
++
++// TODO Add runtime configuration
++#define CV_IO_MAX_IMAGE_PARAMS (50)
++#define CV_IO_MAX_IMAGE_WIDTH (1<<20)
++#define CV_IO_MAX_IMAGE_HEIGHT (1<<20)
++#define CV_IO_MAX_IMAGE_PIXELS (1<<30) // 1 Gigapixel
++
++static Size validateInputImageSize(const Size& size)
++{
++ CV_Assert(size.width > 0);
++ CV_Assert(size.width <= CV_IO_MAX_IMAGE_WIDTH);
++ CV_Assert(size.height > 0);
++ CV_Assert(size.height <= CV_IO_MAX_IMAGE_HEIGHT);
++ uint64 pixels = (uint64)size.width * (uint64)size.height;
++ CV_Assert(pixels <= CV_IO_MAX_IMAGE_PIXELS);
++ return size;
++}
++
++
+ namespace {
+
+ class ByteStreamBuffer: public std::streambuf
+@@ -94,9 +115,6 @@ protected:
+
+ }
+
+-namespace cv
+-{
+-
+ /**
+ * @struct ImageCodecInitializer
+ *
+@@ -408,14 +426,26 @@ imread_( const String& filename, int flags, int hdrtype, Mat* mat=0 )
+ /// set the filename in the driver
+ decoder->setSource( filename );
+
+- // read the header to make sure it succeeds
+- if( !decoder->readHeader() )
++ try
++ {
++ // read the header to make sure it succeeds
++ if( !decoder->readHeader() )
++ return 0;
++ }
++ catch (const cv::Exception& e)
++ {
++ std::cerr << "imread_('" << filename << "'): can't read header: " << e.what() << std::endl << std::flush;
+ return 0;
++ }
++ catch (...)
++ {
++ std::cerr << "imread_('" << filename << "'): can't read header: unknown exception" << std::endl << std::flush;
++ return 0;
++ }
++
+
+ // established the required input image size
+- CvSize size;
+- size.width = decoder->width();
+- size.height = decoder->height();
++ Size size = validateInputImageSize(Size(decoder->width(), decoder->height()));
+
+ // grab the decoded type
+ int type = decoder->type();
+@@ -451,7 +481,21 @@ imread_( const String& filename, int flags, int hdrtype, Mat* mat=0 )
+ }
+
+ // read the image data
+- if( !decoder->readData( *data ))
++ bool success = false;
++ try
++ {
++ if (decoder->readData(*data))
++ success = true;
++ }
++ catch (const cv::Exception& e)
++ {
++ std::cerr << "imread_('" << filename << "'): can't read data: " << e.what() << std::endl << std::flush;
++ }
++ catch (...)
++ {
++ std::cerr << "imread_('" << filename << "'): can't read data: unknown exception" << std::endl << std::flush;
++ }
++ if (!success)
+ {
+ cvReleaseImage( &image );
+ cvReleaseMat( &matrix );
+@@ -504,8 +548,22 @@ imreadmulti_(const String& filename, int flags, std::vector<Mat>& mats)
+ decoder->setSource(filename);
+
+ // read the header to make sure it succeeds
+- if (!decoder->readHeader())
++ try
++ {
++ // read the header to make sure it succeeds
++ if( !decoder->readHeader() )
++ return 0;
++ }
++ catch (const cv::Exception& e)
++ {
++ std::cerr << "imreadmulti_('" << filename << "'): can't read header: " << e.what() << std::endl << std::flush;
+ return 0;
++ }
++ catch (...)
++ {
++ std::cerr << "imreadmulti_('" << filename << "'): can't read header: unknown exception" << std::endl << std::flush;
++ return 0;
++ }
+
+ for (;;)
+ {
+@@ -523,17 +581,32 @@ imreadmulti_(const String& filename, int flags, std::vector<Mat>& mats)
+ type = CV_MAKETYPE(CV_MAT_DEPTH(type), 1);
+ }
+
++ // established the required input image size
++ Size size = validateInputImageSize(Size(decoder->width(), decoder->height()));
++
+ // read the image data
+- Mat mat(decoder->height(), decoder->width(), type);
+- if (!decoder->readData(mat))
++ Mat mat(size.height, size.width, type);
++ bool success = false;
++ try
+ {
+- // optionally rotate the data if EXIF' orientation flag says so
+- if( (flags & IMREAD_IGNORE_ORIENTATION) == 0 && flags != IMREAD_UNCHANGED )
+- {
+- ApplyExifOrientation(filename, mat);
+- }
+-
++ if (decoder->readData(mat))
++ success = true;
++ }
++ catch (const cv::Exception& e)
++ {
++ std::cerr << "imreadmulti_('" << filename << "'): can't read data: " << e.what() << std::endl << std::flush;
++ }
++ catch (...)
++ {
++ std::cerr << "imreadmulti_('" << filename << "'): can't read data: unknown exception" << std::endl << std::flush;
++ }
++ if (!success)
+ break;
++
++ // optionally rotate the data if EXIF' orientation flag says so
++ if( (flags & IMREAD_IGNORE_ORIENTATION) == 0 && flags != IMREAD_UNCHANGED )
++ {
++ ApplyExifOrientation(filename, mat);
+ }
+
+ mats.push_back(mat);
+@@ -616,6 +689,7 @@ static bool imwrite_( const String& filename, const Mat& image,
+ }
+
+ encoder->setDestination( filename );
++ CV_Assert(params.size() <= CV_IO_MAX_IMAGE_PARAMS*2);
+ bool code = encoder->write( *pimage, params );
+
+ // CV_Assert( code );
+@@ -663,22 +737,35 @@ imdecode_( const Mat& buf, int flags, int hdrtype, Mat* mat=0 )
+ decoder->setSource(filename);
+ }
+
+- if( !decoder->readHeader() )
++ bool success = false;
++ try
++ {
++ if (decoder->readHeader())
++ success = true;
++ }
++ catch (const cv::Exception& e)
++ {
++ std::cerr << "imdecode_('" << filename << "'): can't read header: " << e.what() << std::endl << std::flush;
++ }
++ catch (...)
++ {
++ std::cerr << "imdecode_('" << filename << "'): can't read header: unknown exception" << std::endl << std::flush;
++ }
++ if (!success)
+ {
+ decoder.release();
+- if ( !filename.empty() )
++ if (!filename.empty())
+ {
+- if ( remove(filename.c_str()) != 0 )
++ if (0 != remove(filename.c_str()))
+ {
+- CV_Error( CV_StsError, "unable to remove temporary file" );
++ std::cerr << "unable to remove temporary file:" << filename << std::endl << std::flush;
+ }
+ }
+ return 0;
+ }
+
+- CvSize size;
+- size.width = decoder->width();
+- size.height = decoder->height();
++ // established the required input image size
++ Size size = validateInputImageSize(Size(decoder->width(), decoder->height()));
+
+ int type = decoder->type();
+ if( (flags & IMREAD_LOAD_GDAL) != IMREAD_LOAD_GDAL && flags != IMREAD_UNCHANGED )
+@@ -712,17 +799,30 @@ imdecode_( const Mat& buf, int flags, int hdrtype, Mat* mat=0 )
+ temp = cvarrToMat(image);
+ }
+
+- bool code = decoder->readData( *data );
++ success = false;
++ try
++ {
++ if (decoder->readData(*data))
++ success = true;
++ }
++ catch (const cv::Exception& e)
++ {
++ std::cerr << "imdecode_('" << filename << "'): can't read data: " << e.what() << std::endl << std::flush;
++ }
++ catch (...)
++ {
++ std::cerr << "imdecode_('" << filename << "'): can't read data: unknown exception" << std::endl << std::flush;
++ }
+ decoder.release();
+- if ( !filename.empty() )
++ if (!filename.empty())
+ {
+- if ( remove(filename.c_str()) != 0 )
++ if (0 != remove(filename.c_str()))
+ {
+- CV_Error( CV_StsError, "unable to remove temporary file" );
++ std::cerr << "unable to remove temporary file:" << filename << std::endl << std::flush;
+ }
+ }
+
+- if( !code )
++ if (!success)
+ {
+ cvReleaseImage( &image );
+ cvReleaseMat( &matrix );
+@@ -859,7 +959,7 @@ cvSaveImage( const char* filename, const CvArr* arr, const int* _params )
+ if( _params )
+ {
+ for( ; _params[i] > 0; i += 2 )
+- ;
++ CV_Assert(i < CV_IO_MAX_IMAGE_PARAMS*2); // Limit number of params for security reasons
+ }
+ return cv::imwrite_(filename, cv::cvarrToMat(arr),
+ i > 0 ? std::vector<int>(_params, _params+i) : std::vector<int>(),
+@@ -890,7 +990,7 @@ cvEncodeImage( const char* ext, const CvArr* arr, const int* _params )
+ if( _params )
+ {
+ for( ; _params[i] > 0; i += 2 )
+- ;
++ CV_Assert(i < CV_IO_MAX_IMAGE_PARAMS*2); // Limit number of params for security reasons
+ }
+ cv::Mat img = cv::cvarrToMat(arr);
+ if( CV_IS_IMAGE(arr) && ((const IplImage*)arr)->origin == IPL_ORIGIN_BL )
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0003-To-fix-errors-as-following.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0003-To-fix-errors-as-following.patch
new file mode 100644
index 000000000..a22b04a90
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0003-To-fix-errors-as-following.patch
@@ -0,0 +1,80 @@
+From ace48a628dca34d742615598afeef42ed323a029 Mon Sep 17 00:00:00 2001
+From: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
+Date: Fri, 19 May 2017 04:27:50 +0900
+Subject: [PATCH 3/3] To fix errors as following:
+
+"test_main.cpp:45: undefined reference to `parseCustomOptions(int, char**)'"
+"perf_abs.cpp:13: undefined reference to `cvtest::param_seed'"
+"test_superres.cpp:270: undefined reference to `checkIppStatus()'"
+
+Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
+
+Also add the visibility changes for certain OpenCL-related functions in
+ts module.
+
+Signed-off-by: Ismo Puustinen <ismo.puustinen@intel.com>
+---
+ modules/ts/include/opencv2/ts.hpp | 6 +++---
+ modules/ts/include/opencv2/ts/ocl_test.hpp | 2 +-
+ modules/ts/include/opencv2/ts/ts_ext.hpp | 2 +-
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/modules/ts/include/opencv2/ts.hpp b/modules/ts/include/opencv2/ts.hpp
+index 41a76b13e..205646140 100644
+--- a/modules/ts/include/opencv2/ts.hpp
++++ b/modules/ts/include/opencv2/ts.hpp
+@@ -555,7 +555,7 @@ protected:
+ }
+ };
+
+-extern uint64 param_seed;
++CV_EXPORTS extern uint64 param_seed;
+
+ struct CV_EXPORTS DefaultRngAuto
+ {
+@@ -611,14 +611,14 @@ CV_EXPORTS std::string findDataFile(const std::string& relative_path, bool requi
+
+ #ifdef HAVE_OPENCL
+ namespace ocl {
+-void dumpOpenCLDevice();
++CV_EXPORTS void dumpOpenCLDevice();
+ }
+ #define TEST_DUMP_OCL_INFO cvtest::ocl::dumpOpenCLDevice();
+ #else
+ #define TEST_DUMP_OCL_INFO
+ #endif
+
+-void parseCustomOptions(int argc, char **argv);
++CV_EXPORTS void parseCustomOptions(int argc, char **argv);
+
+ #define CV_TEST_INIT0_NOOP (void)0
+
+diff --git a/modules/ts/include/opencv2/ts/ocl_test.hpp b/modules/ts/include/opencv2/ts/ocl_test.hpp
+index 54b33ece8..ef56bf9ef 100644
+--- a/modules/ts/include/opencv2/ts/ocl_test.hpp
++++ b/modules/ts/include/opencv2/ts/ocl_test.hpp
+@@ -82,7 +82,7 @@ inline UMat ToUMat(InputArray src)
+ return dst;
+ }
+
+-extern int test_loop_times;
++CV_EXPORTS extern int test_loop_times;
+
+ #define MAX_VALUE 357
+
+diff --git a/modules/ts/include/opencv2/ts/ts_ext.hpp b/modules/ts/include/opencv2/ts/ts_ext.hpp
+index 0bdd346dd..2cd34dfce 100644
+--- a/modules/ts/include/opencv2/ts/ts_ext.hpp
++++ b/modules/ts/include/opencv2/ts/ts_ext.hpp
+@@ -9,7 +9,7 @@
+ #define OPENCV_TS_EXT_HPP
+
+ namespace cvtest {
+-void checkIppStatus();
++CV_EXPORTS void checkIppStatus();
+ }
+
+ #define CV_TEST_INIT \
+--
+2.13.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0003-imgproc-test-add-checks-for-remove-call.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0003-imgproc-test-add-checks-for-remove-call.patch
new file mode 100644
index 000000000..5f4a60c96
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0003-imgproc-test-add-checks-for-remove-call.patch
@@ -0,0 +1,186 @@
+Upstream-Status: Backport [https://github.com/opencv/opencv/pull/9376/commits/78a310630fb0a1f6d089576202343e672f27609d]
+
+Fix CVEs for opencv 3.3.
+
+* CVE-2017-12597
+* CVE-2017-12598
+* CVE-2017-12599
+* CVE-2017-12600
+* CVE-2017-12601
+* CVE-2017-12602
+* CVE-2017-12603
+* CVE-2017-12604
+* CVE-2017-12605
+* CVE-2017-12606
+* CVE-2017-12862
+* CVE-2017-12863
+* CVE-2017-12864
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+From 78a310630fb0a1f6d089576202343e672f27609d Mon Sep 17 00:00:00 2001
+From: Alexander Alekhin <alexander.alekhin@intel.com>
+Date: Wed, 16 Aug 2017 13:53:12 +0300
+Subject: [PATCH 3/3] imgproc(test): add checks for remove() call
+
+---
+ modules/imgcodecs/test/test_grfmt.cpp | 2 +-
+ modules/imgcodecs/test/test_jpeg.cpp | 12 ++++++------
+ modules/imgcodecs/test/test_png.cpp | 2 +-
+ modules/imgcodecs/test/test_read_write.cpp | 4 ++--
+ modules/imgcodecs/test/test_tiff.cpp | 8 ++++----
+ modules/imgcodecs/test/test_webp.cpp | 6 +++---
+ 6 files changed, 17 insertions(+), 17 deletions(-)
+
+diff --git a/modules/imgcodecs/test/test_grfmt.cpp b/modules/imgcodecs/test/test_grfmt.cpp
+index 64a0c1e3a..74b72c3b3 100644
+--- a/modules/imgcodecs/test/test_grfmt.cpp
++++ b/modules/imgcodecs/test/test_grfmt.cpp
+@@ -175,7 +175,7 @@ TEST_P(Imgcodecs_ExtSize, write_imageseq)
+ EXPECT_LT(n, 1.);
+ EXPECT_PRED_FORMAT2(cvtest::MatComparator(0, 0), img, img_gt);
+ }
+- remove(filename.c_str());
++ EXPECT_EQ(0, remove(filename.c_str()));
+ }
+ }
+
+diff --git a/modules/imgcodecs/test/test_jpeg.cpp b/modules/imgcodecs/test/test_jpeg.cpp
+index 5546f2d91..6ddb02840 100644
+--- a/modules/imgcodecs/test/test_jpeg.cpp
++++ b/modules/imgcodecs/test/test_jpeg.cpp
+@@ -123,8 +123,8 @@ TEST(Imgcodecs_Jpeg, encode_decode_progressive_jpeg)
+
+ EXPECT_EQ(0, cvtest::norm(img_jpg_progressive, img_jpg_normal, NORM_INF));
+
+- remove(output_progressive.c_str());
+- remove(output_normal.c_str());
++ EXPECT_EQ(0, remove(output_progressive.c_str()));
++ EXPECT_EQ(0, remove(output_normal.c_str()));
+ }
+
+ TEST(Imgcodecs_Jpeg, encode_decode_optimize_jpeg)
+@@ -148,8 +148,8 @@ TEST(Imgcodecs_Jpeg, encode_decode_optimize_jpeg)
+
+ EXPECT_EQ(0, cvtest::norm(img_jpg_optimized, img_jpg_normal, NORM_INF));
+
+- remove(output_optimized.c_str());
+- remove(output_normal.c_str());
++ EXPECT_EQ(0, remove(output_optimized.c_str()));
++ EXPECT_EQ(0, remove(output_normal.c_str()));
+ }
+
+ TEST(Imgcodecs_Jpeg, encode_decode_rst_jpeg)
+@@ -173,8 +173,8 @@ TEST(Imgcodecs_Jpeg, encode_decode_rst_jpeg)
+
+ EXPECT_EQ(0, cvtest::norm(img_jpg_rst, img_jpg_normal, NORM_INF));
+
+- remove(output_rst.c_str());
+- remove(output_normal.c_str());
++ EXPECT_EQ(0, remove(output_rst.c_str()));
++ EXPECT_EQ(0, remove(output_normal.c_str()));
+ }
+
+ #endif // HAVE_JPEG
+diff --git a/modules/imgcodecs/test/test_png.cpp b/modules/imgcodecs/test/test_png.cpp
+index c46f90119..4e97043e1 100644
+--- a/modules/imgcodecs/test/test_png.cpp
++++ b/modules/imgcodecs/test/test_png.cpp
+@@ -17,7 +17,7 @@ TEST(Imgcodecs_Png, write_big)
+ EXPECT_EQ(13043, img.cols);
+ EXPECT_EQ(13917, img.rows);
+ ASSERT_NO_THROW(imwrite(dst_file, img));
+- remove(dst_file.c_str());
++ EXPECT_EQ(0, remove(dst_file.c_str()));
+ }
+
+ TEST(Imgcodecs_Png, encode)
+diff --git a/modules/imgcodecs/test/test_read_write.cpp b/modules/imgcodecs/test/test_read_write.cpp
+index 38f10225f..5119813bf 100644
+--- a/modules/imgcodecs/test/test_read_write.cpp
++++ b/modules/imgcodecs/test/test_read_write.cpp
+@@ -50,7 +50,7 @@ TEST(Imgcodecs_Image, read_write_bmp)
+ psnr = cvtest::PSNR(buf_loaded, image);
+ EXPECT_GT(psnr, thresDbell);
+
+- remove(dst_name.c_str());
++ EXPECT_EQ(0, remove(dst_name.c_str()));
+ }
+ }
+
+@@ -95,7 +95,7 @@ TEST_P(Imgcodecs_Image, read_write)
+ psnr = cvtest::PSNR(buf_loaded, image);
+ EXPECT_GT(psnr, thresDbell);
+
+- remove(full_name.c_str());
++ EXPECT_EQ(0, remove(full_name.c_str()));
+ }
+
+ const string exts[] = {
+diff --git a/modules/imgcodecs/test/test_tiff.cpp b/modules/imgcodecs/test/test_tiff.cpp
+index 0264da4cd..6ef0c1748 100644
+--- a/modules/imgcodecs/test/test_tiff.cpp
++++ b/modules/imgcodecs/test/test_tiff.cpp
+@@ -41,8 +41,8 @@ TEST(Imgcodecs_Tiff, decode_tile16384x16384)
+ // not enough memory
+ }
+
+- remove(file3.c_str());
+- remove(file4.c_str());
++ EXPECT_EQ(0, remove(file3.c_str()));
++ EXPECT_EQ(0, remove(file4.c_str()));
+ }
+
+ TEST(Imgcodecs_Tiff, write_read_16bit_big_little_endian)
+@@ -88,7 +88,7 @@ TEST(Imgcodecs_Tiff, write_read_16bit_big_little_endian)
+ EXPECT_EQ(0xDEAD, img.at<ushort>(0,0));
+ EXPECT_EQ(0xBEEF, img.at<ushort>(0,1));
+
+- remove(filename.c_str());
++ EXPECT_EQ(0, remove(filename.c_str()));
+ }
+ }
+
+@@ -143,7 +143,7 @@ TEST(Imgcodecs_Tiff, decode_infinite_rowsperstrip)
+
+ EXPECT_NO_THROW(cv::imread(filename, IMREAD_UNCHANGED));
+
+- remove(filename.c_str());
++ EXPECT_EQ(0, remove(filename.c_str()));
+ }
+
+ //==================================================================================================
+diff --git a/modules/imgcodecs/test/test_webp.cpp b/modules/imgcodecs/test/test_webp.cpp
+index 6d40ce21e..d82fdd289 100644
+--- a/modules/imgcodecs/test/test_webp.cpp
++++ b/modules/imgcodecs/test/test_webp.cpp
+@@ -44,7 +44,7 @@ TEST(Imgcodecs_WebP, encode_decode_lossless_webp)
+ }
+ }
+
+- remove(output.c_str());
++ EXPECT_EQ(0, remove(output.c_str()));
+
+ cv::Mat decode = cv::imdecode(buf, IMREAD_COLOR);
+ ASSERT_FALSE(decode.empty());
+@@ -71,7 +71,7 @@ TEST(Imgcodecs_WebP, encode_decode_lossy_webp)
+
+ EXPECT_NO_THROW(cv::imwrite(output, img, params));
+ cv::Mat img_webp = cv::imread(output);
+- remove(output.c_str());
++ EXPECT_EQ(0, remove(output.c_str()));
+ EXPECT_FALSE(img_webp.empty());
+ EXPECT_EQ(3, img_webp.channels());
+ EXPECT_EQ(512, img_webp.cols);
+@@ -96,7 +96,7 @@ TEST(Imgcodecs_WebP, encode_decode_with_alpha_webp)
+
+ EXPECT_NO_THROW(cv::imwrite(output, img));
+ cv::Mat img_webp = cv::imread(output);
+- remove(output.c_str());
++ EXPECT_EQ(0, remove(output.c_str()));
+ EXPECT_FALSE(img_webp.empty());
+ EXPECT_EQ(4, img_webp.channels());
+ EXPECT_EQ(512, img_webp.cols);
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/CVE-2017-14136.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/CVE-2017-14136.patch
new file mode 100644
index 000000000..7ad50a2d2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/CVE-2017-14136.patch
@@ -0,0 +1,288 @@
+Upstream-Status: Backport [https://github.com/opencv/opencv/pull/9448/commits/aacae20]
+
+Backport patch to fix CVE-2017-14136.
+
+Ref: https://github.com/opencv/opencv/issues/9443
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+From aacae2065744adb05e858d327198c7bbe7f452b0 Mon Sep 17 00:00:00 2001
+From: Alexander Alekhin <alexander.alekhin@intel.com>
+Date: Wed, 23 Aug 2017 15:15:27 +0300
+Subject: [PATCH] imgcodesc: fix code problems with integer overflow / address
+ arithmetic / UB
+
+---
+ modules/imgcodecs/src/grfmt_bmp.cpp | 8 ++---
+ modules/imgcodecs/src/grfmt_exr.cpp | 10 +++----
+ modules/imgcodecs/src/grfmt_jpeg.cpp | 2 +-
+ modules/imgcodecs/src/grfmt_jpeg2000.cpp | 6 ++--
+ modules/imgcodecs/src/grfmt_pam.cpp | 2 +-
+ modules/imgcodecs/src/grfmt_sunras.cpp | 6 ++--
+ modules/imgcodecs/src/utils.cpp | 51 +++++++++++++++++++-------------
+ modules/imgcodecs/src/utils.hpp | 2 ++
+ 8 files changed, 50 insertions(+), 37 deletions(-)
+
+diff --git a/modules/imgcodecs/src/grfmt_bmp.cpp b/modules/imgcodecs/src/grfmt_bmp.cpp
+index 257f97c2d8b..69768e276a3 100644
+--- a/modules/imgcodecs/src/grfmt_bmp.cpp
++++ b/modules/imgcodecs/src/grfmt_bmp.cpp
+@@ -193,7 +193,7 @@ bool BmpDecoder::readHeader()
+ bool BmpDecoder::readData( Mat& img )
+ {
+ uchar* data = img.ptr();
+- int step = (int)img.step;
++ int step = validateToInt(img.step);
+ bool color = img.channels() > 1;
+ uchar gray_palette[256] = {0};
+ bool result = false;
+@@ -206,7 +206,7 @@ bool BmpDecoder::readData( Mat& img )
+
+ if( m_origin == IPL_ORIGIN_BL )
+ {
+- data += (m_height - 1)*step;
++ data += (m_height - 1)*(size_t)step;
+ step = -step;
+ }
+
+@@ -530,7 +530,7 @@ bool BmpEncoder::write( const Mat& img, const std::vector<int>& )
+ int bitmapHeaderSize = 40;
+ int paletteSize = channels > 1 ? 0 : 1024;
+ int headerSize = 14 /* fileheader */ + bitmapHeaderSize + paletteSize;
+- int fileSize = fileStep*height + headerSize;
++ size_t fileSize = (size_t)fileStep*height + headerSize;
+ PaletteEntry palette[256];
+
+ if( m_buf )
+@@ -540,7 +540,7 @@ bool BmpEncoder::write( const Mat& img, const std::vector<int>& )
+ strm.putBytes( fmtSignBmp, (int)strlen(fmtSignBmp) );
+
+ // write file header
+- strm.putDWord( fileSize ); // file size
++ strm.putDWord( validateToInt(fileSize) ); // file size
+ strm.putDWord( 0 );
+ strm.putDWord( headerSize );
+
+diff --git a/modules/imgcodecs/src/grfmt_exr.cpp b/modules/imgcodecs/src/grfmt_exr.cpp
+index 0d2ae9fa7d2..78ffe6c7668 100644
+--- a/modules/imgcodecs/src/grfmt_exr.cpp
++++ b/modules/imgcodecs/src/grfmt_exr.cpp
+@@ -195,7 +195,7 @@ bool ExrDecoder::readData( Mat& img )
+ bool color = img.channels() > 1;
+
+ uchar* data = img.ptr();
+- int step = img.step;
++ size_t step = img.step;
+ bool justcopy = m_native_depth;
+ bool chromatorgb = false;
+ bool rgbtogray = false;
+@@ -203,8 +203,8 @@ bool ExrDecoder::readData( Mat& img )
+ FrameBuffer frame;
+ int xsample[3] = {1, 1, 1};
+ char *buffer;
+- int xstep;
+- int ystep;
++ size_t xstep = 0;
++ size_t ystep = 0;
+
+ xstep = m_native_depth ? 4 : 1;
+
+@@ -593,7 +593,7 @@ bool ExrEncoder::write( const Mat& img, const std::vector<int>& )
+ bool issigned = depth == CV_8S || depth == CV_16S || depth == CV_32S;
+ bool isfloat = depth == CV_32F || depth == CV_64F;
+ depth = CV_ELEM_SIZE1(depth)*8;
+- const int step = img.step;
++ const size_t step = img.step;
+
+ Header header( width, height );
+ Imf::PixelType type;
+@@ -623,7 +623,7 @@ bool ExrEncoder::write( const Mat& img, const std::vector<int>& )
+ FrameBuffer frame;
+
+ char *buffer;
+- int bufferstep;
++ size_t bufferstep;
+ int size;
+ if( type == FLOAT && depth == 32 )
+ {
+diff --git a/modules/imgcodecs/src/grfmt_jpeg.cpp b/modules/imgcodecs/src/grfmt_jpeg.cpp
+index ce942ca1995..caf768d2569 100644
+--- a/modules/imgcodecs/src/grfmt_jpeg.cpp
++++ b/modules/imgcodecs/src/grfmt_jpeg.cpp
+@@ -396,7 +396,7 @@ int my_jpeg_load_dht (struct jpeg_decompress_struct *info, unsigned char *dht,
+ bool JpegDecoder::readData( Mat& img )
+ {
+ volatile bool result = false;
+- int step = (int)img.step;
++ size_t step = img.step;
+ bool color = img.channels() > 1;
+
+ if( m_state && m_width && m_height )
+diff --git a/modules/imgcodecs/src/grfmt_jpeg2000.cpp b/modules/imgcodecs/src/grfmt_jpeg2000.cpp
+index 950ec21375f..24dfb38bb9d 100644
+--- a/modules/imgcodecs/src/grfmt_jpeg2000.cpp
++++ b/modules/imgcodecs/src/grfmt_jpeg2000.cpp
+@@ -156,7 +156,7 @@ bool Jpeg2KDecoder::readData( Mat& img )
+ bool result = false;
+ int color = img.channels() > 1;
+ uchar* data = img.ptr();
+- int step = (int)img.step;
++ size_t step = img.step;
+ jas_stream_t* stream = (jas_stream_t*)m_stream;
+ jas_image_t* image = (jas_image_t*)m_image;
+
+@@ -252,9 +252,9 @@ bool Jpeg2KDecoder::readData( Mat& img )
+ if( !jas_image_readcmpt( image, cmptlut[i], 0, 0, xend / xstep, yend / ystep, buffer ))
+ {
+ if( img.depth() == CV_8U )
+- result = readComponent8u( data + i, buffer, step, cmptlut[i], maxval, offset, ncmpts );
++ result = readComponent8u( data + i, buffer, validateToInt(step), cmptlut[i], maxval, offset, ncmpts );
+ else
+- result = readComponent16u( ((unsigned short *)data) + i, buffer, step / 2, cmptlut[i], maxval, offset, ncmpts );
++ result = readComponent16u( ((unsigned short *)data) + i, buffer, validateToInt(step / 2), cmptlut[i], maxval, offset, ncmpts );
+ if( !result )
+ {
+ i = ncmpts;
+diff --git a/modules/imgcodecs/src/grfmt_pam.cpp b/modules/imgcodecs/src/grfmt_pam.cpp
+index 11195dc342c..8eb9e012309 100644
+--- a/modules/imgcodecs/src/grfmt_pam.cpp
++++ b/modules/imgcodecs/src/grfmt_pam.cpp
+@@ -479,7 +479,7 @@ bool PAMDecoder::readData( Mat& img )
+ {
+ uchar* data = img.ptr();
+ int target_channels = img.channels();
+- int imp_stride = (int)img.step;
++ size_t imp_stride = img.step;
+ int sample_depth = CV_ELEM_SIZE1(m_type);
+ int src_elems_per_row = m_width*m_channels;
+ int src_stride = src_elems_per_row*sample_depth;
+diff --git a/modules/imgcodecs/src/grfmt_sunras.cpp b/modules/imgcodecs/src/grfmt_sunras.cpp
+index aca9b369318..6d448f94ed3 100644
+--- a/modules/imgcodecs/src/grfmt_sunras.cpp
++++ b/modules/imgcodecs/src/grfmt_sunras.cpp
+@@ -160,7 +160,7 @@ bool SunRasterDecoder::readData( Mat& img )
+ {
+ int color = img.channels() > 1;
+ uchar* data = img.ptr();
+- int step = (int)img.step;
++ size_t step = img.step;
+ uchar gray_palette[256] = {0};
+ bool result = false;
+ int src_pitch = ((m_width*m_bpp + 7)/8 + 1) & -2;
+@@ -308,11 +308,11 @@ bool SunRasterDecoder::readData( Mat& img )
+ code = m_strm.getByte();
+
+ if( color )
+- data = FillUniColor( data, line_end, step, width3,
++ data = FillUniColor( data, line_end, validateToInt(step), width3,
+ y, m_height, len,
+ m_palette[code] );
+ else
+- data = FillUniGray( data, line_end, step, width3,
++ data = FillUniGray( data, line_end, validateToInt(step), width3,
+ y, m_height, len,
+ gray_palette[code] );
+ if( y >= m_height )
+diff --git a/modules/imgcodecs/src/utils.cpp b/modules/imgcodecs/src/utils.cpp
+index 2ee5bafc712..474dae008ca 100644
+--- a/modules/imgcodecs/src/utils.cpp
++++ b/modules/imgcodecs/src/utils.cpp
+@@ -42,6 +42,13 @@
+ #include "precomp.hpp"
+ #include "utils.hpp"
+
++int validateToInt(size_t sz)
++{
++ int valueInt = (int)sz;
++ CV_Assert((size_t)valueInt == sz);
++ return valueInt;
++}
++
+ #define SCALE 14
+ #define cR (int)(0.299*(1 << SCALE) + 0.5)
+ #define cG (int)(0.587*(1 << SCALE) + 0.5)
+@@ -537,23 +544,25 @@ uchar* FillColorRow1( uchar* data, uchar* indices, int len, PaletteEntry* palett
+ {
+ uchar* end = data + len*3;
+
++ const PaletteEntry p0 = palette[0], p1 = palette[1];
++
+ while( (data += 24) < end )
+ {
+ int idx = *indices++;
+- *((PaletteEntry*)(data - 24)) = palette[(idx & 128) != 0];
+- *((PaletteEntry*)(data - 21)) = palette[(idx & 64) != 0];
+- *((PaletteEntry*)(data - 18)) = palette[(idx & 32) != 0];
+- *((PaletteEntry*)(data - 15)) = palette[(idx & 16) != 0];
+- *((PaletteEntry*)(data - 12)) = palette[(idx & 8) != 0];
+- *((PaletteEntry*)(data - 9)) = palette[(idx & 4) != 0];
+- *((PaletteEntry*)(data - 6)) = palette[(idx & 2) != 0];
+- *((PaletteEntry*)(data - 3)) = palette[(idx & 1) != 0];
++ *((PaletteEntry*)(data - 24)) = (idx & 128) ? p1 : p0;
++ *((PaletteEntry*)(data - 21)) = (idx & 64) ? p1 : p0;
++ *((PaletteEntry*)(data - 18)) = (idx & 32) ? p1 : p0;
++ *((PaletteEntry*)(data - 15)) = (idx & 16) ? p1 : p0;
++ *((PaletteEntry*)(data - 12)) = (idx & 8) ? p1 : p0;
++ *((PaletteEntry*)(data - 9)) = (idx & 4) ? p1 : p0;
++ *((PaletteEntry*)(data - 6)) = (idx & 2) ? p1 : p0;
++ *((PaletteEntry*)(data - 3)) = (idx & 1) ? p1 : p0;
+ }
+
+- int idx = indices[0] << 24;
++ int idx = indices[0];
+ for( data -= 24; data < end; data += 3, idx += idx )
+ {
+- PaletteEntry clr = palette[idx < 0];
++ const PaletteEntry clr = (idx & 128) ? p1 : p0;
+ WRITE_PIX( data, clr );
+ }
+
+@@ -565,23 +574,25 @@ uchar* FillGrayRow1( uchar* data, uchar* indices, int len, uchar* palette )
+ {
+ uchar* end = data + len;
+
++ const uchar p0 = palette[0], p1 = palette[1];
++
+ while( (data += 8) < end )
+ {
+ int idx = *indices++;
+- *((uchar*)(data - 8)) = palette[(idx & 128) != 0];
+- *((uchar*)(data - 7)) = palette[(idx & 64) != 0];
+- *((uchar*)(data - 6)) = palette[(idx & 32) != 0];
+- *((uchar*)(data - 5)) = palette[(idx & 16) != 0];
+- *((uchar*)(data - 4)) = palette[(idx & 8) != 0];
+- *((uchar*)(data - 3)) = palette[(idx & 4) != 0];
+- *((uchar*)(data - 2)) = palette[(idx & 2) != 0];
+- *((uchar*)(data - 1)) = palette[(idx & 1) != 0];
++ *((uchar*)(data - 8)) = (idx & 128) ? p1 : p0;
++ *((uchar*)(data - 7)) = (idx & 64) ? p1 : p0;
++ *((uchar*)(data - 6)) = (idx & 32) ? p1 : p0;
++ *((uchar*)(data - 5)) = (idx & 16) ? p1 : p0;
++ *((uchar*)(data - 4)) = (idx & 8) ? p1 : p0;
++ *((uchar*)(data - 3)) = (idx & 4) ? p1 : p0;
++ *((uchar*)(data - 2)) = (idx & 2) ? p1 : p0;
++ *((uchar*)(data - 1)) = (idx & 1) ? p1 : p0;
+ }
+
+- int idx = indices[0] << 24;
++ int idx = indices[0];
+ for( data -= 8; data < end; data++, idx += idx )
+ {
+- data[0] = palette[idx < 0];
++ data[0] = (idx & 128) ? p1 : p0;
+ }
+
+ return data;
+diff --git a/modules/imgcodecs/src/utils.hpp b/modules/imgcodecs/src/utils.hpp
+index cab10609db2..7af4c6174ee 100644
+--- a/modules/imgcodecs/src/utils.hpp
++++ b/modules/imgcodecs/src/utils.hpp
+@@ -42,6 +42,8 @@
+ #ifndef _UTILS_H_
+ #define _UTILS_H_
+
++int validateToInt(size_t step);
++
+ struct PaletteEntry
+ {
+ unsigned char b, g, r, a;
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/uselocalxfeatures.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/uselocalxfeatures.patch
index a2db48d7c..fc273a891 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/uselocalxfeatures.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/uselocalxfeatures.patch
@@ -1,12 +1,20 @@
diff --git a/modules/xfeatures2d/CMakeLists.txt b/modules/xfeatures2d/CMakeLists.txt
-index f295bddaed66..6086e75ec37b 100644
+index e1755595..c7009c47 100644
--- a/modules/xfeatures2d/CMakeLists.txt
+++ b/modules/xfeatures2d/CMakeLists.txt
-@@ -1,5 +1,5 @@
- set(the_description "Contributed/Experimental Algorithms for Salient 2D Features Detection")
- ocv_define_module(xfeatures2d opencv_core opencv_imgproc opencv_features2d opencv_calib3d opencv_shape opencv_highgui opencv_videoio opencv_ml
- OPTIONAL opencv_cudaarithm WRAP python java)
--include(cmake/download_vgg.cmake)
--include(cmake/download_boostdesc.cmake)
-+#include(cmake/download_vgg.cmake)
-+#include(cmake/download_boostdesc.cmake)
+@@ -5,10 +5,10 @@ ocv_define_module(xfeatures2d opencv_core opencv_imgproc opencv_features2d openc
+ include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/download_vgg.cmake)
+ include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/download_boostdesc.cmake)
+ set(DOWNLOAD_DIR "${OpenCV_BINARY_DIR}/downloads/xfeatures2d")
+-download_boost_descriptors("${DOWNLOAD_DIR}" boost_status)
+-download_vgg_descriptors("${DOWNLOAD_DIR}" vgg_status)
+-if(NOT boost_status OR NOT vgg_status)
+- ocv_module_disable(xfeatures2d)
+-endif()
++#download_boost_descriptors("${DOWNLOAD_DIR}" boost_status)
++#download_vgg_descriptors("${DOWNLOAD_DIR}" vgg_status)
++#if(NOT boost_status OR NOT vgg_status)
++# ocv_module_disable(xfeatures2d)
++#endif()
+
+ ocv_module_include_directories("${DOWNLOAD_DIR}")
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/useoeprotobuf.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/useoeprotobuf.patch
deleted file mode 100644
index 3068bd44d..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/useoeprotobuf.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/modules/dnn/cmake/OpenCVFindLibProtobuf.cmake b/modules/dnn/cmake/OpenCVFindLibProtobuf.cmake
-index eb2a729cc2eb..8717736484de 100644
---- a/modules/dnn/cmake/OpenCVFindLibProtobuf.cmake
-+++ b/modules/dnn/cmake/OpenCVFindLibProtobuf.cmake
-@@ -24,7 +24,7 @@ if(NOT BUILD_PROTOBUF AND NOT (DEFINED PROTOBUF_INCLUDE_DIR AND DEFINED PROTOBUF
- find_package(Protobuf QUIET)
- endif()
-
--if(PROTOBUF_FOUND)
-+if(PROTOBUF_FOUND OR (DEFINED PROTOBUF_INCLUDE_DIR AND DEFINED PROTOBUF_LIBRARIES))
- # nothing
- else()
- include(${CMAKE_CURRENT_LIST_DIR}/download_protobuf.cmake)
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
deleted file mode 100644
index d17c640ac..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv_2.4.bb
+++ /dev/null
@@ -1,106 +0,0 @@
-SUMMARY = "Opencv : The Open Computer Vision Library"
-HOMEPAGE = "http://opencv.org/"
-SECTION = "libs"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://include/opencv2/opencv.hpp;endline=41;md5=6d690d8488a6fca7a2c192932466bb14"
-
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-
-DEPENDS = "python-numpy libtool swig swig-native python bzip2 zlib glib-2.0"
-
-SRCREV = "2c9547e3147779001811d01936aed38f560929fc"
-SRC_URI = "git://github.com/Itseez/opencv.git;branch=2.4 \
- file://0001-Use-__vector-instead-of-vector-as-suggests-Eigen.patch"
-
-PV = "2.4.11+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-# Do an out-of-tree build
-OECMAKE_SOURCEPATH = "${S}"
-OECMAKE_BUILDPATH = "${WORKDIR}/build-${TARGET_ARCH}"
-
-EXTRA_OECMAKE = "-DPYTHON_NUMPY_INCLUDE_DIR:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include \
- -DBUILD_PYTHON_SUPPORT=ON \
- -DWITH_GSTREAMER=OFF \
- -DWITH_1394=OFF \
- -DCMAKE_SKIP_RPATH=ON \
- ${@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)} \
-"
-
-PACKAGECONFIG ??= "eigen jpeg png tiff v4l libv4l \
- ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)} \
- ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libav", "", d)}"
-
-PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen,"
-PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+,"
-PACKAGECONFIG[jasper] = "-DWITH_JASPER=ON,-DWITH_JASPER=OFF,jasper,"
-PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg,"
-PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav,"
-PACKAGECONFIG[libv4l] = "-DWITH_LIBV4L=ON,-DWITH_LIBV4L=OFF,v4l-utils,"
-PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,"
-PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff,"
-PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils,"
-
-inherit distutils-base pkgconfig cmake
-
-export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}"
-export PYTHON="${STAGING_BINDIR_NATIVE}/python"
-
-TARGET_CC_ARCH += "-I${S}/include "
-
-PACKAGES += "${PN}-apps python-opencv"
-
-python populate_packages_prepend () {
- cv_libdir = d.expand('${libdir}')
- cv_libdir_dbg = d.expand('${libdir}/.debug')
- do_split_packages(d, cv_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True)
- do_split_packages(d, cv_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
- do_split_packages(d, cv_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
- do_split_packages(d, cv_libdir, '^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True)
-
- pn = d.getVar('PN')
- metapkg = pn + '-dev'
- d.setVar('ALLOW_EMPTY_' + metapkg, "1")
- blacklist = [ metapkg ]
- metapkg_rdepends = [ ]
- packages = d.getVar('PACKAGES').split()
- for pkg in packages[1:]:
- if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'):
- metapkg_rdepends.append(pkg)
- d.setVar('RRECOMMENDS_' + metapkg, ' '.join(metapkg_rdepends))
-}
-
-PACKAGES_DYNAMIC += "^libopencv-.*"
-
-FILES_${PN} = ""
-FILES_${PN}-apps = "${bindir}/* ${datadir}/OpenCV"
-FILES_${PN}-dbg += "${libdir}/.debug"
-FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig"
-FILES_${PN}-doc = "${datadir}/OpenCV/doc"
-
-ALLOW_EMPTY_${PN} = "1"
-
-SUMMARY_python-opencv = "Python bindings to opencv"
-FILES_python-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
-RDEPENDS_python-opencv = "python-core python-numpy"
-
-do_install_append() {
- cp ${S}/include/opencv/*.h ${D}${includedir}/opencv/
- sed -i '/blobtrack/d' ${D}${includedir}/opencv/cvaux.h
-
- # Move Python files into correct library folder (for multilib build)
- if [ "$libdir" != "/usr/lib" ]; then
- mv ${D}/usr/lib/* ${D}/${libdir}/
- rm -rf ${D}/usr/lib
- fi
-}
-
-# http://errors.yoctoproject.org/Errors/Details/40660/
-PNBLACKLIST[opencv] ?= "Not compatible with currently used ffmpeg 3 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.2.bb
deleted file mode 100644
index 535c761fa..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.2.bb
+++ /dev/null
@@ -1,175 +0,0 @@
-SUMMARY = "Opencv : The Open Computer Vision Library"
-HOMEPAGE = "http://opencv.org/"
-SECTION = "libs"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=2b2f8752cc5edf504d283107d033f544"
-
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-
-DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp"
-
-SRCREV_opencv = "70bbf17b133496bd7d54d034b0f94bd869e0e810"
-SRCREV_contrib = "86342522b0eb2b16fa851c020cc4e0fef4e010b7"
-SRCREV_ipp = "81a676001ca8075ada498583e4166079e5744668"
-SRCREV_bootdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26"
-SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d"
-IPP_MD5 = "808b791a6eac9ed78d32a7666804320e"
-
-SRCREV_FORMAT = "opencv"
-SRC_URI = "git://github.com/opencv/opencv.git;name=opencv \
- git://github.com/opencv/opencv_contrib.git;destsuffix=contrib;name=contrib \
- git://github.com/opencv/opencv_3rdparty.git;branch=ippicv/master_20151201;destsuffix=ipp;name=ipp \
- git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=bootdesc;name=bootdesc \
- git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=vgg;name=vgg \
- file://0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch \
- file://fixpkgconfig.patch \
- file://uselocalxfeatures.patch;patchdir=../contrib/ \
- file://useoeprotobuf.patch;patchdir=../contrib/ \
- file://0001-Revert-cuda-fix-fp16-compilation.patch \
- file://0002-Revert-check-FP16-build-condition-correctly.patch \
- file://0001-Make-opencv-ts-create-share-library-intead-of-static.patch \
- file://0001-To-fix-errors-as-following.patch \
- file://0001-tracking-make-opencv_dnn-dependancy-optional.patch;patchdir=../contrib/ \
-"
-
-PV = "3.2+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-do_unpack_extra() {
- tar xzf ${WORKDIR}/ipp/ippicv/ippicv_linux_20151201.tgz -C ${WORKDIR}
- cp ${WORKDIR}/vgg/*.i ${WORKDIR}/contrib/modules/xfeatures2d/src
- cp ${WORKDIR}/bootdesc/*.i ${WORKDIR}/contrib/modules/xfeatures2d/src
-}
-addtask unpack_extra after do_unpack before do_patch
-
-EXTRA_OECMAKE = "-DOPENCV_EXTRA_MODULES_PATH=${WORKDIR}/contrib/modules \
- -DWITH_1394=OFF \
- -DCMAKE_SKIP_RPATH=ON \
- -DOPENCV_ICV_PACKAGE_DOWNLOADED=${IPP_MD5} \
- -DOPENCV_ICV_PATH=${WORKDIR}/ippicv_lnx \
- ${@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 ??= "python3 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[dnn] = "-DBUILD_opencv_dnn=ON -DUPDATE_PROTO_FILES=ON -DBUILD_PROTOBUF=OFF,-DBUILD_opencv_dnn=OFF,protobuf protobuf-native,"
-PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen gflags glog,"
-PACKAGECONFIG[freetype] = "-DBUILD_opencv_freetype=ON,-DBUILD_opencv_freetype=OFF,freetype,"
-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,"
-PACKAGECONFIG[java] = "-DJAVA_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native fastjar-native openjdk-8-native,"
-PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg,"
-PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav,"
-PACKAGECONFIG[libv4l] = "-DWITH_LIBV4L=ON,-DWITH_LIBV4L=OFF,v4l-utils,"
-PACKAGECONFIG[opencl] = "-DWITH_OPENCL=ON,-DWITH_OPENCL=OFF,opencl-headers virtual/opencl-icd,"
-PACKAGECONFIG[oracle-java] = "-DJAVA_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${ORACLE_JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native oracle-jse-jdk oracle-jse-jdk-native,"
-PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,"
-PACKAGECONFIG[python2] = "-DPYTHON2_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python-numpy,"
-PACKAGECONFIG[python3] = "-DPYTHON3_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python3-numpy,"
-PACKAGECONFIG[samples] = "-DBUILD_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON,-DBUILD_EXAMPLES=OFF,,"
-PACKAGECONFIG[tbb] = "-DWITH_TBB=ON,-DWITH_TBB=OFF,tbb,"
-PACKAGECONFIG[text] = "-DBUILD_opencv_text=ON,-DBUILD_opencv_text=OFF,tesseract,"
-PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff,"
-PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils,"
-
-inherit pkgconfig cmake
-
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'distutils3-base', '', d)}
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'distutils-base', '', d)}
-
-export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}"
-export PYTHON="${STAGING_BINDIR_NATIVE}/${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3', 'python', d)}"
-export ORACLE_JAVA_HOME="${STAGING_DIR_NATIVE}/usr/bin/java"
-export JAVA_HOME="${STAGING_DIR_NATIVE}/usr/lib/jvm/openjdk-8-native"
-export ANT_DIR="${STAGING_DIR_NATIVE}/usr/share/ant/"
-
-TARGET_CC_ARCH += "-I${S}/include "
-
-PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'samples', '${PN}-samples', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'oracle-java', '${PN}-java', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'java', '${PN}-java', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'python-${BPN}', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-${BPN}', '', d)} \
- ${PN}-apps"
-
-python populate_packages_prepend () {
- cv_libdir = d.expand('${libdir}')
- do_split_packages(d, cv_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True)
- do_split_packages(d, cv_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
- do_split_packages(d, cv_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
- do_split_packages(d, cv_libdir, '^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True)
-
- pn = d.getVar('PN')
- metapkg = pn + '-dev'
- d.setVar('ALLOW_EMPTY_' + metapkg, "1")
- blacklist = [ metapkg ]
- metapkg_rdepends = [ ]
- packages = d.getVar('PACKAGES').split()
- for pkg in packages[1:]:
- if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'):
- metapkg_rdepends.append(pkg)
- d.setVar('RRECOMMENDS_' + metapkg, ' '.join(metapkg_rdepends))
-
- metapkg = pn
- d.setVar('ALLOW_EMPTY_' + metapkg, "1")
- blacklist = [ metapkg ]
- metapkg_rdepends = [ ]
- for pkg in packages[1:]:
- if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.endswith('-dev') and not pkg.endswith('-dbg') and not pkg.endswith('-doc') and not pkg.endswith('-locale') and not pkg.endswith('-staticdev'):
- metapkg_rdepends.append(pkg)
- d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends))
-
-}
-
-PACKAGES_DYNAMIC += "^libopencv-.*"
-
-FILES_${PN} = ""
-FILES_${PN}-dbg += "${datadir}/OpenCV/java/.debug/* ${datadir}/OpenCV/samples/bin/.debug/*"
-FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig ${datadir}/OpenCV/*.cmake"
-FILES_${PN}-staticdev += "${datadir}/OpenCV/3rdparty/lib/*.a"
-FILES_${PN}-apps = "${bindir}/* ${datadir}/OpenCV"
-FILES_${PN}-java = "${datadir}/OpenCV/java"
-FILES_${PN}-samples = "${datadir}/OpenCV/samples/"
-
-INSANE_SKIP_${PN}-java = "libdir"
-INSANE_SKIP_${PN}-dbg = "libdir"
-
-ALLOW_EMPTY_${PN} = "1"
-
-SUMMARY_python-opencv = "Python bindings to opencv"
-FILES_python-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
-RDEPENDS_python-opencv = "python-core python-numpy"
-
-SUMMARY_python3-opencv = "Python bindings to opencv"
-FILES_python3-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
-RDEPENDS_python3-opencv = "python3-core python3-numpy"
-
-do_install_append() {
- cp ${S}/include/opencv/*.h ${D}${includedir}/opencv/
- sed -i '/blobtrack/d' ${D}${includedir}/opencv/cvaux.h
-
- # Move Python files into correct library folder (for multilib build)
- if [ "$libdir" != "/usr/lib" -a -d ${D}/usr/lib ]; then
- mv ${D}/usr/lib/* ${D}/${libdir}/
- rm -rf ${D}/usr/lib
- fi
-
- 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/opencv/opencv_3.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.3.bb
new file mode 100644
index 000000000..dd9e4ca44
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.3.bb
@@ -0,0 +1,194 @@
+SUMMARY = "Opencv : The Open Computer Vision Library"
+HOMEPAGE = "http://opencv.org/"
+SECTION = "libs"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2b2f8752cc5edf504d283107d033f544"
+
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+
+DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp"
+
+SRCREV_opencv = "87c27a074db9f6d9d60513f351daa903606ca370"
+SRCREV_contrib = "2a9d1b22ed76eb22fad1a5edf6faf4d05f207b13"
+SRCREV_ipp = "a62e20676a60ee0ad6581e217fe7e4bada3b95db"
+SRCREV_boostdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26"
+SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d"
+
+def ipp_filename(d):
+ import re
+ arch = d.getVar('TARGET_ARCH', True)
+ if re.match("i.86$", arch):
+ return "ippicv_2017u2_lnx_ia32_20170418.tgz"
+ else:
+ return "ippicv_2017u2_lnx_intel64_20170418.tgz"
+
+def ipp_md5sum(d):
+ import re
+ arch = d.getVar('TARGET_ARCH', True)
+ if re.match("i.86$", arch):
+ return "f2cece00d802d4dea86df52ed095257e"
+ else:
+ return "808b791a6eac9ed78d32a7666804320e"
+
+IPP_FILENAME = "${@ipp_filename(d)}"
+IPP_MD5 = "${@ipp_md5sum(d)}"
+
+SRCREV_FORMAT = "opencv_contrib_ipp_boostdesc_vgg"
+SRC_URI = "git://github.com/opencv/opencv.git;name=opencv \
+ git://github.com/opencv/opencv_contrib.git;destsuffix=contrib;name=contrib \
+ git://github.com/opencv/opencv_3rdparty.git;branch=ippicv/master_20170418;destsuffix=ipp;name=ipp \
+ git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=boostdesc;name=boostdesc \
+ git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=vgg;name=vgg \
+ file://0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch \
+ file://fixpkgconfig.patch \
+ file://uselocalxfeatures.patch;patchdir=../contrib/ \
+ file://0002-Make-opencv-ts-create-share-library-intead-of-static.patch \
+ file://0003-To-fix-errors-as-following.patch \
+ file://0001-build-workaround-GCC-7.1.1-compilation-issue-with-sa.patch \
+ file://0002-imgcodecs-refactoring-improve-code-quality.patch \
+ file://0003-imgproc-test-add-checks-for-remove-call.patch \
+ file://0001-Dont-use-isystem.patch \
+ file://0001-carotene-don-t-use-__asm__-with-aarch64.patch \
+ file://0002-Do-not-enable-asm-with-clang.patch \
+ file://CVE-2017-14136.patch \
+"
+PV = "3.3+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+do_unpack_extra() {
+ tar xzf ${WORKDIR}/ipp/ippicv/${IPP_FILENAME} -C ${WORKDIR}
+ cp ${WORKDIR}/vgg/*.i ${WORKDIR}/contrib/modules/xfeatures2d/src
+ cp ${WORKDIR}/boostdesc/*.i ${WORKDIR}/contrib/modules/xfeatures2d/src
+}
+addtask unpack_extra after do_unpack before do_patch
+
+EXTRA_OECMAKE = "-DOPENCV_EXTRA_MODULES_PATH=${WORKDIR}/contrib/modules \
+ -DWITH_1394=OFF \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DOPENCV_ICV_PACKAGE_DOWNLOADED=${IPP_MD5} \
+ -DOPENCV_ICV_PATH=${WORKDIR}/ippicv_lnx \
+ ${@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 ??= "python3 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[dnn] = "-DBUILD_opencv_dnn=ON -DPROTOBUF_UPDATE_FILES=ON -DBUILD_PROTOBUF=OFF,-DBUILD_opencv_dnn=OFF,protobuf protobuf-native,"
+PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen gflags glog,"
+PACKAGECONFIG[freetype] = "-DBUILD_opencv_freetype=ON,-DBUILD_opencv_freetype=OFF,freetype,"
+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,"
+PACKAGECONFIG[java] = "-DJAVA_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native fastjar-native openjdk-8-native,"
+PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg,"
+PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav,"
+PACKAGECONFIG[libv4l] = "-DWITH_LIBV4L=ON,-DWITH_LIBV4L=OFF,v4l-utils,"
+PACKAGECONFIG[opencl] = "-DWITH_OPENCL=ON,-DWITH_OPENCL=OFF,opencl-headers virtual/opencl-icd,"
+PACKAGECONFIG[oracle-java] = "-DJAVA_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${ORACLE_JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native oracle-jse-jdk oracle-jse-jdk-native,"
+PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,"
+PACKAGECONFIG[python2] = "-DPYTHON2_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python-numpy,"
+PACKAGECONFIG[python3] = "-DPYTHON3_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python3-numpy,"
+PACKAGECONFIG[samples] = "-DBUILD_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON,-DBUILD_EXAMPLES=OFF,,"
+PACKAGECONFIG[tbb] = "-DWITH_TBB=ON,-DWITH_TBB=OFF,tbb,"
+PACKAGECONFIG[text] = "-DBUILD_opencv_text=ON,-DBUILD_opencv_text=OFF,tesseract,"
+PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff,"
+PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils,"
+
+inherit pkgconfig cmake
+
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'distutils3-base', '', d)}
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'distutils-base', '', d)}
+
+export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}"
+export PYTHON="${STAGING_BINDIR_NATIVE}/${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3', 'python', d)}"
+export ORACLE_JAVA_HOME="${STAGING_DIR_NATIVE}/usr/bin/java"
+export JAVA_HOME="${STAGING_DIR_NATIVE}/usr/lib/jvm/openjdk-8-native"
+export ANT_DIR="${STAGING_DIR_NATIVE}/usr/share/ant/"
+
+TARGET_CC_ARCH += "-I${S}/include "
+
+PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'samples', '${PN}-samples', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'oracle-java', '${PN}-java', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'java', '${PN}-java', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'python-${BPN}', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-${BPN}', '', d)} \
+ ${PN}-apps"
+
+python populate_packages_prepend () {
+ cv_libdir = d.expand('${libdir}')
+ do_split_packages(d, cv_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True)
+ do_split_packages(d, cv_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
+ do_split_packages(d, cv_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
+ do_split_packages(d, cv_libdir, '^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True)
+
+ pn = d.getVar('PN')
+ metapkg = pn + '-dev'
+ d.setVar('ALLOW_EMPTY_' + metapkg, "1")
+ blacklist = [ metapkg ]
+ metapkg_rdepends = [ ]
+ packages = d.getVar('PACKAGES').split()
+ for pkg in packages[1:]:
+ if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'):
+ metapkg_rdepends.append(pkg)
+ d.setVar('RRECOMMENDS_' + metapkg, ' '.join(metapkg_rdepends))
+
+ metapkg = pn
+ d.setVar('ALLOW_EMPTY_' + metapkg, "1")
+ blacklist = [ metapkg, "libopencv-ts" ]
+ metapkg_rdepends = [ ]
+ for pkg in packages[1:]:
+ if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.endswith('-dev') and not pkg.endswith('-dbg') and not pkg.endswith('-doc') and not pkg.endswith('-locale') and not pkg.endswith('-staticdev'):
+ metapkg_rdepends.append(pkg)
+ d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends))
+}
+
+PACKAGES_DYNAMIC += "^libopencv-.*"
+
+FILES_${PN} = ""
+FILES_${PN}-dbg += "${datadir}/OpenCV/java/.debug/* ${datadir}/OpenCV/samples/bin/.debug/*"
+FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig ${datadir}/OpenCV/*.cmake"
+FILES_${PN}-staticdev += "${datadir}/OpenCV/3rdparty/lib/*.a"
+FILES_${PN}-apps = "${bindir}/* ${datadir}/OpenCV"
+FILES_${PN}-java = "${datadir}/OpenCV/java"
+FILES_${PN}-samples = "${datadir}/OpenCV/samples/"
+
+INSANE_SKIP_${PN}-java = "libdir"
+INSANE_SKIP_${PN}-dbg = "libdir"
+
+ALLOW_EMPTY_${PN} = "1"
+
+SUMMARY_python-opencv = "Python bindings to opencv"
+FILES_python-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
+RDEPENDS_python-opencv = "python-core python-numpy"
+
+SUMMARY_python3-opencv = "Python bindings to opencv"
+FILES_python3-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
+RDEPENDS_python3-opencv = "python3-core python3-numpy"
+
+do_install_append() {
+ cp ${S}/include/opencv/*.h ${D}${includedir}/opencv/
+ sed -i '/blobtrack/d' ${D}${includedir}/opencv/cvaux.h
+
+ # Move Python files into correct library folder (for multilib build)
+ if [ "$libdir" != "/usr/lib" -a -d ${D}/usr/lib ]; then
+ mv ${D}/usr/lib/* ${D}/${libdir}/
+ rm -rf ${D}/usr/lib
+ fi
+
+ 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/openipmi/files/makefile-add-ldflags.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/makefile-add-ldflags.patch
deleted file mode 100644
index 271c5323f..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/makefile-add-ldflags.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Add LDFLAGS variable to Makefile.am, make sure the extra linker flags can be passed.
-
-Upstream-Status: Pending
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
-
-diff --git a/swig/perl/Makefile.am b/swig/perl/Makefile.am
-index 2f9ee4c..3a18892 100644
---- a/swig/perl/Makefile.am
-+++ b/swig/perl/Makefile.am
-@@ -20,7 +20,7 @@ OpenIPMI_SRC = OpenIPMI_perl.c
- OpenIPMI_OBJ = OpenIPMI_wrap.lo OpenIPMI_perl.lo
-
- OpenIPMI.so: $(OpenIPMI_OBJ)
-- $(LIBTOOL) --mode=link $(CC) -shared -module -avoid-version -o $(@:.so=.la) $^ $(OPENIPMI_SWIG_LIBS) $(PERL_POSIX_LIB) -rpath $(PERL_INSTALL_DIR)/auto/OpenIPMI
-+ $(LIBTOOL) --mode=link $(CC) -shared -module -avoid-version $(LDFLAGS) -o $(@:.so=.la) $^ $(OPENIPMI_SWIG_LIBS) $(PERL_POSIX_LIB) -rpath $(PERL_INSTALL_DIR)/auto/OpenIPMI
- rm -f OpenIPMI.so
- mv .libs/OpenIPMI.so .
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/openipmi-don-t-rm-.libs.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/openipmi-don-t-rm-.libs.patch
deleted file mode 100644
index ee3c66043..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/openipmi-don-t-rm-.libs.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From bbd51cf010c80322034f7094e2c6a656aa1f17a7 Mon Sep 17 00:00:00 2001
-From: Wenzong Fan <wenzong.fan@windriver.com>
-Date: Fri, 13 Feb 2015 06:55:33 +0000
-Subject: [PATCH] openipmi: don't rm .libs
-
-Don't remove .libs after OpenIPMI.so generated, this may cause
-dummystuff.so fails to link from the second build with error:
-
-* error: .libs/dummystuff.o: No such file or directory
-
-Upstream-Status: Pending
-
-Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
----
- swig/perl/Makefile.am | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/swig/perl/Makefile.am b/swig/perl/Makefile.am
-index 12a282c..2f9ee4c 100644
---- a/swig/perl/Makefile.am
-+++ b/swig/perl/Makefile.am
-@@ -23,7 +23,6 @@ OpenIPMI.so: $(OpenIPMI_OBJ)
- $(LIBTOOL) --mode=link $(CC) -shared -module -avoid-version -o $(@:.so=.la) $^ $(OPENIPMI_SWIG_LIBS) $(PERL_POSIX_LIB) -rpath $(PERL_INSTALL_DIR)/auto/OpenIPMI
- rm -f OpenIPMI.so
- mv .libs/OpenIPMI.so .
-- rm -rf .libs
-
- dummystuff.lo: dummystuff.c
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
---
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/openipmi-remove-host-path-from-la_LDFLAGS.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/openipmi-remove-host-path-from-la_LDFLAGS.patch
deleted file mode 100644
index 6f16234bc..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/openipmi-remove-host-path-from-la_LDFLAGS.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From aa0dc0783a6ff5fb56c914b640836223e3c192bb Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Mon, 29 Dec 2014 18:16:04 +0800
-Subject: [PATCH] remove host path from la_LDFLAGS
-
-Upstream-Status: Inappropriate [ cross compile specific ]
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- cmdlang/Makefile.am | 2 +-
- glib/Makefile.am | 4 ++--
- tcl/Makefile.am | 2 +-
- unix/Makefile.am | 4 ++--
- 4 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/cmdlang/Makefile.am b/cmdlang/Makefile.am
-index 00c3d2b..0fa85d7 100644
---- a/cmdlang/Makefile.am
-+++ b/cmdlang/Makefile.am
-@@ -16,7 +16,7 @@ libOpenIPMIcmdlang_la_LIBADD = -lm \
- $(top_builddir)/utils/libOpenIPMIutils.la \
- $(top_builddir)/lib/libOpenIPMI.la
- libOpenIPMIcmdlang_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) \
-- -Wl,-Map -Wl,libOpenIPMIcmdlang.map -L$(libdir)
-+ -Wl,-Map -Wl,libOpenIPMIcmdlang.map
-
- bin_PROGRAMS = openipmish
-
-diff --git a/glib/Makefile.am b/glib/Makefile.am
-index 671cae2..eff55f3 100644
---- a/glib/Makefile.am
-+++ b/glib/Makefile.am
-@@ -11,14 +11,14 @@ libOpenIPMIglib_la_SOURCES = glib_os_hnd.c
- libOpenIPMIglib_la_CFLAGS = $(GLIB_CFLAGS) $(AM_CFLAGS)
- libOpenIPMIglib_la_LIBADD = $(GDBM_LIB)
- libOpenIPMIglib_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) \
-- -Wl,-Map -Wl,libOpenIPMIglib.map $(GLIB_LIBS) -L$(libdir) \
-+ -Wl,-Map -Wl,libOpenIPMIglib.map $(GLIB_LIBS) \
- -rpath $(libdir)
-
- libOpenIPMIglib12_la_SOURCES = glib_os_hnd.c
- libOpenIPMIglib12_la_CFLAGS = $(GLIB12_CFLAGS) $(AM_CFLAGS)
- libOpenIPMIglib12_la_LIBADD = $(GDBM_LIB)
- libOpenIPMIglib12_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) \
-- -Wl,-Map -Wl,libOpenIPMIglib12.map $(GLIB12_LIBS) -L$(libdir) \
-+ -Wl,-Map -Wl,libOpenIPMIglib12.map $(GLIB12_LIBS) \
- -rpath $(libdir)
-
- CLEANFILES = libOpenIPMIglib.map libOpenIPMIglib12.map
-diff --git a/tcl/Makefile.am b/tcl/Makefile.am
-index b702819..282619c 100644
---- a/tcl/Makefile.am
-+++ b/tcl/Makefile.am
-@@ -11,7 +11,7 @@ libOpenIPMItcl_la_SOURCES = tcl_os_hnd.c
- libOpenIPMItcl_la_CFLAGS = $(TCL_CFLAGS) $(AM_CFLAGS)
- libOpenIPMItcl_la_LIBADD = $(GDBM_LIB)
- libOpenIPMItcl_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) \
-- -Wl,-Map -Wl,libOpenIPMItcl.map $(TCL_LIBS) -L$(libdir) \
-+ -Wl,-Map -Wl,libOpenIPMItcl.map $(TCL_LIBS) \
- -rpath $(libdir)
-
- noinst_PROGRAMS = test_handlers
-diff --git a/unix/Makefile.am b/unix/Makefile.am
-index a792147..a108bc6 100644
---- a/unix/Makefile.am
-+++ b/unix/Makefile.am
-@@ -11,13 +11,13 @@ libOpenIPMIpthread_la_SOURCES = posix_thread_os_hnd.c selector.c
- libOpenIPMIpthread_la_LIBADD = -lpthread $(GDBM_LIB) \
- $(top_builddir)/utils/libOpenIPMIutils.la
- libOpenIPMIpthread_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) \
-- -Wl,-Map -Wl,libOpenIPMIpthread.map -L$(libdir)
-+ -Wl,-Map -Wl,libOpenIPMIpthread.map
-
- libOpenIPMIposix_la_SOURCES = posix_os_hnd.c selector.c
- libOpenIPMIposix_la_LIBADD = $(top_builddir)/utils/libOpenIPMIutils.la \
- $(GDBM_LIB)
- libOpenIPMIposix_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) \
-- -Wl,-Map -Wl,libOpenIPMIposix.map -L$(libdir)
-+ -Wl,-Map -Wl,libOpenIPMIposix.map
-
- noinst_HEADERS = heap.h
-
---
-1.7.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/openipmi_2.0.22.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/openipmi_2.0.22.bb
deleted file mode 100644
index 9f4b0ff26..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/openipmi_2.0.22.bb
+++ /dev/null
@@ -1,112 +0,0 @@
-SUMMARY = "IPMI (Intelligent Platform Management Interface) library and tools"
-DESCRIPTION = "OpenIPMI is an effort to create a full-function IPMI system, \
-to allow full access to all IPMI information on a server \
-and to abstract it to a level that will make it easy to use"
-
-HOMEPAGE = "http://openipmi.sourceforge.net"
-
-DEPENDS = " \
- glib-2.0 \
- ncurses \
- net-snmp \
- openssl \
- popt \
- python \
- swig-native \
- "
-
-LICENSE = "GPLv2 & LGPLv2.1 & BSD"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
- file://COPYING.LIB;md5=d8045f3b8f929c1cb29a1e3fd737b499 \
- file://COPYING.BSD;md5=4b318d4160eb69c8ee53452feb1b4cdf \
- "
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/openipmi/OpenIPMI-${PV}.tar.gz \
- file://fix-symlink-install-error-in-cmdlang.patch \
- file://openipmi-no-openipmigui-man.patch \
- file://openipmi-remove-host-path-from-la_LDFLAGS.patch \
- file://openipmi-don-t-rm-.libs.patch \
- file://ipmi-init-fix-the-arguments.patch \
- file://makefile-add-ldflags.patch \
- file://do-not-install-pyc-and-pyo.patch \
- file://include_sys_types.patch \
- file://openipmi-helper \
- file://ipmi.service \
- "
-
-SRC_URI[md5sum] = "9a4e1f6bb073379c494839201ea10aee"
-SRC_URI[sha256sum] = "4988900043c35fcfa9b2bf275d6593904f6429221befb770ba6ecb5502108e55"
-
-S = "${WORKDIR}/OpenIPMI-${PV}"
-
-inherit autotools-brokensep pkgconfig pythonnative perlnative update-rc.d systemd
-
-EXTRA_OECONF = "--disable-static \
- --with-perl='${STAGING_BINDIR_NATIVE}/perl-native/perl' \
- --with-python='${STAGING_BINDIR_NATIVE}/python-native/python' \
- --with-pythoninstall='${PYTHON_SITEPACKAGES_DIR}' \
- --with-glibver=2.0 --with-glib12=no"
-
-PACKAGECONFIG ??= "gdbm"
-PACKAGECONFIG[gdbm] = "ac_cv_header_gdbm_h=yes,ac_cv_header_gdbm_h=no,gdbm,"
-
-PACKAGES += "${PN}-perl ${PN}-python"
-
-FILES_${PN}-perl = " \
- ${libdir}/perl/vendor_perl/*/OpenIPMI.pm \
- ${libdir}/perl/vendor_perl/*/auto/OpenIPMI/OpenIPMI.so \
- "
-
-FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
-
-FILES_${PN}-dbg += " \
- ${libdir}/perl/vendor_perl/*/auto/OpenIPMI/.debug \
- ${PYTHON_SITEPACKAGES_DIR}/.debug \
- "
-
-do_configure () {
-
- # Let's perform regular configuration first then handle perl issues.
- autotools_do_configure
-
- perl_ver=`perl -V:version | cut -d\' -f 2`
-
- # Force openipmi perl bindings to be compiled using perl-native instead of
- # the host's perl. Set the proper install directory for the resulting
- # openipmi.pm and openipmi.so
- for i in ${S}/swig/Makefile ${S}/swig/perl/Makefile; do
- echo "SAL: i = $i"
- echo "SAL: STAGING_INCDIR_NATIVE = $STAGING_INCDIR_NATIVE"
- echo "SAL: libdir = $libdir"
- sed -i -e "/^PERL_CFLAGS/s:-I/usr/local/include:-I${STAGING_INCDIR_NATIVE}:g" $i
- sed -i -e "/^PERL_INSTALL_DIR/s:^PERL_INSTALL_DIR = .*:PERL_INSTALL_DIR = ${libdir}/perl/vendor_perl/$perl_ver:g" $i
- done
-}
-
-do_install_append () {
- echo "SAL: D = $D"
- echo "SAL: libdir = $libdir"
- install -m 0755 -d ${D}${sysconfdir}/sysconfig ${D}${sysconfdir}/init.d
- install -m 0755 ${S}/ipmi.init ${D}${sysconfdir}/init.d/ipmi
- install -m 0644 ${S}/ipmi.sysconf ${D}${sysconfdir}/sysconfig/ipmi
- # SAL: mv: cannot stat `/localdisk/loadbuild/slittle1/workspace/cgts_test_build/bitbake_build/tmp/work/x86_64-wrs-linux/openipmi-2.0.19-r4/image/usr/lib64/perl5': No such file or directory
- # SAL: real path to perl is /localdisk/loadbuild/slittle1/workspace/cgts_test_build/bitbake_build/tmp/work/x86_64-wrs-linux/perl-5.14.2-r8.3/package/usr/lib64/perl5 and it is a symlink to perl so no need to mv.
- if [ -d ${D}${libdir}/perl5 ]
- then
- mv ${D}${libdir}/perl5 ${D}${libdir}/perl
- fi
-
- # for systemd
- install -d ${D}${systemd_unitdir}/system
- install -m 0664 ${WORKDIR}/ipmi.service ${D}${systemd_unitdir}/system
- sed -i -e "s,@LIBEXECDIR@,${libexecdir},g" ${D}${systemd_unitdir}/system/ipmi.service
- install -d ${D}${libexecdir}
- install -m 0755 ${WORKDIR}/openipmi-helper ${D}${libexecdir}
-}
-
-INITSCRIPT_NAME = "ipmi"
-INITSCRIPT_PARAMS = "start 30 . stop 70 0 1 2 3 4 5 6 ."
-
-SYSTEMD_SERVICE_${PN} = "ipmi.service"
-SYSTEMD_AUTO_ENABLE = "disable"
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
deleted file mode 100644
index f5c233f2d..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.44.bb
+++ /dev/null
@@ -1,255 +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=c933fba6d89fda89f58df1e086e3f2e7 \
- file://LICENSE;md5=153d07ef052c4a37a8fac23bc6031972 \
-"
-SECTION = "libs"
-
-LDAP_VER = "${@'.'.join(d.getVar('PV').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.filter('DISTRO_FEATURES', '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_append = " -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').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.45.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.45.bb
new file mode 100644
index 000000000..82d661983
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.45.bb
@@ -0,0 +1,256 @@
+# 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=25fd3721960f39128cd15a749fd21139 \
+ file://LICENSE;md5=153d07ef052c4a37a8fac23bc6031972 \
+"
+SECTION = "libs"
+
+LDAP_VER = "${@'.'.join(d.getVar('PV').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] = "00ff8301277cdfd0af728a6927042a13"
+SRC_URI[sha256sum] = "cdd6cffdebcd95161a73305ec13fc7a78e9707b46ca9f84fb897cd5626df3824"
+
+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.filter('DISTRO_FEATURES', '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_append = " -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
+ rmdir --ignore-fail-on-non-empty ${D}${libexecdir}
+ 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').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/openmotif/openmotif/configure.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/openmotif/openmotif/configure.patch
deleted file mode 100644
index 8868e805a..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/openmotif/openmotif/configure.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/configure.ac~ 2009-10-27 14:10:23.000000000 -0200
-+++ b/configure.ac 2011-05-31 10:51:00.207232036 -0300
-@@ -3,12 +3,6 @@
- AC_CONFIG_SRCDIR([lib/Xm/Form.c])
- AC_PREREQ(2.52)
- AC_CONFIG_AUX_DIR(.)
--AC_CHECK_FILE(/usr/X/include/X11/X.h,
-- AC_PREFIX_DEFAULT(/usr/X),
-- AC_PREFIX_DEFAULT(/usr))
--AC_CHECK_FILE(/usr/X11R6/include/X11/X.h,
-- AC_PREFIX_DEFAULT(/usr/X11R6),
-- AC_PREFIX_DEFAULT(/usr))
-
- dnl AM_MAINTAINER_MODE
- AC_CANONICAL_TARGET
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/openmotif/openmotif_2.3.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/openmotif/openmotif_2.3.3.bb
deleted file mode 100644
index 35c39cbe8..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/openmotif/openmotif_2.3.3.bb
+++ /dev/null
@@ -1,48 +0,0 @@
-SECTION = "libs"
-SUMMARY = "OSM/Motif implementation"
-LICENSE = "OGPL"
-DEPENDS = "xbitmaps virtual/libx11 libxt libxft xproto"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=14f692c82491db3d52419929d2f3b343"
-
-PR = "r3"
-
-PNBLACKLIST[openmotif] ?= "BROKEN: doesn't build with B!=S - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-SRC_URI = "http://motif.ics.com/sites/default/files/openmotif-2.3.3.tar.gz \
- file://configure.patch;patch=1"
-
-SRC_URI[md5sum] = "fd27cd3369d6c7d5ef79eccba524f7be"
-SRC_URI[sha256sum] = "c85f5545e218fa0c59a3789192132d472fc5a33e914a221a568eee4fc10cd103"
-
-inherit autotools
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg"
-PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng"
-
-EXTRA_OECONF = "X_CFLAGS=-I${STAGING_INCDIR} --disable-printing"
-
-PACKAGES += "${PN}-bin"
-
-FILES_${PN}-bin = "${bindir}"
-
-do_compile() {
- (
- # HACK: build a native binaries need during the build
- unset CC LD CXX CCLD CFLAGS
- oe_runmake -C config/util CC="${BUILD_CC}" LD="${BUILD_LD}" CXX="${BUILD_CXX}" LIBS="" makestrs
- )
- if [ "$?" != "0" ]; then
- exit 1
- fi
- oe_runmake -C lib
- oe_runmake -C include
-}
-
-do_install() {
- oe_runmake DESTDIR=${D} -C lib install
- oe_runmake DESTDIR=${D} -C include install
-}
-
-LEAD_SONAME = "libXm.so.4"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opensync/libsyncml_0.5.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/opensync/libsyncml_0.5.4.bb
deleted file mode 100644
index ebf65c7cc..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/opensync/libsyncml_0.5.4.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Libsyncml is an implementation of the SyncML protocol"
-HOMEPAGE = "https://libsyncml.opensync.org/"
-SECTION = "libs"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fad9b3332be894bab9bc501572864b29"
-
-DEPENDS = "libxml2 glib-2.0 libsoup-2.4 openobex wbxml2"
-
-# Depends on openobex
-PNBLACKLIST[libsyncml] ?= "${@bb.utils.contains('DISTRO_FEATURES', 'bluez5', 'bluez5 conflicts with bluez4 and bluez5 is selected in DISTRO_FEATURES', '', d)}"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/libsyncml/libsyncml-${PV}.tar.gz"
-SRC_URI[md5sum] = "84879ed7cb94618530fbcb801a1a4f95"
-SRC_URI[sha256sum] = "05d6513637adb1300a3a58b6e29d53ab6373c8f370807d0d925bae72b2920e53"
-
-inherit cmake pkgconfig
-
-PACKAGES += "${PN}-tools"
-
-FILES_${PN}-tools = "${bindir}"
-FILES_${PN} = "${libdir}/*.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
deleted file mode 100644
index e9142385b..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem_3.2.3.bb
+++ /dev/null
@@ -1,115 +0,0 @@
-SUMMARY = "Web Based Enterprise Management (WBEM) Implementation"
-DESCRIPTION = "OpenWBEM is a set of software components that help facilitate \
-deployment of the Common Information Model (CIM) and Web-Based \
-Enterprise Management (WBEM) technologies of the Distributed Management \
-Task Force (DMTF). \
- \
-Web-Based Enterprise Management (WBEM) is a set of management and \
-Internet standard technologies developed to unify the management of \
-distributed computing environments. WBEM provides the ability for the \
-industry to deliver a well-integrated set of standards-based management \
-tools, facilitating the exchange of data across otherwise disparate \
-technologies and platforms. \
- \
-For more information about DMTF and its technologies, visit \
-http://www.dmtf.org/standards. "
-SECTION = "System/Management"
-HOMEPAGE = "http://openwbem.sourceforge.net/"
-
-inherit autotools-brokensep pkgconfig
-
-SOURCE1="novell-openwbem-root-acl.mof"
-SOURCE2="loadmof.sh"
-SOURCE3="rmmof.sh"
-SOURCE4="openwbem-owcimomd.init"
-SOURCE5="openwbem-etc_pam.d_openwbem"
-SOURCE6="openwbem-rpmlintrc"
-
-SRC_URI = " \
- git://github.com/kkaempf/openwbem.git \
- file://${SOURCE1} \
- file://${SOURCE2} \
- file://${SOURCE3} \
- file://${SOURCE4} \
- file://${SOURCE5} \
- file://${SOURCE6} \
- file://checkserverkey \
- file://owcimomd.service \
-"
-SRCREV = "5c688eefc1f8e35a4b1c58529aae5f114c25c2a8"
-S = "${WORKDIR}/git"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM += "file://COPYING;md5=0504a2eb85e01aa92c9efd4125a34660"
-INSANE_SKIP_${PN} = "dev-so"
-DEPENDS += "openssl libpam bash"
-RDEPENDS_${PN} += "bash"
-EXTRA_OECONF = " \
- --prefix=/usr \
- --sysconfdir=/etc \
- --libdir=${libdir} \
- --localstatedir=/var/lib \
- --libexecdir=${libdir}/openwbem/bin \
- --mandir=/usr/share/man \
- --enable-threads-run-as-user \
-"
-do_configure_prepend() {
- autoreconf --force --install
-}
-
-do_install() {
- oe_runmake DESTDIR=${D} install
- 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
- install -d ${D}/${systemd_unitdir}/system
- install -m 644 ${WORKDIR}/owcimomd.service ${D}/${systemd_unitdir}/system
- install -m 755 ${WORKDIR}/checkserverkey ${D}${sysconfdir}/openwbem/
- fi
-
- install -d ${D}/etc/init.d
- ln -sf ../../etc/init.d/owcimomd ${D}/usr/sbin/rcowcimomd
- install -m 755 ${WORKDIR}/${SOURCE4} ${D}/etc/init.d/owcimomd
- install -d ${D}${sbindir}
- install -d ${D}/usr/bin
- install -d ${D}/etc/pam.d
- install -d ${D}/${libdir}/openwbem/cmpiproviders
- install -m 644 etc/pam.d/openwbem ${D}/etc/pam.d
- install -d ${D}/${libdir}/openwbem/c++providers
- install -d ${D}/var/lib/openwbem
- install -m 755 ${WORKDIR}/${SOURCE2} ${D}/usr/bin/ow-loadmof.sh
- install -m 755 ${WORKDIR}/${SOURCE3} ${D}/usr/bin/ow-rmmof.sh
- install -m 644 ${WORKDIR}/${SOURCE5} ${D}/etc/pam.d/openwbem
-
- MOFPATH=${D}/usr/share/mof/openwbem
- install -d $MOFPATH
- mv ${D}/usr/share/openwbem/* $MOFPATH/
- rmdir ${D}/usr/share/openwbem
- install -m 644 ${WORKDIR}/${SOURCE1} $MOFPATH/
-
- touch ${D}/var/lib/openwbem/{classassociation,instances,instassociation,namespaces,schema}.{dat,ndx,lock}
-}
-
-inherit ${@bb.utils.filter('VIRTUAL-RUNTIME_init_manager', 'systemd', d)}
-SYSTEMD_SERVICE_${PN} = "owcimomd.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-FILES_${PN} += " \
- ${libdir} \
- ${datadir}/mof \
- ${systemd_unitdir} \
-"
-FILES_${PN}-dbg += " \
- ${libdir}/openwbem/c++providers/.debug \
- ${libdir}/openwbem/provifcs/.debug \
- ${libdir}/openwbem/bin/openwbem/.debug \
-"
-FILES_${PN}-dev = " \
- ${includedir} \
- ${datadir}/aclocal/openwbem.m4 \
-"
-
-# http://errors.yoctoproject.org/Errors/Details/68630/
-PNBLACKLIST[openwbem] ?= "BROKEN: fails to build with gcc-6 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/pam-passwdqc/files/1000patch-219201.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/pam-passwdqc/files/1000patch-219201.patch
deleted file mode 100644
index 366d461eb..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/pam-passwdqc/files/1000patch-219201.patch
+++ /dev/null
@@ -1,156 +0,0 @@
-diff -urNp pam_passwdqc-1.0.5-orig/pam_passwdqc.c pam_passwdqc-1.0.5/pam_passwdqc.c
---- pam_passwdqc-1.0.5-orig/pam_passwdqc.c 2008-02-12 15:11:13.000000000 -0500
-+++ pam_passwdqc-1.0.5/pam_passwdqc.c 2009-09-28 12:10:32.171696694 -0400
-@@ -70,6 +70,8 @@ typedef struct {
- passwdqc_params_t qc;
- int flags;
- int retry;
-+ char oldpass_prompt_file[FILE_LEN+1];
-+ char newpass_prompt_file[FILE_LEN+1];
- } params_t;
-
- static params_t defaults = {
-@@ -79,10 +81,13 @@ static params_t defaults = {
- 3, /* passphrase_words */
- 4, /* match_length */
- 1, /* similar_deny */
-- 42 /* random_bits */
-+ 42, /* random_bits */
-+ 1 /* firstupper_lastdigit_check */
- },
- F_ENFORCE_EVERYONE, /* flags */
-- 3 /* retry */
-+ 3, /* retry */
-+ "", /* oldpass_prompt_file */
-+ "" /* newpass_prompt_file */
- };
-
- #define PROMPT_OLDPASS \
-@@ -361,6 +366,37 @@ static int parse(params_t *params, pam_h
- if (!strcmp(*argv, "use_authtok")) {
- params->flags |= F_USE_AUTHTOK;
- } else
-+ if (!strcmp(*argv, "disable_firstupper_lastdigit_check")) {
-+ params->qc.firstupper_lastdigit_check = 0;
-+ } else
-+ if (!strncmp(*argv, "oldpass_prompt_file=", 20)) {
-+ int n;
-+ FILE *fp = fopen(*argv + 20, "r");
-+ if (fp) {
-+ n=fread(params->oldpass_prompt_file, sizeof(char), FILE_LEN, fp);
-+ if (0==n || ferror(fp)!=0 ) {
-+ memset(params->oldpass_prompt_file, '\0', FILE_LEN+1);
-+ }
-+ else {
-+ feof(fp)? (params->oldpass_prompt_file[n-1]='\0'): (params->oldpass_prompt_file[n]='\0');
-+ }
-+ fclose(fp);
-+ }
-+ } else
-+ if (!strncmp(*argv, "newpass_prompt_file=", 20)) {
-+ int n;
-+ FILE *fp = fopen(*argv + 20, "r");
-+ if (fp) {
-+ n=fread(params->newpass_prompt_file, sizeof(char), FILE_LEN, fp);
-+ if (0==n || ferror(fp)!=0 ) {
-+ memset(params->newpass_prompt_file, '\0', FILE_LEN+1);
-+ }
-+ else {
-+ feof(fp)? (params->newpass_prompt_file[n-1]='\0'): (params->newpass_prompt_file[n]='\0');
-+ }
-+ fclose(fp);
-+ }
-+ } else
- break;
- argc--; argv++;
- }
-@@ -406,7 +442,7 @@ PAM_EXTERN int pam_sm_chauthtok(pam_hand
-
- if (ask_oldauthtok && !am_root(pamh)) {
- status = converse(pamh, PAM_PROMPT_ECHO_OFF,
-- PROMPT_OLDPASS, &resp);
-+ strlen(params.oldpass_prompt_file) ? params.oldpass_prompt_file : PROMPT_OLDPASS, &resp);
-
- if (status == PAM_SUCCESS) {
- if (resp && resp->resp) {
-@@ -540,8 +576,7 @@ retry:
- MESSAGE_RANDOMFAILED : MESSAGE_MISCONFIGURED);
- return PAM_AUTHTOK_ERR;
- }
--
-- status = converse(pamh, PAM_PROMPT_ECHO_OFF, PROMPT_NEWPASS1, &resp);
-+ status = converse(pamh, PAM_PROMPT_ECHO_OFF, strlen(params.newpass_prompt_file) ? params.newpass_prompt_file : PROMPT_NEWPASS1, &resp);
- if (status == PAM_SUCCESS && (!resp || !resp->resp))
- status = PAM_AUTHTOK_ERR;
-
-diff -urNp pam_passwdqc-1.0.5-orig/passwdqc_check.c pam_passwdqc-1.0.5/passwdqc_check.c
---- pam_passwdqc-1.0.5-orig/passwdqc_check.c 2008-02-12 14:31:52.000000000 -0500
-+++ pam_passwdqc-1.0.5/passwdqc_check.c 2009-09-25 22:45:16.080842425 -0400
-@@ -90,10 +90,12 @@ static int is_simple(passwdqc_params_t *
-
- /* Upper case characters and digits used in common ways don't increase the
- * strength of a password */
-- c = (unsigned char)newpass[0];
-- if (uppers && isascii(c) && isupper(c)) uppers--;
-- c = (unsigned char)newpass[length - 1];
-- if (digits && isascii(c) && isdigit(c)) digits--;
-+ if (params->firstupper_lastdigit_check) {
-+ c = (unsigned char)newpass[0];
-+ if (uppers && isascii(c) && isupper(c)) uppers--;
-+ c = (unsigned char)newpass[length - 1];
-+ if (digits && isascii(c) && isdigit(c)) digits--;
-+ }
-
- /* Count the number of different character classes we've seen. We assume
- * that there are no non-ASCII characters for digits. */
-diff -urNp pam_passwdqc-1.0.5-orig/passwdqc.h pam_passwdqc-1.0.5/passwdqc.h
---- pam_passwdqc-1.0.5-orig/passwdqc.h 2008-02-12 14:30:00.000000000 -0500
-+++ pam_passwdqc-1.0.5/passwdqc.h 2009-09-25 14:08:56.214695858 -0400
-@@ -7,12 +7,15 @@
-
- #include <pwd.h>
-
-+#define FILE_LEN 4096 /* Max file len = 4096 */
-+
- typedef struct {
- int min[5], max;
- int passphrase_words;
- int match_length;
- int similar_deny;
- int random_bits;
-+ int firstupper_lastdigit_check;
- } passwdqc_params_t;
-
- extern char _passwdqc_wordset_4k[0x1000][6];
-diff -urNp pam_passwdqc-1.0.5-orig/README pam_passwdqc-1.0.5/README
---- pam_passwdqc-1.0.5-orig/README 2008-02-12 14:43:33.000000000 -0500
-+++ pam_passwdqc-1.0.5/README 2009-09-28 12:12:40.251016423 -0400
-@@ -41,9 +41,12 @@ words (see the "passphrase" option below
- N3 and N4 are used for passwords consisting of characters from three
- and four character classes, respectively.
-
-+ disable_firstupper_lastdigit_check []
-+
- When calculating the number of character classes, upper-case letters
- used as the first character and digits used as the last character of a
--password are not counted.
-+password are not counted. To disable this, you can specify
-+"disable_firstupper_lastdigit_check".
-
- In addition to being sufficiently long, passwords are required to
- contain enough different characters for the character classes and
-@@ -142,6 +145,14 @@ This disables user interaction within pa
- the only difference between "use_first_pass" and "use_authtok" is that
- the former is incompatible with "ask_oldauthtok".
-
-+ oldpass_prompt_file=absolute-file-path []
-+ newpass_prompt_file=abosulte-file-path []
-+
-+The options "oldpass_prompt_file" and "newpass_prompt_file" can be used
-+to override prompts while requesting old password and new password,
-+respectively. The maximum size of the prompt files can be 4096
-+characters at present. If the file size is more than 4096 characters, the
-+output will be truncated to 4096 characters.
- --
- Solar Designer <solar at openwall.com>
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/pam-passwdqc/files/7000Makefile-fix-CC.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/pam-passwdqc/files/7000Makefile-fix-CC.patch
deleted file mode 100644
index 536fba132..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/pam-passwdqc/files/7000Makefile-fix-CC.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- pam_passwdqc-1.0.5/Makefile.orig 2012-10-02 20:53:55.443592886 +0900
-+++ pam_passwdqc-1.0.5/Makefile 2012-10-02 20:54:19.076108001 +0900
-@@ -2,7 +2,7 @@
- # Copyright (c) 2000-2003,2005 by Solar Designer. See LICENSE.
- #
-
--CC = gcc
-+#CC = gcc
- LD = $(CC)
- RM = rm -f
- MKDIR = mkdir -p
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
deleted file mode 100644
index cb9aa22cf..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/pam-passwdqc/pam-passwdqc_1.0.5.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-SUMMARY = "Pluggable password quality-control module."
-DESCRIPTION = "pam_passwdqc is a simple password strength checking module for \
-PAM-aware password changing programs, such as passwd(1). In addition \
-to checking regular passwords, it offers support for passphrases and \
-can provide randomly generated passwords. All features are optional \
-and can be (re-)configured without rebuilding."
-
-HOMEPAGE = "http://www.openwall.com/passwdqc/"
-SECTION = "System Environment/Base"
-
-LICENSE = "BSD"
-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 \
-"
-SRC_URI[md5sum] = "cd9c014f736158b1a60384a8e2bdc28a"
-SRC_URI[sha256sum] = "32528ddf7d8219c788b6e7702361611ff16c6340b6dc0f418ff164aadc4a4a88"
-
-
-S = "${WORKDIR}/pam_passwdqc-${PV}"
-
-DEPENDS = "libpam"
-
-EXTRA_OEMAKE = "CFLAGS="${CFLAGS} -Wall -fPIC -DHAVE_SHADOW" \
- SECUREDIR=${base_libdir}/security \
-"
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-do_install() {
- oe_runmake install DESTDIR=${D}
-}
-
-FILES_${PN} += "${base_libdir}/security/pam_passwdqc.so"
-FILES_${PN}-dbg += "${base_libdir}/security/.debug"
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/passwdqc/passwdqc/makefile-add-ldflags.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/passwdqc/passwdqc/makefile-add-ldflags.patch
new file mode 100644
index 000000000..e9023492e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/passwdqc/passwdqc/makefile-add-ldflags.patch
@@ -0,0 +1,31 @@
+Add LDFLAGS variable to Makefile so that extra linker flags can be sent via this variable.
+
+Upstream-Status: Pending
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+
+diff --git a/Makefile b/Makefile
+index 49d622d..cd17334 100644
+--- a/Makefile
++++ b/Makefile
+@@ -48,18 +48,17 @@ CFLAGS = -Wall -W -O2
+ CFLAGS_lib = $(CFLAGS) -fPIC
+ CFLAGS_bin = $(CFLAGS) -fomit-frame-pointer
+
+-LDFLAGS =
+ LDFLAGS_shared = --shared
+ LDFLAGS_shared_LINUX = --shared
+ LDFLAGS_shared_SUN = -G
+ LDFLAGS_shared_HP = -b
+ LDFLAGS_lib = $(LDFLAGS_shared)
+-LDFLAGS_lib_LINUX = $(LDFLAGS_shared_LINUX) \
++LDFLAGS_lib_LINUX = $(LDFLAGS) $(LDFLAGS_shared_LINUX) \
+ -Wl,--soname,$(SHARED_LIB),--version-script,$(MAP_LIB)
+ LDFLAGS_lib_SUN = $(LDFLAGS_shared_SUN)
+ LDFLAGS_lib_HP = $(LDFLAGS_shared_HP)
+ LDFLAGS_pam = $(LDFLAGS_shared)
+-LDFLAGS_pam_LINUX = $(LDFLAGS_shared_LINUX) \
++LDFLAGS_pam_LINUX = $(LDFLAGS) $(LDFLAGS_shared_LINUX) \
+ -Wl,--version-script,$(MAP_PAM)
+ LDFLAGS_pam_SUN = $(LDFLAGS_shared_SUN)
+ LDFLAGS_pam_HP = $(LDFLAGS_shared_HP)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/passwdqc/passwdqc_1.3.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/passwdqc/passwdqc_1.3.1.bb
new file mode 100644
index 000000000..198db3ce7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/passwdqc/passwdqc_1.3.1.bb
@@ -0,0 +1,63 @@
+SUMMARY = "A password/passphrase strength checking and enforcement toolset"
+DESCRIPTION = "\
+passwdqc is a password/passphrase strength checking and policy enforcement \
+toolset, including an optional PAM module (pam_passwdqc), command-line \
+programs (pwqcheck and pwqgen), and a library (libpasswdqc). \
+pam_passwdqc is normally invoked on password changes by programs such as \
+passwd(1). It is capable of checking password or passphrase strength, \
+enforcing a policy, and offering randomly-generated passphrases, with \
+all of these features being optional and easily (re-)configurable. \
+\
+pwqcheck and pwqgen are standalone password/passphrase strength checking \
+and random passphrase generator programs, respectively, which are usable \
+from scripts. \
+\
+libpasswdqc is the underlying library, which may also be used from \
+third-party programs. \
+"
+
+HOMEPAGE = "http://www.openwall.com/passwdqc"
+SECTION = "System Environment/Base"
+
+DEPENDS += "libpam"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1b4af6f3d4ee079a38107366e93b334d"
+
+SRC_URI = "http://www.openwall.com/${BPN}/${BP}.tar.gz \
+ file://makefile-add-ldflags.patch \
+ "
+SRC_URI[md5sum] = "3878b57bcd3fdbcf3d4b362dbc6228b9"
+SRC_URI[sha256sum] = "d1fedeaf759e8a0f32d28b5811ef11b5a5365154849190f4b7fab670a70ffb14"
+
+# explicitly define LINUX_PAM in case DISTRO_FEATURES no pam
+# this package's pam_passwdqc.so needs pam
+CFLAGS_append += "-Wall -fPIC -DHAVE_SHADOW -DLINUX_PAM"
+
+# -e is no longer default setting in bitbake.conf
+EXTRA_OEMAKE = "-e"
+
+do_compile() {
+ # make sure sub make use environment to override variables in Makefile
+ # Linux) $(MAKE), there is a tab between
+ sed -i -e 's/Linux) $(MAKE) CFLAGS_lib/Linux) $(MAKE) -e CFLAGS_lib/' ${S}/Makefile
+
+ # LD_lib and LD must be CC because of Makefile
+ oe_runmake LD="${CC}"
+}
+
+do_install() {
+ oe_runmake install DESTDIR=${D} SHARED_LIBDIR=${base_libdir} \
+ DEVEL_LIBDIR=${libdir} SECUREDIR=${base_libdir}/security \
+ INSTALL="install -p"
+}
+
+PROVIDES += "pam-${BPN}"
+PACKAGES =+ "lib${BPN} pam-${BPN}"
+
+FILES_lib${BPN} = "${base_libdir}/libpasswdqc.so.0"
+FILES_pam-${BPN} = "${base_libdir}/security/pam_passwdqc.so"
+FILES_${PN}-dbg += "${base_libdir}/security/.debug"
+
+RDEPENDS_${PN} = "lib${BPN} pam-${BPN}"
+RDEPENDS_pam-${BPN} = "lib${BPN}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/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
deleted file mode 100644
index 0d2cb332a..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.13.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-SUMMARY = "PC/SC Lite smart card framework and applications"
-HOMEPAGE = "http://pcsclite.alioth.debian.org/"
-LICENSE = "BSD & 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"
-
-SRC_URI = "https://alioth.debian.org/frs/download.php/file/4126/pcsc-lite-${PV}.tar.bz2"
-SRC_URI[md5sum] = "4dcd22d20a6df8810fac5480cc320b6d"
-SRC_URI[sha256sum] = "f315047e808d63a3262c4a040f77548af2e04d1fd707e0c2759369b926fbbc3b"
-
-
-inherit autotools systemd pkgconfig
-
-EXTRA_OECONF = " \
- --disable-libusb \
- --enable-libudev \
- --enable-usbdropdir=${libdir}/pcsc/drivers \
-"
-
-S = "${WORKDIR}/pcsc-lite-${PV}"
-
-PACKAGES = "${PN} ${PN}-dbg ${PN}-dev ${PN}-lib ${PN}-doc ${PN}-spy ${PN}-spy-dev"
-
-RRECOMMENDS_${PN} = "ccid"
-
-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}-spy +="python"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.22.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.22.bb
new file mode 100644
index 000000000..90d58b00d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.22.bb
@@ -0,0 +1,49 @@
+SUMMARY = "PC/SC Lite smart card framework and applications"
+HOMEPAGE = "http://pcsclite.alioth.debian.org/"
+LICENSE = "BSD & 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=f38b3d1c7ef7fc2c8b6d20cd38efdc29"
+DEPENDS = "udev"
+
+SRC_URI = "https://alioth.debian.org/frs/download.php/file/4225/pcsc-lite-${PV}.tar.bz2"
+SRC_URI[md5sum] = "0ec103b1ef298d0c58d6ef6b00b9cf17"
+SRC_URI[sha256sum] = "6a358f61ed3b66a7f6e1f4e794a94c7be4c81b7a58ec360c33791e8d7d9bd405"
+
+
+inherit autotools systemd pkgconfig
+
+EXTRA_OECONF = " \
+ --disable-libusb \
+ --enable-libudev \
+ --enable-usbdropdir=${libdir}/pcsc/drivers \
+"
+
+S = "${WORKDIR}/pcsc-lite-${PV}"
+
+PACKAGES = "${PN} ${PN}-dbg ${PN}-dev ${PN}-lib ${PN}-doc ${PN}-spy ${PN}-spy-dev"
+
+RRECOMMENDS_${PN} = "ccid"
+
+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}-spy +="python"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/libotr/fix_qa-issue_include.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/libotr/fix_qa-issue_include.patch
index b78663310..ecdbffb51 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/libotr/fix_qa-issue_include.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/libotr/fix_qa-issue_include.patch
@@ -11,8 +11,8 @@ Signed-off-by: Jakob Drexel <jake42@rommel.stw.uni-erlangen.de>
--- a/toolkit/Makefile.am 2012-05-03 15:52:22.000000000 +0200
+++ b/toolkit/Makefile.am 2014-01-13 12:12:26.030369357 +0100
@@ -1,4 +1,4 @@
--INCLUDES = -I$(includedir) -I../src @LIBGCRYPT_CFLAGS@
-+INCLUDES = -I../src @LIBGCRYPT_CFLAGS@
+-AM_CPPFLAGS = -I$(includedir) -I../src @LIBGCRYPT_CFLAGS@
++AM_CPPFLAGS = -I../src @LIBGCRYPT_CFLAGS@
noinst_HEADERS = aes.h ctrmode.h parse.h sesskeys.h readotr.h sha1hmac.h
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/libotr/sepbuild.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/libotr/sepbuild.patch
index f66e52881..dda17a957 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/libotr/sepbuild.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/libotr/sepbuild.patch
@@ -9,8 +9,8 @@ Index: libotr-4.0.0/toolkit/Makefile.am
--- libotr-4.0.0.orig/toolkit/Makefile.am 2014-07-16 18:09:59.777858022 +0000
+++ libotr-4.0.0/toolkit/Makefile.am 2014-07-17 06:28:51.359066155 +0000
@@ -1,4 +1,4 @@
--INCLUDES = -I../src @LIBGCRYPT_CFLAGS@
-+INCLUDES = -I$(top_srcdir)/src @LIBGCRYPT_CFLAGS@
+-AM_CPPFLAGS = -I../src @LIBGCRYPT_CFLAGS@
++AM_CPPFLAGS = -I$(top_srcdir)/src @LIBGCRYPT_CFLAGS@
noinst_HEADERS = aes.h ctrmode.h parse.h sesskeys.h readotr.h sha1hmac.h
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/libotr_4.0.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/libotr_4.0.0.bb
deleted file mode 100644
index dd9eeab7a..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/libotr_4.0.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "(OTR) Messaging allows you to have private conversations over instant messaging"
-HOMEPAGE = "http://www.cypherpunks.ca/otr/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=92fe174bad6da3763f6e9e9eaff6df24"
-DEPENDS = "libgcrypt libgpg-error"
-
-SRC_URI = "http://www.cypherpunks.ca/otr/${BP}.tar.gz \
- file://fix_qa-issue_include.patch \
- file://sepbuild.patch \
-"
-
-SRC_URI[md5sum] = "00979dca82d70383fcd1b01f3974363c"
-SRC_URI[sha256sum] = "3f911994409898e74527730745ef35ed75c352c695a1822a677a34b2cf0293b4"
-
-inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/libotr_4.1.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/libotr_4.1.1.bb
new file mode 100644
index 000000000..c70124421
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/libotr_4.1.1.bb
@@ -0,0 +1,15 @@
+SUMMARY = "(OTR) Messaging allows you to have private conversations over instant messaging"
+HOMEPAGE = "http://www.cypherpunks.ca/otr/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=92fe174bad6da3763f6e9e9eaff6df24"
+DEPENDS = "libgcrypt libgpg-error"
+
+SRC_URI = "http://www.cypherpunks.ca/otr/${BP}.tar.gz \
+ file://fix_qa-issue_include.patch \
+ file://sepbuild.patch \
+"
+
+SRC_URI[md5sum] = "dac5a8778a35f674c046ddf5d97e4d81"
+SRC_URI[sha256sum] = "8b3b182424251067a952fb4e6c7b95a21e644fbb27fbd5f8af2b2ed87ca419f5"
+
+inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-otr/ignore_extra-portability_warnings.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-otr/ignore_extra-portability_warnings.patch
deleted file mode 100644
index db0ad873b..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-otr/ignore_extra-portability_warnings.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-pidgin-otr: Silence no-extra-portability warnings
-
-Make it build with OE, was not building with warning turned on
-
-Upstream-Status: Pending
-
-Signed-off-by: Jakob Drexel <jake42@rommel.stw.uni-erlangen.de>
-
---- a/configure.ac 2012-09-01 17:03:19.000000000 +0200
-+++ b/configure.ac 2014-01-12 21:59:24.920300215 +0100
-@@ -4,7 +4,7 @@
-
- AM_CONFIG_HEADER(config.h)
-
--AM_INIT_AUTOMAKE([-Wall -Werror])
-+AM_INIT_AUTOMAKE([-Wall -Werror -Wno-extra-portability])
-
- AC_PROG_CC
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb
deleted file mode 100644
index 47cdc7242..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "(OTR) Messaging allows you to have private conversations over instant messaging"
-HOMEPAGE = "http://www.cypherpunks.ca/otr/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=92fe174bad6da3763f6e9e9eaff6df24"
-DEPENDS = "libgcrypt libotr pidgin intltool-native"
-
-PNBLACKLIST[pidgin-otr] ?= "depends on blacklisted pidgin - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-SRC_URI = "http://www.cypherpunks.ca/otr/${BP}.tar.gz \
- file://ignore_extra-portability_warnings.patch \
-"
-
-SRC_URI[md5sum] = "eadb953376acc474e56041d4c12aa2c8"
-SRC_URI[sha256sum] = "d56b3f092dbe9ee6597641c7d2dd294884dc04ba47aaf4ec571cd54977df4691"
-
-
-FILES_${PN} = "${libdir}/pidgin/*"
-FILES_${PN}-dbg = "${libdir}/pidgin/.debug"
-FILES_${PN}-dbg += "${libdir}/pidgin/.debug/pidgin-otr.so"
-FILES_${PN}-dbg += "/usr/src/debug/pidgin-otr/${PV}-${PR}/${P}/*"
-inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.2.bb
new file mode 100644
index 000000000..5a21cd3fc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.2.bb
@@ -0,0 +1,15 @@
+SUMMARY = "(OTR) Messaging allows you to have private conversations over instant messaging"
+HOMEPAGE = "https://otr.cypherpunks.ca/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=92fe174bad6da3763f6e9e9eaff6df24"
+DEPENDS = "libgcrypt libotr pidgin gtk+ intltool-native glib-2.0 glib-2.0-native"
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "https://otr.cypherpunks.ca/${BP}.tar.gz \
+"
+SRC_URI[md5sum] = "7ef14e1334a4bc80e5d530f9a3cfc626"
+SRC_URI[sha256sum] = "f4b59eef4a94b1d29dbe0c106dd00cdc630e47f18619fc754e5afbf5724ebac4"
+
+FILES_${PN} = "${libdir}/pidgin/*"
+
+inherit autotools pkgconfig distro_features_check
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
deleted file mode 100644
index 462e21c92..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.11.0.bb
+++ /dev/null
@@ -1,120 +0,0 @@
-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 glib-2.0-native"
-
-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/pidgin/pidgin_2.12.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.12.0.bb
new file mode 100644
index 000000000..088f08b7d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.12.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 glib-2.0-native"
+
+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] = "8287400c4e5663e0e7844e868d5152af"
+SRC_URI[sha256sum] = "8c3d3536d6d3c971bd433ff9946678af70a0f6aa4e6969cc2a83bb357015b7f8"
+
+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.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/poco/poco_1.7.8.bb
deleted file mode 100644
index 1b837354e..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/poco/poco_1.7.8.bb
+++ /dev/null
@@ -1,106 +0,0 @@
-SUMMARY = "Modern, powerful open source cross-platform C++ class libraries"
-DESCRIPTION = "Modern, powerful open source C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems."
-SECTION = "libs"
-HOMEPAGE = "http://pocoproject.org/"
-LICENSE = "BSL-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=4267f48fc738f50380cbeeb76f95cebc"
-
-# These dependencies are required by Foundation
-DEPENDS = "libpcre zlib"
-
-inherit cmake ptest
-
-BBCLASSEXTEND = "native"
-
-SRCREV = "aae9c2e0f64caf019d31ba8f97635d5656b25ba5"
-SRC_URI = " \
- git://github.com/pocoproject/poco.git;branch=poco-${PV} \
- file://run-ptest \
- "
-
-S = "${WORKDIR}/git"
-
-EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DPOCO_UNBUNDLED=ON \
- -DZLIB_LIBRARY_RELEASE:STRING=z -DPCRE_LIBRARY:STRING=pcre \
- ${@bb.utils.contains('PTEST_ENABLED', '1', '-DENABLE_TESTS=ON ', '', d)}"
-
-# For the native build we want to use the bundled version
-EXTRA_OECMAKE_append_class-native = " -DPOCO_UNBUNDLED=OFF"
-
-# do not use rpath
-EXTRA_OECMAKE_append = " -DCMAKE_SKIP_RPATH=ON"
-
-# By default the most commonly used poco components are built
-# Foundation is built anyway and doesn't need to be listed explicitly
-# these don't have dependencies outside oe-core
-PACKAGECONFIG ??= "XML JSON MongoDB PDF Util Net NetSSL Crypto Data DataSQLite Zip"
-
-PACKAGECONFIG[XML] = "-DENABLE_XML=ON -DEXPAT_LIBRARY:STRING=expat,-DENABLE_XML=OFF,expat"
-PACKAGECONFIG[JSON] = "-DENABLE_JSON=ON,-DENABLE_JSON=OFF"
-PACKAGECONFIG[MongoDB] = "-DENABLE_MONGODB=ON,-DENABLE_MONGODB=OFF"
-PACKAGECONFIG[PDF] = "-DENABLE_PDF=ON,-DENABLE_PDF=OFF,zlib"
-PACKAGECONFIG[Util] = "-DENABLE_UTIL=ON,-DENABLE_UTIL=OFF"
-PACKAGECONFIG[Net] = "-DENABLE_NET=ON,-DENABLE_NET=OFF"
-PACKAGECONFIG[NetSSL] = "-DENABLE_NETSSL=ON -DOPENSSL_SSL_LIBRARY:STRING=ssl -DOPENSSL_CRYPTO_LIBRARY:STRING=crypto,-DENABLE_NETSSL=OFF,openssl"
-PACKAGECONFIG[Crypto] = "-DENABLE_CRYPTO=ON -DOPENSSL_SSL_LIBRARY:STRING=ssl -DOPENSSL_CRYPTO_LIBRARY:STRING=crypto,-DENABLE_CRYPTO=OFF,openssl"
-PACKAGECONFIG[Data] = "-DENABLE_DATA=ON,-DENABLE_DATA=OFF"
-PACKAGECONFIG[DataSQLite] = "-DENABLE_DATA_SQLITE=ON -DSQLITE3_LIBRARY:STRING=sqlite3,-DENABLE_DATA_SQLITE=OFF,sqlite3"
-PACKAGECONFIG[Zip] = "-DENABLE_ZIP=ON,-DENABLE_ZIP=OFF"
-
-# Additional components not build by default,
-# they might have dependencies not included in oe-core
-# or they don't work on all architectures
-PACKAGECONFIG[mod_poco] = "-DENABLE_APACHECONNECTOR=ON,-DENABLE_APACHECONNECTOR=OFF,apr apache2"
-PACKAGECONFIG[CppParser] = "-DENABLE_CPPPARSER=ON,-DENABLE_CPPPARSER=OFF"
-PACKAGECONFIG[DataMySQL] = "-DENABLE_DATA_MYSQL=ON -DMYSQL_LIB:STRING=mysqlclient_r,-DENABLE_DATA_MYSQL=OFF,mariadb"
-PACKAGECONFIG[DataODBC] = "-DENABLE_DATA_ODBC=ON,-DENABLE_DATA_ODBC=OFF,libiodbc"
-PACKAGECONFIG[PageCompiler] = "-DENABLE_PAGECOMPILER=ON,-DENABLE_PAGECOMPILER=OFF"
-PACKAGECONFIG[PageCompilerFile2Page] = "-DENABLE_PAGECOMPILER_FILE2PAGE=ON,-DENABLE_PAGECOMPILER_FILE2PAGE=OFF"
-PACKAGECONFIG[SevenZip] = "-DENABLE_SEVENZIP=ON,-DENABLE_SEVENZIP=OFF"
-
-# Make a package for each library
-PACKAGES = "${PN}-dbg ${POCO_PACKAGES}"
-python __anonymous () {
- packages = []
- testrunners = []
- components = d.getVar("PACKAGECONFIG").split()
- components.append("Foundation")
- for lib in components:
- pkg = ("poco-%s" % lib.lower()).replace("_","")
- packages.append(pkg)
- if not d.getVar("FILES_%s" % pkg):
- d.setVar("FILES_%s" % pkg, "${libdir}/libPoco%s.so.*" % lib)
- testrunners.append("%s" % lib)
-
- d.setVar("POCO_PACKAGES", " ".join(packages))
- d.setVar("POCO_TESTRUNNERS", "\n".join(testrunners))
-}
-
-# "poco" is a metapackage which pulls in all Poco components
-PACKAGES += "${PN}"
-RRECOMMENDS_${PN} += "${POCO_PACKAGES}"
-RRECOMMENDS_${PN}_class-native = ""
-ALLOW_EMPTY_${PN} = "1"
-
-# -dev last to pick up the remaining stuff
-PACKAGES += "${PN}-dev ${PN}-staticdev"
-FILES_${PN}-dev = "${includedir} ${libdir}/libPoco*.so ${libdir}/cmake"
-FILES_${PN}-staticdev = "${libdir}/libPoco*.a"
-
-# ptest support
-FILES_${PN}-dbg += "${PTEST_PATH}/bin/.debug"
-
-# cppunit is only built if tests are enabled
-PACKAGES += "${PN}-cppunit"
-FILES_${PN}-cppunit += "${libdir}/libCppUnit.so*"
-ALLOW_EMPTY_${PN}-cppunit = "1"
-
-RDEPENDS_${PN}-ptest += "${PN}-cppunit"
-
-do_install_ptest () {
- cp -rf ${B}/bin/ ${D}${PTEST_PATH}
- cp -f ${B}/lib/libCppUnit.so* ${D}${libdir}
- cp -rf ${B}/*/testsuite/data ${D}${PTEST_PATH}/bin/
- find "${D}${PTEST_PATH}" -executable -exec chrpath -d {} \;
- echo "${POCO_TESTRUNNERS}" > "${D}${PTEST_PATH}/testrunners"
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/poco/poco_1.7.9.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/poco/poco_1.7.9.bb
new file mode 100644
index 000000000..ac6573507
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/poco/poco_1.7.9.bb
@@ -0,0 +1,106 @@
+SUMMARY = "Modern, powerful open source cross-platform C++ class libraries"
+DESCRIPTION = "Modern, powerful open source C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems."
+SECTION = "libs"
+HOMEPAGE = "http://pocoproject.org/"
+LICENSE = "BSL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4267f48fc738f50380cbeeb76f95cebc"
+
+# These dependencies are required by Foundation
+DEPENDS = "libpcre zlib"
+
+inherit cmake ptest
+
+BBCLASSEXTEND = "native"
+
+SRCREV = "bfbe6a328744eaa84cb443b93ee20947aa0be91f"
+SRC_URI = " \
+ git://github.com/pocoproject/poco.git;branch=master \
+ file://run-ptest \
+ "
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DPOCO_UNBUNDLED=ON \
+ -DZLIB_LIBRARY_RELEASE:STRING=z -DPCRE_LIBRARY:STRING=pcre \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', '-DENABLE_TESTS=ON ', '', d)}"
+
+# For the native build we want to use the bundled version
+EXTRA_OECMAKE_append_class-native = " -DPOCO_UNBUNDLED=OFF"
+
+# do not use rpath
+EXTRA_OECMAKE_append = " -DCMAKE_SKIP_RPATH=ON"
+
+# By default the most commonly used poco components are built
+# Foundation is built anyway and doesn't need to be listed explicitly
+# these don't have dependencies outside oe-core
+PACKAGECONFIG ??= "XML JSON MongoDB PDF Util Net NetSSL Crypto Data DataSQLite Zip"
+
+PACKAGECONFIG[XML] = "-DENABLE_XML=ON -DEXPAT_LIBRARY:STRING=expat,-DENABLE_XML=OFF,expat"
+PACKAGECONFIG[JSON] = "-DENABLE_JSON=ON,-DENABLE_JSON=OFF"
+PACKAGECONFIG[MongoDB] = "-DENABLE_MONGODB=ON,-DENABLE_MONGODB=OFF"
+PACKAGECONFIG[PDF] = "-DENABLE_PDF=ON,-DENABLE_PDF=OFF,zlib"
+PACKAGECONFIG[Util] = "-DENABLE_UTIL=ON,-DENABLE_UTIL=OFF"
+PACKAGECONFIG[Net] = "-DENABLE_NET=ON,-DENABLE_NET=OFF"
+PACKAGECONFIG[NetSSL] = "-DENABLE_NETSSL=ON -DOPENSSL_SSL_LIBRARY:STRING=ssl -DOPENSSL_CRYPTO_LIBRARY:STRING=crypto,-DENABLE_NETSSL=OFF,openssl"
+PACKAGECONFIG[Crypto] = "-DENABLE_CRYPTO=ON -DOPENSSL_SSL_LIBRARY:STRING=ssl -DOPENSSL_CRYPTO_LIBRARY:STRING=crypto,-DENABLE_CRYPTO=OFF,openssl"
+PACKAGECONFIG[Data] = "-DENABLE_DATA=ON,-DENABLE_DATA=OFF"
+PACKAGECONFIG[DataSQLite] = "-DENABLE_DATA_SQLITE=ON -DSQLITE3_LIBRARY:STRING=sqlite3,-DENABLE_DATA_SQLITE=OFF,sqlite3"
+PACKAGECONFIG[Zip] = "-DENABLE_ZIP=ON,-DENABLE_ZIP=OFF"
+
+# Additional components not build by default,
+# they might have dependencies not included in oe-core
+# or they don't work on all architectures
+PACKAGECONFIG[mod_poco] = "-DENABLE_APACHECONNECTOR=ON,-DENABLE_APACHECONNECTOR=OFF,apr apache2"
+PACKAGECONFIG[CppParser] = "-DENABLE_CPPPARSER=ON,-DENABLE_CPPPARSER=OFF"
+PACKAGECONFIG[DataMySQL] = "-DENABLE_DATA_MYSQL=ON -DMYSQL_LIB:STRING=mysqlclient_r,-DENABLE_DATA_MYSQL=OFF,mariadb"
+PACKAGECONFIG[DataODBC] = "-DENABLE_DATA_ODBC=ON,-DENABLE_DATA_ODBC=OFF,libiodbc"
+PACKAGECONFIG[PageCompiler] = "-DENABLE_PAGECOMPILER=ON,-DENABLE_PAGECOMPILER=OFF"
+PACKAGECONFIG[PageCompilerFile2Page] = "-DENABLE_PAGECOMPILER_FILE2PAGE=ON,-DENABLE_PAGECOMPILER_FILE2PAGE=OFF"
+PACKAGECONFIG[SevenZip] = "-DENABLE_SEVENZIP=ON,-DENABLE_SEVENZIP=OFF"
+
+# Make a package for each library
+PACKAGES = "${PN}-dbg ${POCO_PACKAGES}"
+python __anonymous () {
+ packages = []
+ testrunners = []
+ components = d.getVar("PACKAGECONFIG").split()
+ components.append("Foundation")
+ for lib in components:
+ pkg = ("poco-%s" % lib.lower()).replace("_","")
+ packages.append(pkg)
+ if not d.getVar("FILES_%s" % pkg):
+ d.setVar("FILES_%s" % pkg, "${libdir}/libPoco%s.so.*" % lib)
+ testrunners.append("%s" % lib)
+
+ d.setVar("POCO_PACKAGES", " ".join(packages))
+ d.setVar("POCO_TESTRUNNERS", "\n".join(testrunners))
+}
+
+# "poco" is a metapackage which pulls in all Poco components
+PACKAGES += "${PN}"
+RRECOMMENDS_${PN} += "${POCO_PACKAGES}"
+RRECOMMENDS_${PN}_class-native = ""
+ALLOW_EMPTY_${PN} = "1"
+
+# -dev last to pick up the remaining stuff
+PACKAGES += "${PN}-dev ${PN}-staticdev"
+FILES_${PN}-dev = "${includedir} ${libdir}/libPoco*.so ${libdir}/cmake"
+FILES_${PN}-staticdev = "${libdir}/libPoco*.a"
+
+# ptest support
+FILES_${PN}-dbg += "${PTEST_PATH}/bin/.debug"
+
+# cppunit is only built if tests are enabled
+PACKAGES += "${PN}-cppunit"
+FILES_${PN}-cppunit += "${libdir}/libCppUnit.so*"
+ALLOW_EMPTY_${PN}-cppunit = "1"
+
+RDEPENDS_${PN}-ptest += "${PN}-cppunit"
+
+do_install_ptest () {
+ cp -rf ${B}/bin/ ${D}${PTEST_PATH}
+ cp -f ${B}/lib/libCppUnit.so* ${D}${libdir}
+ cp -rf ${B}/*/testsuite/data ${D}${PTEST_PATH}/bin/
+ find "${D}${PTEST_PATH}" -executable -exec chrpath -d {} \;
+ echo "${POCO_TESTRUNNERS}" > "${D}${PTEST_PATH}/testrunners"
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.53.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.53.0.bb
deleted file mode 100644
index c1bfb31e7..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.53.0.bb
+++ /dev/null
@@ -1,55 +0,0 @@
-SUMMARY = "Poppler is a PDF rendering library based on the xpdf-3.0 code base"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-SRC_URI = " \
- http://poppler.freedesktop.org/${BP}.tar.xz \
- file://0001-add-manadatory-options-to-find-qt4-qt5-moc.patch \
- file://0002-fix-gcc-6-math-ambiguous-errors.patch \
-"
-SRC_URI[md5sum] = "943679f1030b9bc19a989f24121a282a"
-SRC_URI[sha256sum] = "592bf72960c6b5948b67657594b05e72d9a278daf7613c9f3cdff9a5b73096a8"
-
-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 qttools-native"
-PACKAGECONFIG[qt4e] = "--enable-poppler-qt4 --with-moc-qt4=${STAGING_BINDIR_NATIVE}/moc4,--disable-poppler-qt4,qt4-embedded"
-PACKAGECONFIG[nss] = "--enable-libnss,--disable-libnss,nss"
-
-SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
-
-EXTRA_OECONF = "\
- --enable-xpdf-headers \
- --disable-gtk-test \
- --enable-zlib \
-"
-
-do_compile_prepend() {
- export GIR_EXTRA_LIBS_PATH="${B}/poppler/.libs"
-}
-
-# Adjust library names when building for QT4e
-QT4E_PATCHES = "${@bb.utils.contains('PACKAGECONFIG', 'qt4e', 'file://fix-qt4e-library-dependencies.patch', '', d)}"
-SRC_URI_append = "${QT4E_PATCHES}"
-
-# check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points
-def get_poppler_fpu_setting(bb, d):
- if d.getVar('TARGET_FPU') in [ 'soft' ]:
- return "--enable-fixedpoint"
- return ""
-
-EXTRA_OECONF += "${@get_poppler_fpu_setting(bb, d)}"
-
-PACKAGES =+ "libpoppler libpoppler-glib"
-FILES_libpoppler = "${libdir}/libpoppler.so.*"
-FILES_libpoppler-glib = "${libdir}/libpoppler-glib.so.*"
-
-RDEPENDS_libpoppler = "poppler-data"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.57.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.57.0.bb
new file mode 100644
index 000000000..63b77aafe
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.57.0.bb
@@ -0,0 +1,55 @@
+SUMMARY = "Poppler is a PDF rendering library based on the xpdf-3.0 code base"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+SRC_URI = " \
+ http://poppler.freedesktop.org/${BP}.tar.xz \
+ file://0001-add-manadatory-options-to-find-qt4-qt5-moc.patch \
+ file://0002-fix-gcc-6-math-ambiguous-errors.patch \
+"
+SRC_URI[md5sum] = "bc5a191741604552c90d484103229374"
+SRC_URI[sha256sum] = "0ea37de71b7db78212ebc79df59f99b66409a29c2eac4d882dae9f2397fe44d8"
+
+DEPENDS = "fontconfig zlib cairo lcms"
+
+inherit autotools pkgconfig gtk-doc gobject-introspection
+
+PACKAGECONFIG ??= "jpeg openjpeg png tiff nss ${@bb.utils.contains('BBFILE_COLLECTIONS', 'qt5-layer', 'qt5', '', d)}"
+PACKAGECONFIG[jpeg] = "--enable-dctdecoder=libjpeg,--enable-dctdecoder=none,jpeg"
+PACKAGECONFIG[png] = "--enable-libpng,--disable-libpng,libpng"
+PACKAGECONFIG[tiff] = "--enable-libtiff,--disable-libtiff,tiff"
+PACKAGECONFIG[curl] = "--enable-libcurl,--disable-libcurl,curl"
+PACKAGECONFIG[openjpeg] = "--enable-libopenjpeg=openjpeg2,--disable-libopenjpeg,openjpeg"
+PACKAGECONFIG[qt5] = "--enable-poppler-qt5 --with-moc-qt5=${STAGING_BINDIR_NATIVE}/qt5/moc,--disable-poppler-qt5,qtbase qttools-native"
+PACKAGECONFIG[qt4e] = "--enable-poppler-qt4 --with-moc-qt4=${STAGING_BINDIR_NATIVE}/moc4,--disable-poppler-qt4,qt4-embedded"
+PACKAGECONFIG[nss] = "--enable-libnss,--disable-libnss,nss"
+
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
+
+EXTRA_OECONF = "\
+ --enable-xpdf-headers \
+ --disable-gtk-test \
+ --enable-zlib \
+"
+
+do_compile_prepend() {
+ export GIR_EXTRA_LIBS_PATH="${B}/poppler/.libs"
+}
+
+# Adjust library names when building for QT4e
+QT4E_PATCHES = "${@bb.utils.contains('PACKAGECONFIG', 'qt4e', 'file://fix-qt4e-library-dependencies.patch', '', d)}"
+SRC_URI_append = "${QT4E_PATCHES}"
+
+# check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points
+def get_poppler_fpu_setting(bb, d):
+ if d.getVar('TARGET_FPU') in [ 'soft' ]:
+ return "--enable-fixedpoint"
+ return ""
+
+EXTRA_OECONF += "${@get_poppler_fpu_setting(bb, d)}"
+
+PACKAGES =+ "libpoppler libpoppler-glib"
+FILES_libpoppler = "${libdir}/libpoppler.so.*"
+FILES_libpoppler-glib = "${libdir}/libpoppler-glib.so.*"
+
+RDEPENDS_libpoppler = "poppler-data"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/postgresql_9.4.11.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/postgresql_9.4.11.bb
deleted file mode 100644
index e4d2edad0..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/postgresql_9.4.11.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require postgresql.inc
-
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=81b69ddb31a8be66baafd14a90146ee2"
-
-SRC_URI += "\
- file://remove.autoconf.version.check.patch \
- file://not-check-libperl.patch \
-"
-
-SRC_URI[md5sum] = "2fee03f2034034dbfcb3321a0bb0f829"
-SRC_URI[sha256sum] = "e3eb51d045c180b03d2de1f0c3af9356e10be49448e966ca01dfc2c6d1cc9d23"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/postgresql_9.4.15.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/postgresql_9.4.15.bb
new file mode 100644
index 000000000..eec099a12
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/postgresql_9.4.15.bb
@@ -0,0 +1,15 @@
+require postgresql.inc
+
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=81b69ddb31a8be66baafd14a90146ee2"
+
+SRC_URI += "\
+ file://remove.autoconf.version.check.patch \
+ file://not-check-libperl.patch \
+"
+
+do_compile_prepend_libc-musl() {
+ sed -i -e 's/\-lnsl//g' ${B}/src/Makefile.global
+}
+
+SRC_URI[md5sum] = "0aada0833a9208ae5fab966c73c39379"
+SRC_URI[sha256sum] = "12bfb3c7e8e45515ef921ad365e122682a5c4935dcc0032644433af2de31acc4"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/pps-tools/pps-tools_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/pps-tools/pps-tools_git.bb
index 73c46eecd..8bf903699 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/pps-tools/pps-tools_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/pps-tools/pps-tools_git.bb
@@ -1,4 +1,5 @@
SUMMARY = "User-space tools for LinuxPPS"
+HOMEPAGE = "http://linuxpps.org"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
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
index 97326a20e..6e1c8ab4a 100644
--- 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
@@ -12,5 +12,3 @@ SRC_URI = "http://ftp.postgresql.org/pub/odbc/versions/src/${BPN}-${PV}.tar.gz \
SRC_URI[md5sum] = "4c6e0b22187d7bb1c998ffac89e50f6b"
SRC_URI[sha256sum] = "9521f328bf28aaaf5c8488dc89792b614f9d6271742c0baf9bb41c97537764a8"
-
-PNBLACKLIST[psqlodbc] ?= "Depends on blacklisted postgresql - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/re2c/re2c/configure.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/re2c/re2c/configure.patch
deleted file mode 100644
index 8ca0969ad..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/re2c/re2c/configure.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Modernise configure to work with modern automake.
-
-RP 2014/7/14
-
-Upstream-Status: Pending
-
-Index: re2c-0.13.5/configure.in
-===================================================================
---- re2c-0.13.5.orig/configure.in 2008-05-25 14:42:34.000000000 +0000
-+++ re2c-0.13.5/configure.in 2014-07-17 14:10:40.595821292 +0000
-@@ -1,6 +1,6 @@
- AC_PREREQ([2.57])
- AC_INIT(re2c, 0.13.5, re2c-general@lists.sourceforge.net)
--AM_INIT_AUTOMAKE(re2c, $PACKAGE_VERSION)
-+AM_INIT_AUTOMAKE([foreign])
- AC_CONFIG_SRCDIR(actions.cc)
- AM_CONFIG_HEADER(config.h)
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/re2c/re2c_0.13.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/re2c/re2c_0.13.5.bb
deleted file mode 100644
index dcac940f8..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/re2c/re2c_0.13.5.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "Tool for writing very fast and very flexible scanners"
-HOMEPAGE = "http://re2c.sourceforge.net/"
-AUTHOR = "Marcus Börger <helly@users.sourceforge.net>"
-SECTION = "devel"
-LICENSE = "PD"
-LIC_FILES_CHKSUM = "file://README;beginline=180;md5=822830a2204aef353f2c489f62e02089"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
- file://configure.patch"
-SRC_URI[md5sum] = "4a97d8f77ed6d2c76c8bd840a43f5633"
-SRC_URI[sha256sum] = "f3a995139af475e80a30207d02728b1e0065b0caade7375e974cb1b14861668c"
-
-BBCLASSEXTEND = "native"
-
-inherit autotools
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/satyr/files/0001-do-not-support-python2.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/satyr/files/0001-do-not-support-python2.patch
new file mode 100644
index 000000000..9e95a3f9d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/satyr/files/0001-do-not-support-python2.patch
@@ -0,0 +1,84 @@
+From 206f334d62da17093e784094c9d9e80c853f704f Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 12 May 2017 03:03:46 -0400
+Subject: [PATCH] do not support python2
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ configure.ac | 16 ----------------
+ python/Makefile.am | 24 ------------------------
+ 2 files changed, 40 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 200a7cc..8431c51 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -22,22 +22,6 @@ AM_MISSING_PROG([AUTOM4TE], [autom4te])
+ # Needed by tests/atlocal.in.
+ AC_SUBST([O0CFLAGS], [`echo $CFLAGS | sed 's/-O[[0-9]] *//'`])
+
+-AM_PATH_PYTHON
+-AM_CONDITIONAL([HAVE_PYTHON], test -n "$PYTHON")
+-[if test -z "$PYTHON"; then]
+- [echo "The python interpreter was not found in the search path. The Python language bindings"]
+- [echo "will not be built. If you want to build the Python language bindings, please ensure"]
+- [echo "that python is installed and its directory is included in the search path."]
+- [echo "Then run configure again before attempting to build Satyr."]
+-[fi]
+-
+-# Just PKG_CHECK_MODULES([PYTHON], [python]) works only with python2.7+
+-# Below, if python is not found, we set up for python2.6 w/o checking:
+-PKG_CHECK_MODULES([PYTHON], [python2],,[
+- PYTHON_LIBS='-L/usr/lib64 -lpython2.6'
+- PYTHON_CFLAGS='-I/usr/include/python2.6'
+-])
+-
+ AC_ARG_ENABLE([python-manpage],
+ [AS_HELP_STRING([--disable-python-manpage],
+ [Disable python bindings manpage build])],
+diff --git a/python/Makefile.am b/python/Makefile.am
+index 36fc2e9..0b73f66 100644
+--- a/python/Makefile.am
++++ b/python/Makefile.am
+@@ -1,12 +1,5 @@
+ SUBDIRS = . doc
+
+-py2satyrdir = $(pyexecdir)/satyr
+-
+-py2satyr_PYTHON = \
+- __init__.py
+-
+-py2satyr_LTLIBRARIES = _satyr.la
+-
+ PYEXTFILES = \
+ py_cluster.h \
+ py_cluster.c \
+@@ -75,23 +68,6 @@ PYEXTLDFLAGS = \
+ -module \
+ -avoid-version
+
+-_satyr_la_SOURCES = $(PYEXTFILES)
+-_satyr_la_CPPFLAGS = \
+- $(PYEXTCPPFLAGS) \
+- $(PYTHON_CFLAGS)
+-_satyr_la_LDFLAGS = \
+- $(PYEXTLDFLAGS) \
+- -export-symbols-regex init_satyr
+-
+-# Depending on the configure option, we either link libsatyr.so dynamically (as
+-# is usual), or directly include its object files (by including the
+-# convenience library).
+-if ENABLE_STATIC_PYTHON_MODULE
+-_satyr_la_LIBADD = ../lib/libsatyr_conv.la
+-else
+-_satyr_la_LIBADD = ../lib/libsatyr.la
+-endif
+-
+ if WITH_PYTHON3
+ py3satyrdir = $(py3execdir)/satyr
+
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/satyr/files/0002-fix-compile-failure-against-musl-C-library.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/satyr/files/0002-fix-compile-failure-against-musl-C-library.patch
new file mode 100644
index 000000000..5827eb4d1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/satyr/files/0002-fix-compile-failure-against-musl-C-library.patch
@@ -0,0 +1,28 @@
+From 23f827ea94284656972652f61f2c6aad96092cc8 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 20 Jul 2017 23:00:29 -0400
+Subject: [PATCH] fix compile failure against musl C library
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ lib/rpm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/rpm.c b/lib/rpm.c
+index 920e145..58140bf 100644
+--- a/lib/rpm.c
++++ b/lib/rpm.c
+@@ -188,7 +188,7 @@ sr_rpm_package_sort(struct sr_rpm_package *packages)
+ }
+
+ /* Sort the array. */
+- qsort(array, count, sizeof(struct sr_rpm_package*), (comparison_fn_t)cmp_nevra_qsort_wrapper);
++ qsort(array, count, sizeof(struct sr_rpm_package*), cmp_nevra_qsort_wrapper);
+
+ /* Create a linked list from the sorted array. */
+ for (size_t loop = 0; loop < count; ++loop)
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.23.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.23.bb
new file mode 100644
index 000000000..f795c3717
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.23.bb
@@ -0,0 +1,33 @@
+DESCRIPTION = "Satyr is a collection of low-level algorithms for program \
+failure processing, analysis, and reporting supporting kernel space, user \
+space, Python, and Java programs"
+
+HOMEPAGE = "https://github.com/abrt/satyr"
+LICENSE = "GPLv2"
+
+inherit autotools-brokensep python3native pkgconfig
+
+SRC_URI = "git://github.com/abrt/satyr.git \
+ file://0001-do-not-support-python2.patch \
+ file://0002-fix-compile-failure-against-musl-C-library.patch \
+"
+SRCREV = "4742fd4857c446b96f712d52e2e4cd0b6cfe7398"
+S = "${WORKDIR}/git"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS += " \
+ gdb \
+"
+
+PACKAGES += "python3-${PN}"
+FILES_python3-${PN} = "${PYTHON_SITEPACKAGES_DIR}/${BPN}"
+
+PACKAGECONFIG ??= "python3 rpm"
+PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3"
+PACKAGECONFIG[pythonmanpage] = "--enable-python-manpage, --disable-python-manpage"
+PACKAGECONFIG[rpm] = "--with-rpm, --without-rpm, rpm"
+
+do_configure_prepend() {
+ ${S}/gen-version
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/sdparm/sdparm_1.10.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/sdparm/sdparm_1.10.bb
index 8ab2819d3..3299a77aa 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/sdparm/sdparm_1.10.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/sdparm/sdparm_1.10.bb
@@ -10,6 +10,7 @@ DEPENDS="sg3-utils"
SRC_URI = "http://sg.danny.cz/sg/p/${BPN}-${PV}.tgz \
file://make-sysroot-work.patch \
"
+MIRRORS += "http://sg.danny.cz/sg/p https://fossies.org/linux/misc"
PACKAGES =+ "${PN}-scripts"
RDEPENDS_${PN}-scripts += "bash ${PN}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/serial-utils/serial-forward/0001-serial_forward-Disable-default-static-linking.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/serial-utils/serial-forward/0001-serial_forward-Disable-default-static-linking.patch
new file mode 100644
index 000000000..7dcc67d11
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/serial-utils/serial-forward/0001-serial_forward-Disable-default-static-linking.patch
@@ -0,0 +1,29 @@
+From a0d815ad9918aba977aed9275b3bf3d750a1709b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 30 Aug 2017 19:24:40 -0700
+Subject: [PATCH] serial_forward: Disable default static linking
+
+This does not work with ssp turned on with hardening flags on musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tools/serial_forward/src/Makefile.am | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/tools/serial_forward/src/Makefile.am b/tools/serial_forward/src/Makefile.am
+index 3f598286..bcac9bc9 100644
+--- a/tools/serial_forward/src/Makefile.am
++++ b/tools/serial_forward/src/Makefile.am
+@@ -20,9 +20,6 @@ serial_forward_SOURCES = \
+ cy8mrln.h \
+ $(NULL)
+
+-serial_forward_LDFLAGS = \
+- -all-static
+-
+ pty_forward_SOURCES = \
+ pty_forward.c \
+ $(NULL)
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/serial-utils/serial-forward_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/serial-utils/serial-forward_git.bb
index 6494de9d3..0ef829856 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/serial-utils/serial-forward_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/serial-utils/serial-forward_git.bb
@@ -3,10 +3,12 @@ AUTHOR = "Holger 'Zecke' Freyther'"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07"
SECTION = "console/devel"
-SRCREV = "00dbec2636ae0385ad028587e20e446272ff97ec"
+SRCREV = "07c6fdede0870edc37a8d51d033b6e7e29aa7c91"
PV = "1.1+gitr${SRCPV}"
-SRC_URI = "git://github.com/freesmartphone/cornucopia.git"
+SRC_URI = "git://github.com/freesmartphone/cornucopia.git \
+ file://0001-serial_forward-Disable-default-static-linking.patch;striplevel=3 \
+ "
S = "${WORKDIR}/git/tools/serial_forward"
inherit autotools
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
index a11bd77a0..c7de05740 100644
--- 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
@@ -9,6 +9,7 @@ LICENSE = "GPLv2+ & BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=f90da7fc52172599dbf082d7620f18ca"
SRC_URI = "http://sg.danny.cz/sg/p/sg3_utils-${PV}.tgz"
+MIRRORS += "http://sg.danny.cz/sg/p https://fossies.org/linux/misc"
SRC_URI[md5sum] = "28080de5bf2222f8b55a29093bec8aea"
SRC_URI[sha256sum] = "1dcb7a0309bd0ba3d4a83acb526973b80106ee26cd9f7398186cd3f0633c9ef3"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-Use-pragma-once-unconditionally.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-Use-pragma-once-unconditionally.patch
new file mode 100644
index 000000000..ef6ae00e3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-Use-pragma-once-unconditionally.patch
@@ -0,0 +1,872 @@
+From 3100e23c50e38bff0c2ec77bc30049c113c29414 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 16 Jun 2017 20:44:31 -0700
+Subject: [PATCH 1/6] Use pragma once unconditionally
+
+in OE we do not worry about supporting
+gcc 3.4 anyway
+
+Upstream-Status: Inappropriate[Bumps required gcc to be > 3.4]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/efi/efi.h | 2 --
+ lib/engine/ahci.h | 2 --
+ lib/engine/ahci_cdrom.h | 2 --
+ lib/engine/ahci_disk.h | 2 --
+ lib/engine/ahci_multiplier.h | 2 --
+ lib/engine/ahci_multiplier_phy.h | 2 --
+ lib/engine/ahci_multiplier_port.h | 2 --
+ lib/engine/ahci_phy.h | 2 --
+ lib/engine/ahci_port.h | 2 --
+ lib/engine/ahci_raid_info.h | 2 --
+ lib/engine/ahci_tape.h | 2 --
+ lib/engine/array.h | 2 --
+ lib/engine/block_device.h | 2 --
+ lib/engine/cache.h | 2 --
+ lib/engine/container.h | 2 --
+ lib/engine/context_manager.h | 2 --
+ lib/engine/controller.h | 2 --
+ lib/engine/enclosure.h | 2 --
+ lib/engine/end_device.h | 2 --
+ lib/engine/event.h | 2 --
+ lib/engine/event_manager.h | 2 --
+ lib/engine/exception.h | 2 --
+ lib/engine/filesystem.h | 2 --
+ lib/engine/isci.h | 2 --
+ lib/engine/isci_cdrom.h | 2 --
+ lib/engine/isci_disk.h | 2 --
+ lib/engine/isci_expander.h | 2 --
+ lib/engine/isci_expander_phy.h | 2 --
+ lib/engine/isci_expander_port.h | 2 --
+ lib/engine/isci_phy.h | 2 --
+ lib/engine/isci_port.h | 2 --
+ lib/engine/isci_raid_info.h | 2 --
+ lib/engine/isci_tape.h | 2 --
+ lib/engine/list.h | 2 --
+ lib/engine/mdadm_config.h | 2 --
+ lib/engine/multimedia_device.h | 2 --
+ lib/engine/nondisk_device.h | 2 --
+ lib/engine/object.h | 2 --
+ lib/engine/pci_header.h | 2 --
+ lib/engine/phy.h | 2 --
+ lib/engine/port.h | 2 --
+ lib/engine/raid_device.h | 2 --
+ lib/engine/raid_info.h | 2 --
+ lib/engine/remote_port.h | 2 --
+ lib/engine/routing_device.h | 2 --
+ lib/engine/session.h | 2 --
+ lib/engine/session_manager.h | 2 --
+ lib/engine/storage_device.h | 2 --
+ lib/engine/stream_device.h | 2 --
+ lib/engine/string.h | 2 --
+ lib/engine/unique_id_manager.h | 2 --
+ lib/engine/utils.h | 2 --
+ lib/engine/volume.h | 2 --
+ lib/log/log.h | 2 --
+ lib/mpb/machine_bytes.h | 2 --
+ lib/mpb/mpb.h | 2 --
+ lib/orom/orom.h | 2 --
+ 57 files changed, 114 deletions(-)
+
+diff --git a/lib/efi/efi.h b/lib/efi/efi.h
+index 9e7e41b..804e567 100644
+--- a/lib/efi/efi.h
++++ b/lib/efi/efi.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __EFI_H__INCLUDED__
+ #define __EFI_H__INCLUDED__
+diff --git a/lib/engine/ahci.h b/lib/engine/ahci.h
+index e883d1a..80a9699 100644
+--- a/lib/engine/ahci.h
++++ b/lib/engine/ahci.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __AHCI_H__INCLUDED__
+ #define __AHCI_H__INCLUDED__
+diff --git a/lib/engine/ahci_cdrom.h b/lib/engine/ahci_cdrom.h
+index 442f301..d8ca042 100644
+--- a/lib/engine/ahci_cdrom.h
++++ b/lib/engine/ahci_cdrom.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __AHCI_CDROM_H__INCLUDED__
+ #define __AHCI_CDROM_H__INCLUDED__
+diff --git a/lib/engine/ahci_disk.h b/lib/engine/ahci_disk.h
+index 7892a53..1bad9ad 100644
+--- a/lib/engine/ahci_disk.h
++++ b/lib/engine/ahci_disk.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __AHCI_DISK_H__INCLUDED__
+ #define __AHCI_DISK_H__INCLUDED__
+diff --git a/lib/engine/ahci_multiplier.h b/lib/engine/ahci_multiplier.h
+index d63e9bc..1029af2 100644
+--- a/lib/engine/ahci_multiplier.h
++++ b/lib/engine/ahci_multiplier.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __AHCI_MULTIPLIER_H__INCLUDED__
+ #define __AHCI_MULTIPLIER_H__INCLUDED__
+diff --git a/lib/engine/ahci_multiplier_phy.h b/lib/engine/ahci_multiplier_phy.h
+index 58ecebc..2132c23 100644
+--- a/lib/engine/ahci_multiplier_phy.h
++++ b/lib/engine/ahci_multiplier_phy.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __AHCI_MULTIPLIER_PHY_H__INCLUDED__
+ #define __AHCI_MULTIPLIER_PHY_H__INCLUDED__
+diff --git a/lib/engine/ahci_multiplier_port.h b/lib/engine/ahci_multiplier_port.h
+index 5ff4cf7..2402473 100644
+--- a/lib/engine/ahci_multiplier_port.h
++++ b/lib/engine/ahci_multiplier_port.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __AHCI_MULTIPLIER_PORT_H__INCLUDED__
+ #define __AHCI_MULTIPLIER_PORT_H__INCLUDED__
+diff --git a/lib/engine/ahci_phy.h b/lib/engine/ahci_phy.h
+index e2254e7..a44dae0 100644
+--- a/lib/engine/ahci_phy.h
++++ b/lib/engine/ahci_phy.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __AHCI_PHY_H__INCLUDED__
+ #define __AHCI_PHY_H__INCLUDED__
+diff --git a/lib/engine/ahci_port.h b/lib/engine/ahci_port.h
+index f9e3308..03c109b 100644
+--- a/lib/engine/ahci_port.h
++++ b/lib/engine/ahci_port.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __AHCI_PORT_H__INCLUDED__
+ #define __AHCI_PORT_H__INCLUDED__
+diff --git a/lib/engine/ahci_raid_info.h b/lib/engine/ahci_raid_info.h
+index e1c81ae..c70e63e 100644
+--- a/lib/engine/ahci_raid_info.h
++++ b/lib/engine/ahci_raid_info.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __AHCI_RAID_INFO_H__INCLUDED__
+ #define __AHCI_RAID_INFO_H__INCLUDED__
+diff --git a/lib/engine/ahci_tape.h b/lib/engine/ahci_tape.h
+index cdd9f13..a91fd2c 100644
+--- a/lib/engine/ahci_tape.h
++++ b/lib/engine/ahci_tape.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __AHCI_TAPE_H__INCLUDED__
+ #define __AHCI_TAPE_H__INCLUDED__
+diff --git a/lib/engine/array.h b/lib/engine/array.h
+index 36fb4a4..0986ce3 100644
+--- a/lib/engine/array.h
++++ b/lib/engine/array.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __ARRAY_H__INCLUDED__
+ #define __ARRAY_H__INCLUDED__
+diff --git a/lib/engine/block_device.h b/lib/engine/block_device.h
+index 4503914..45dd3db 100644
+--- a/lib/engine/block_device.h
++++ b/lib/engine/block_device.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __BLOCK_DEVICE_H__INCLUDED__
+ #define __BLOCK_DEVICE_H__INCLUDED__
+diff --git a/lib/engine/cache.h b/lib/engine/cache.h
+index 72cf521..72da20b 100644
+--- a/lib/engine/cache.h
++++ b/lib/engine/cache.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3,4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __CACHE_H__INCLUDED__
+ #define __CACHE_H__INCLUDED__
+diff --git a/lib/engine/container.h b/lib/engine/container.h
+index 53867b0..c71180c 100644
+--- a/lib/engine/container.h
++++ b/lib/engine/container.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3,4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __CONTAINER_H__INCLUDED__
+ #define __CONTAINER_H__INCLUDED__
+diff --git a/lib/engine/context_manager.h b/lib/engine/context_manager.h
+index fe9c256..6b4a2e7 100644
+--- a/lib/engine/context_manager.h
++++ b/lib/engine/context_manager.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3,4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __CONTEXT_H__INCLUDED__
+ #define __CONTEXT_H__INCLUDED__
+diff --git a/lib/engine/controller.h b/lib/engine/controller.h
+index a2f188a..6bd078f 100644
+--- a/lib/engine/controller.h
++++ b/lib/engine/controller.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __CONTROLLER_H__INCLUDED__
+ #define __CONTROLLER_H__INCLUDED__
+diff --git a/lib/engine/enclosure.h b/lib/engine/enclosure.h
+index 3faef0c..f4b13cc 100644
+--- a/lib/engine/enclosure.h
++++ b/lib/engine/enclosure.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __ENCLOSURE_H__INCLUDED__
+ #define __ENCLOSURE_H__INCLUDED__
+diff --git a/lib/engine/end_device.h b/lib/engine/end_device.h
+index f147e41..269b236 100644
+--- a/lib/engine/end_device.h
++++ b/lib/engine/end_device.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __END_DEVICE_H__INCLUDED__
+ #define __END_DEVICE_H__INCLUDED__
+diff --git a/lib/engine/event.h b/lib/engine/event.h
+index cf9bb4f..11a4926 100644
+--- a/lib/engine/event.h
++++ b/lib/engine/event.h
+@@ -12,9 +12,7 @@ Redistribution and use in source and binary forms, with or without modification,
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __EVENT_H__INCLUDED__
+ #define __EVENT_H__INCLUDED__
+diff --git a/lib/engine/event_manager.h b/lib/engine/event_manager.h
+index 65007b9..a7a8fc3 100644
+--- a/lib/engine/event_manager.h
++++ b/lib/engine/event_manager.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __EVENT_MANAGER_H__INCLUDED__
+ #define __EVENT_MANAGER_H__INCLUDED__
+diff --git a/lib/engine/exception.h b/lib/engine/exception.h
+index 171e45d..183ebb5 100644
+--- a/lib/engine/exception.h
++++ b/lib/engine/exception.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __EXCEPTION_H__INCLUDED__
+ #define __EXCEPTION_H__INCLUDED__
+diff --git a/lib/engine/filesystem.h b/lib/engine/filesystem.h
+index 9c2ce39..b49df07 100644
+--- a/lib/engine/filesystem.h
++++ b/lib/engine/filesystem.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __FILESYSTEM_H__INCLUDED__
+ #define __FILESYSTEM_H__INCLUDED__
+diff --git a/lib/engine/isci.h b/lib/engine/isci.h
+index ea35cd4..0fa602a 100644
+--- a/lib/engine/isci.h
++++ b/lib/engine/isci.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __ISCI_H__INCLUDED__
+ #define __ISCI_H__INCLUDED__
+diff --git a/lib/engine/isci_cdrom.h b/lib/engine/isci_cdrom.h
+index 87b7e7b..25637f9 100644
+--- a/lib/engine/isci_cdrom.h
++++ b/lib/engine/isci_cdrom.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __ISCI_CDROM_H__INCLUDED__
+ #define __ISCI_CDROM_H__INCLUDED__
+diff --git a/lib/engine/isci_disk.h b/lib/engine/isci_disk.h
+index 596c3cf..8dd0dae 100644
+--- a/lib/engine/isci_disk.h
++++ b/lib/engine/isci_disk.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __ISCI_DISK_H__INCLUDED__
+ #define __ISCI_DISK_H__INCLUDED__
+diff --git a/lib/engine/isci_expander.h b/lib/engine/isci_expander.h
+index ca7c2f1..7dc1920 100644
+--- a/lib/engine/isci_expander.h
++++ b/lib/engine/isci_expander.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __ISCI_EXPANDER_H__INCLUDED__
+ #define __ISCI_EXPANDER_H__INCLUDED__
+diff --git a/lib/engine/isci_expander_phy.h b/lib/engine/isci_expander_phy.h
+index c9cd770..d3d2832 100644
+--- a/lib/engine/isci_expander_phy.h
++++ b/lib/engine/isci_expander_phy.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __ISCI_EXPANDER_PHY_H__INCLUDED__
+ #define __ISCI_EXPANDER_PHY_H__INCLUDED__
+diff --git a/lib/engine/isci_expander_port.h b/lib/engine/isci_expander_port.h
+index e65a124..4fc9310 100644
+--- a/lib/engine/isci_expander_port.h
++++ b/lib/engine/isci_expander_port.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __ISCI_EXPANDER_PORT_H__INCLUDED__
+ #define __ISCI_EXPANDER_PORT_H__INCLUDED__
+diff --git a/lib/engine/isci_phy.h b/lib/engine/isci_phy.h
+index 767a5b2..105c697 100644
+--- a/lib/engine/isci_phy.h
++++ b/lib/engine/isci_phy.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __ISCI_PHY_H__INCLUDED__
+ #define __ISCI_PHY_H__INCLUDED__
+diff --git a/lib/engine/isci_port.h b/lib/engine/isci_port.h
+index b80be7f..5ccc151 100644
+--- a/lib/engine/isci_port.h
++++ b/lib/engine/isci_port.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __ISCI_PORT_H__INCLUDED__
+ #define __ISCI_PORT_H__INCLUDED__
+diff --git a/lib/engine/isci_raid_info.h b/lib/engine/isci_raid_info.h
+index 1df6477..b0b046a 100644
+--- a/lib/engine/isci_raid_info.h
++++ b/lib/engine/isci_raid_info.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __ISCI_RAID_INFO_H__INCLUDED__
+ #define __ISCI_RAID_INFO_H__INCLUDED__
+diff --git a/lib/engine/isci_tape.h b/lib/engine/isci_tape.h
+index 985f767..a2cef2d 100644
+--- a/lib/engine/isci_tape.h
++++ b/lib/engine/isci_tape.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __ISCI_TAPE_H__INCLUDED__
+ #define __ISCI_TAPE_H__INCLUDED__
+diff --git a/lib/engine/list.h b/lib/engine/list.h
+index 9a7c3c3..6395830 100644
+--- a/lib/engine/list.h
++++ b/lib/engine/list.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __LIST_H__INCLUDED__
+ #define __LIST_H__INCLUDED__
+diff --git a/lib/engine/mdadm_config.h b/lib/engine/mdadm_config.h
+index c94020f..e415b4f 100644
+--- a/lib/engine/mdadm_config.h
++++ b/lib/engine/mdadm_config.h
+@@ -11,9 +11,7 @@ Redistribution and use in source and binary forms, with or without modification,
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __MDADM_CONFIG_H__INCLUDED__
+ #define __MDADM_CONFIG_H__INCLUDED__
+diff --git a/lib/engine/multimedia_device.h b/lib/engine/multimedia_device.h
+index 533370e..694e2a5 100644
+--- a/lib/engine/multimedia_device.h
++++ b/lib/engine/multimedia_device.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __MULTIMEDIA_DEVICE_H__INCLUDED__
+ #define __MULTIMEDIA_DEVICE_H__INCLUDED__
+diff --git a/lib/engine/nondisk_device.h b/lib/engine/nondisk_device.h
+index 70ebb32..0f00e52 100644
+--- a/lib/engine/nondisk_device.h
++++ b/lib/engine/nondisk_device.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __CHARACTER_DEVICE_H__INCLUDED__
+ #define __CHARACTER_DEVICE_H__INCLUDED__
+diff --git a/lib/engine/object.h b/lib/engine/object.h
+index b52d3d3..345d58c 100644
+--- a/lib/engine/object.h
++++ b/lib/engine/object.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __OBJECT_H__INCLUDED__
+ #define __OBJECT_H__INCLUDED__
+diff --git a/lib/engine/pci_header.h b/lib/engine/pci_header.h
+index 376f296..c5129a0 100644
+--- a/lib/engine/pci_header.h
++++ b/lib/engine/pci_header.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __PCI_HEADER_H__INCLUDED__
+ #define __PCI_HEADER_H__INCLUDED__
+diff --git a/lib/engine/phy.h b/lib/engine/phy.h
+index f5730a0..c59f7c8 100644
+--- a/lib/engine/phy.h
++++ b/lib/engine/phy.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __PHY_H__INCLUDED__
+ #define __PHY_H__INCLUDED__
+diff --git a/lib/engine/port.h b/lib/engine/port.h
+index 2f33876..cc48c7c 100644
+--- a/lib/engine/port.h
++++ b/lib/engine/port.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3,4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __PORT_H__INCLUDED__
+ #define __PORT_H__INCLUDED__
+diff --git a/lib/engine/raid_device.h b/lib/engine/raid_device.h
+index 998e80c..2174162 100644
+--- a/lib/engine/raid_device.h
++++ b/lib/engine/raid_device.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __RAID_DEVICE_H__INCLUDED__
+ #define __RAID_DEVICE_H__INCLUDED__
+diff --git a/lib/engine/raid_info.h b/lib/engine/raid_info.h
+index 174698a..302be9b 100644
+--- a/lib/engine/raid_info.h
++++ b/lib/engine/raid_info.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __RAID_INFO_H__INCLUDED__
+ #define __RAID_INFO_H__INCLUDED__
+diff --git a/lib/engine/remote_port.h b/lib/engine/remote_port.h
+index c086656..4ddfee3 100644
+--- a/lib/engine/remote_port.h
++++ b/lib/engine/remote_port.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __REMOTE_PORT_H__INCLUDED__
+ #define __REMOTE_PORT_H__INCLUDED__
+diff --git a/lib/engine/routing_device.h b/lib/engine/routing_device.h
+index 5f857a6..284621e 100644
+--- a/lib/engine/routing_device.h
++++ b/lib/engine/routing_device.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __ROUTING_DEVICE_H__INCLUDED__
+ #define __ROUTING_DEVICE_H__INCLUDED__
+diff --git a/lib/engine/session.h b/lib/engine/session.h
+index a901d1c..3200da1 100644
+--- a/lib/engine/session.h
++++ b/lib/engine/session.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __SESSION_H__INCLUDED__
+ #define __SESSION_H__INCLUDED__
+diff --git a/lib/engine/session_manager.h b/lib/engine/session_manager.h
+index 7177064..87e16c3 100644
+--- a/lib/engine/session_manager.h
++++ b/lib/engine/session_manager.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __SESSION_MANAGER_H__INCLUDED__
+ #define __SESSION_MANAGER_H__INCLUDED__
+diff --git a/lib/engine/storage_device.h b/lib/engine/storage_device.h
+index ddeb66f..20bdab2 100644
+--- a/lib/engine/storage_device.h
++++ b/lib/engine/storage_device.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __STORAGE_DEVICE_H__INCLUDED__
+ #define __STORAGE_DEVICE_H__INCLUDED__
+diff --git a/lib/engine/stream_device.h b/lib/engine/stream_device.h
+index 9bc111a..b29bd68 100644
+--- a/lib/engine/stream_device.h
++++ b/lib/engine/stream_device.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __STREAM_DEVICE_H__INCLUDED__
+ #define __STREAM_DEVICE_H__INCLUDED__
+diff --git a/lib/engine/string.h b/lib/engine/string.h
+index 3007dc7..6f348c9 100644
+--- a/lib/engine/string.h
++++ b/lib/engine/string.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __STRING_H__INCLUDED__
+ #define __STRING_H__INCLUDED__
+diff --git a/lib/engine/unique_id_manager.h b/lib/engine/unique_id_manager.h
+index fe79eac..4a13627 100644
+--- a/lib/engine/unique_id_manager.h
++++ b/lib/engine/unique_id_manager.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __UNIQUE_ID_MANAGER_H__INCLUDED__
+ #define __UNIQUE_ID_MANAGER_H__INCLUDED__
+diff --git a/lib/engine/utils.h b/lib/engine/utils.h
+index 86c20cf..5525303 100644
+--- a/lib/engine/utils.h
++++ b/lib/engine/utils.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __UTILS_H__INCLUDED__
+ #define __UTILS_H__INCLUDED__
+diff --git a/lib/engine/volume.h b/lib/engine/volume.h
+index 9a63cbf..3347b31 100644
+--- a/lib/engine/volume.h
++++ b/lib/engine/volume.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ // Forward declarations
+ class Array;
+diff --git a/lib/log/log.h b/lib/log/log.h
+index c0bd63e..8b5f171 100644
+--- a/lib/log/log.h
++++ b/lib/log/log.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __LOG_H__INCLUDED__
+ #define __LOG_H__INCLUDED__
+diff --git a/lib/mpb/machine_bytes.h b/lib/mpb/machine_bytes.h
+index 7fbb0e9..800b120 100644
+--- a/lib/mpb/machine_bytes.h
++++ b/lib/mpb/machine_bytes.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __ENDIAN_H__INCLUDED__
+ #define __ENDIAN_H__INCLUDED__
+diff --git a/lib/mpb/mpb.h b/lib/mpb/mpb.h
+index 01782af..c42cdfb 100644
+--- a/lib/mpb/mpb.h
++++ b/lib/mpb/mpb.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __MPB_H__INCLUDED__
+ #define __MPB_H__INCLUDED__
+diff --git a/lib/orom/orom.h b/lib/orom/orom.h
+index f76e3ee..e10311d 100644
+--- a/lib/orom/orom.h
++++ b/lib/orom/orom.h
+@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+
+
+
+-#if __GNUC_PREREQ(3, 4)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
+
+ #ifndef __OROM_H__INCLUDED__
+ #define __OROM_H__INCLUDED__
+--
+2.13.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-ssieventmonitor-ordered-comparison-between-pointers-.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-ssieventmonitor-ordered-comparison-between-pointers-.patch
new file mode 100644
index 000000000..27df9b5de
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-ssieventmonitor-ordered-comparison-between-pointers-.patch
@@ -0,0 +1,39 @@
+From ea9ecf4bf305f9509d5822b3823658a40162f43c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 25 Jul 2017 19:08:21 -0700
+Subject: [PATCH] ssieventmonitor: ordered comparison between pointers and
+ zero, actually with NULL
+
+Comparing which is large or small between a pointer and NULL
+however, looks completely illogical. Ordered comparison of
+two valid pointers is legit, but no pointer will be smaller
+than NULL , so comparing if a pointer is larger than NULL
+simply means if the pointer is not NULL.
+
+Fixes errors found with clang e.g.
+
+| ssieventmonitor.cpp:339:53: error: ordered comparison between pointer and zero ('char *' and 'int')
+| if (fgets(nextline, sizeof(nextline) - 1, mdstat) < 0) {
+| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tools/ssieventmonitor.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tools/ssieventmonitor.cpp b/tools/ssieventmonitor.cpp
+index f04b8f0..7a00122 100644
+--- a/tools/ssieventmonitor.cpp
++++ b/tools/ssieventmonitor.cpp
+@@ -336,7 +336,7 @@ static int _read_mdstat(int fd)
+ if (!strncmp(line, "md", 2)) {
+ if (strstr(line, INACTIVE_STR)) { /* possibly container */
+ char nextline[1024];
+- if (fgets(nextline, sizeof(nextline) - 1, mdstat) < 0) {
++ if (fgets(nextline, sizeof(nextline) - 1, mdstat) != (char *) NULL) {
+ fclose(mdstat);
+ return 1;
+ }
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0002-Convert-macros-into-functions.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0002-Convert-macros-into-functions.patch
new file mode 100644
index 000000000..351301cdc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0002-Convert-macros-into-functions.patch
@@ -0,0 +1,123 @@
+From 1338ee4e69c465f8f381ec3bfe5058080236edba Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 16 Jun 2017 22:08:35 -0700
+Subject: [PATCH 2/6] Convert macros into functions
+
+This helps in fixing the security format warnings
+add -fno-builtin-log
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/engine/Makefile.am | 3 ++-
+ lib/log/Makefile.am | 2 ++
+ lib/log/log.h | 34 +++++++++++++++++++++-------------
+ src/Makefile.am | 3 ++-
+ 4 files changed, 27 insertions(+), 15 deletions(-)
+
+Index: ssiapi.1.0.1/lib/engine/Makefile.am
+===================================================================
+--- ssiapi.1.0.1.orig/lib/engine/Makefile.am
++++ ssiapi.1.0.1/lib/engine/Makefile.am
+@@ -113,4 +113,5 @@ libengine_la_SOURCES = \
+ libengine_la_CPPFLAGS = \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/include \
+- -I$(top_srcdir)/lib
++ -I$(top_srcdir)/lib \
++ -fno-builtin-log
+Index: ssiapi.1.0.1/lib/log/Makefile.am
+===================================================================
+--- ssiapi.1.0.1.orig/lib/log/Makefile.am
++++ ssiapi.1.0.1/lib/log/Makefile.am
+@@ -5,3 +5,5 @@ noinst_LTLIBRARIES = liblog.la
+ liblog_la_SOURCES = \
+ log.c \
+ log.h
++
++liblog_la_CPPFLAGS = -fno-builtin-log
+Index: ssiapi.1.0.1/lib/log/log.h
+===================================================================
+--- ssiapi.1.0.1.orig/lib/log/log.h
++++ ssiapi.1.0.1/lib/log/log.h
+@@ -23,7 +23,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIG
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif /* __cplusplus */
+-
++#include <stdarg.h>
+ /* */
+ enum log_level {
+ LOG_FIRST = 0,
+@@ -37,26 +37,34 @@ enum log_level {
+ };
+
+ /* */
+-#define log(__level, __format, ...) \
+- do { if (log_get_level() >= (enum log_level)(__level)) \
+- __log(__level, __format, ## __VA_ARGS__); \
+- } while (0)
+-
+-#define dlog(__format, ...) \
+- log(LOG_DEBUG, __format, ## __VA_ARGS__);
++void __log(enum log_level level, const char *format, ...)
++ __attribute__((format(printf, 2, 3)));
+
+ /* */
+-void log_init(enum log_level level, const char *path);
++enum log_level log_get_level(void);
+
+ /* */
+-void log_fini(void);
+-
++static inline void log(enum log_level __level, const char* __format, ...) {
++ va_list ap;
++ va_start(ap, __format);
++ do {
++ if (log_get_level() >= (enum log_level)(__level))
++ __log(__level, __format, ap);
++ } while (0);
++ va_end(ap);
++}
++
++static inline void dlog(const char* __format, ...) {
++ va_list ap;
++ va_start(ap, __format);
++ log(LOG_DEBUG, __format, ap);
++ va_end(ap);
++}
+ /* */
+-void __log(enum log_level level, const char *format, ...)
+- __attribute__((format(printf, 2, 3)));
++void log_init(enum log_level level, const char *path);
+
+ /* */
+-enum log_level log_get_level(void);
++void log_fini(void);
+
+ /* */
+ void log_set_level(enum log_level level);
+Index: ssiapi.1.0.1/src/Makefile.am
+===================================================================
+--- ssiapi.1.0.1.orig/src/Makefile.am
++++ ssiapi.1.0.1/src/Makefile.am
+@@ -7,7 +7,8 @@ lib_LTLIBRARIES = libssi.la
+ libssi_la_CPPFLAGS = \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/include \
+- -I$(top_srcdir)/lib
++ -I$(top_srcdir)/lib \
++ -fno-builtin-log
+
+ libssi_la_LDFLAGS = \
+ $(SGUTILS_LDFLAGS) \
+Index: ssiapi.1.0.1/lib/efi/Makefile.am
+===================================================================
+--- ssiapi.1.0.1.orig/lib/efi/Makefile.am
++++ ssiapi.1.0.1/lib/efi/Makefile.am
+@@ -5,3 +5,4 @@ noinst_LTLIBRARIES = libefi.la
+ libefi_la_SOURCES = \
+ efi.cpp \
+ efi.h
++libefi_la_CPPFLAGS = -fno-builtin-log
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0003-Replace-canonicalize_file_name-with-realpath-API.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0003-Replace-canonicalize_file_name-with-realpath-API.patch
new file mode 100644
index 000000000..98cd40c84
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0003-Replace-canonicalize_file_name-with-realpath-API.patch
@@ -0,0 +1,33 @@
+From 781288d6307002cce70ddafb6efb200b7f60294d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 16 Jun 2017 22:12:43 -0700
+Subject: [PATCH 3/6] Replace canonicalize_file_name with realpath() API
+
+Fixed build on musl where canonicalize_file_name is not implemented
+
+filesystem.cpp:46:15: error: 'canonicalize_file_name' was not declared in this scope
+ char *p = canonicalize_file_name(path);
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/engine/filesystem.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/engine/filesystem.cpp b/lib/engine/filesystem.cpp
+index b99257e..6064837 100644
+--- a/lib/engine/filesystem.cpp
++++ b/lib/engine/filesystem.cpp
+@@ -43,7 +43,7 @@ void CanonicalPath::__canonicalize_path_name(const char *path)
+ if (path == 0) {
+ throw E_NULL_POINTER;
+ }
+- char *p = canonicalize_file_name(path);
++ char *p = realpath(path, NULL);
+ assign(p);
+ if (p) {
+ free(p);
+--
+2.13.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0004-engine-Fix-indentation-and-missing-semi-colon.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0004-engine-Fix-indentation-and-missing-semi-colon.patch
new file mode 100644
index 000000000..7dce0da40
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0004-engine-Fix-indentation-and-missing-semi-colon.patch
@@ -0,0 +1,54 @@
+From 04e8b99d8195a0e39982ecd27802421610633724 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 16 Jun 2017 22:18:31 -0700
+Subject: [PATCH 4/6] engine: Fix indentation and missing semi-colon
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/engine/mdadm_config.cpp | 5 +++--
+ lib/engine/unique_id_manager.cpp | 2 +-
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/lib/engine/mdadm_config.cpp b/lib/engine/mdadm_config.cpp
+index 1914ddc..e40c2c7 100644
+--- a/lib/engine/mdadm_config.cpp
++++ b/lib/engine/mdadm_config.cpp
+@@ -118,9 +118,10 @@ void check_configuration()
+ attr >> config;
+ configOk = correct_config(config);
+ } catch (Exception ex) {
+- if (ex != E_NOT_FOUND)
++ if (ex != E_NOT_FOUND) {
+ dlog("Warning: mdadm config file cannot be read, new one will be written");
+ backup = false;
++ }
+ }
+
+ if (configOk && monitor_running()) {
+@@ -134,7 +135,7 @@ void check_configuration()
+ dlog("Warning: failed to update mdadm.conf");
+ }
+ if (restart_monitor() == 0)
+- dlog("Monitor restarted successfully")
++ dlog("Monitor restarted successfully");
+ else
+ dlog("Error starting Monitor");
+ }
+diff --git a/lib/engine/unique_id_manager.cpp b/lib/engine/unique_id_manager.cpp
+index 99c153c..87d6ddc 100644
+--- a/lib/engine/unique_id_manager.cpp
++++ b/lib/engine/unique_id_manager.cpp
+@@ -185,7 +185,7 @@ void UniqueIdManager::refresh()
+ keyFile >> keyList;
+ keyList += "\n";
+ } catch (...) {
+- dlog("ssi.keys file missing")
++ dlog("ssi.keys file missing");
+ /* no file? that's ok */
+ }
+ /* process the list to update IdCaches */
+--
+2.13.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0005-engine-Define-SENTINEL.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0005-engine-Define-SENTINEL.patch
new file mode 100644
index 000000000..6f4dbf18e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0005-engine-Define-SENTINEL.patch
@@ -0,0 +1,40 @@
+From a2e3a2e332c406ea3c56a8d74b61978107df68e6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 16 Jun 2017 22:23:08 -0700
+Subject: [PATCH 5/6] engine: Define SENTINEL
+
+Fix warnings with gcc7
+test.cpp:12: warning: missing sentinel in function call
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/engine/utils.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lib/engine/utils.cpp b/lib/engine/utils.cpp
+index 44579a1..8812a8c 100644
+--- a/lib/engine/utils.cpp
++++ b/lib/engine/utils.cpp
+@@ -35,7 +35,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ #include "filesystem.h"
+ #include "utils.h"
+ #include "log/log.h"
+-
++#define SENTINEL (const char *)0
+ /**
+ * @brief capture shell output as binary data
+ *
+@@ -139,7 +139,7 @@ int shell(const String &s)
+ * Before switching into new executable close all non standard
+ * file handlers.*/
+ close_parent_fds();
+- execl("/bin/sh", "sh", "-c", cmd.get(), NULL);
++ execl("/bin/sh", "sh", "-c", cmd.get(), SENTINEL);
+ /* If we're here then execl failed*/
+ exit(-1);
+ break;
+--
+2.13.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0006-tools-Add-missing-includes-and-use-realpath-instead-.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0006-tools-Add-missing-includes-and-use-realpath-instead-.patch
new file mode 100644
index 000000000..a7b70e3f4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0006-tools-Add-missing-includes-and-use-realpath-instead-.patch
@@ -0,0 +1,40 @@
+From df1d56d6b6a6b15d0137619eb8a4b623de6c9633 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 16 Jun 2017 22:28:59 -0700
+Subject: [PATCH 6/6] tools: Add missing includes and use realpath() instead of
+ canonicalize_file_name
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tools/ssieventmonitor.cpp | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/tools/ssieventmonitor.cpp b/tools/ssieventmonitor.cpp
+index 0553386..f04b8f0 100644
+--- a/tools/ssieventmonitor.cpp
++++ b/tools/ssieventmonitor.cpp
+@@ -18,7 +18,9 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ #include <unistd.h>
+ #include <dirent.h>
+ #include <errno.h>
+-#include <sys/fcntl.h>
++#include <limits.h>
++#include <fcntl.h>
++#include <libgen.h>
+ #include <sys/select.h>
+ #include <sys/wait.h>
+ #include <sys/inotify.h>
+@@ -99,7 +101,7 @@ static int _exec_ssimsg(void)
+ int status;
+ switch (pid) {
+ case 0: {
+- cp = canonicalize_file_name("/proc/self/exe");
++ cp = realpath("/proc/self/exe", NULL);
+ if (cp) {
+ strcpy(buffer, cp);
+ free(cp);
+--
+2.13.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/configure-cflags.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/configure-cflags.patch
new file mode 100644
index 000000000..d45be590c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/configure-cflags.patch
@@ -0,0 +1,21 @@
+Do not override flags thereby respect the flags coming from environment,
+e.g. we need some optimization level turned on when security flags are enabled
+without this change, the build would fail
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Index: ssiapi.1.0.1/configure.ac
+===================================================================
+--- ssiapi.1.0.1.orig/configure.ac
++++ ssiapi.1.0.1/configure.ac
+@@ -15,11 +15,6 @@ AC_SUBST(VERSION)
+ AM_INIT_AUTOMAKE(ssi, ${VERSION})
+ AM_CONFIG_HEADER(config.h)
+
+-dnl Set the language we use
+-CPPFLAGS="-g3 -gdwarf-2 -Wall -Werror -D_GNU_SOURCE"
+-CFLAGS="-std=gnu99"
+-CXXFLAGS="-std=gnu++98"
+-
+ dnl Automake 1.11 - silent build rules
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi_1.0.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi_1.0.1.bb
new file mode 100644
index 000000000..5eb4696b5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi_1.0.1.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Intel RSTe with Linux OS SSI API Library"
+
+DESCRIPTION = "Intel Rapid Storage Technology enterprise with Linux OS* Standard Storage Interface API Library. \
+The library allows user to manage storage devices including creating and managing Raid arrays on systems with Intel chipset."
+
+HOMEPAGE = "http://irstessi.sourceforge.net/"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0413ff365e0bd733c4869a6797551c6f"
+
+DEPENDS += "sg3-utils"
+
+SRC_URI = "http://sourceforge.net/projects/irstessi/files/${BPN}.${PV}.tgz \
+ file://0001-Use-pragma-once-unconditionally.patch \
+ file://0002-Convert-macros-into-functions.patch \
+ file://0003-Replace-canonicalize_file_name-with-realpath-API.patch \
+ file://0004-engine-Fix-indentation-and-missing-semi-colon.patch \
+ file://0005-engine-Define-SENTINEL.patch \
+ file://0006-tools-Add-missing-includes-and-use-realpath-instead-.patch \
+ file://configure-cflags.patch \
+ file://0001-ssieventmonitor-ordered-comparison-between-pointers-.patch \
+ "
+SRC_URI[md5sum] = "02f16d7cbd30d28034093212906591f5"
+SRC_URI[sha256sum] = "e10d283b0f211afb8ebd0bde87c097769613d30a052cdf164753e35e803264c7"
+
+S ="${WORKDIR}/${BPN}.${PV}"
+
+inherit autotools-brokensep
+CXXFLAGS="-std=gnu++98 -D_GNU_SOURCE"
+
+do_configure_prepend(){
+ ./autogen.sh
+}
+
+RDEPENDS_${PN} += "mdadm"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.17.25.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.17.25.bb
index 5ee4472cd..cc2727b75 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.17.25.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.17.25.bb
@@ -31,6 +31,8 @@ do_install_append () {
# support for buggy init.d scripts that refer to an alternative
# explicit path to start-stop-daemon
- mkdir -p ${D}/sbin/
- ln -sf /usr/sbin/start-stop-daemon ${D}/sbin/start-stop-daemon
+ if [ "${base_sbindir}" != "${sbindir}" ]; then
+ mkdir -p ${D}${base_sbindir}
+ ln -sf ${sbindir}/start-stop-daemon ${D}${base_sbindir}/start-stop-daemon
+ fi
}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/synergy/synergy_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/synergy/synergy_git.bb
index f2063e464..68f0387ba 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/synergy/synergy_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/synergy/synergy_git.bb
@@ -1,7 +1,7 @@
SUMMARY = "Synergy - control multiple computers with one keyboard and mouse"
HOMEPAGE = "http://synergy-project.org"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0f366945b209c5523e39889f636af00a"
-LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d2ba51ca68e055566aade24662f9eb41"
+LICENSE = "GPL-2.0-with-OpenSSL-exception"
SECTION = "x11/utils"
DEPENDS = "virtual/libx11 libxtst libxinerama curl openssl"
@@ -10,11 +10,11 @@ do_unpack_extra[depends] = "unzip-native:do_populate_sysroot"
# depends on virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
-SRC_URI = "git://github.com/symless/synergy-core.git;protocol=https"
+SRC_URI = "git://github.com/symless/synergy.git;protocol=http"
-# Version 1.7.4-rc8
-SRCREV ?= "588fb4b805dd452556d05dbc03fe29ea5b4e43c0"
-PV = "1.7.3+1.7.4-rc8+${SRCPV}"
+# Version 1.8.8-stable
+SRCREV ?= "c30301e23424db1125664da17deb8c3aa6aec52d"
+PV = "1.8.8+${SRCPV}"
S = "${WORKDIR}/git"
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 0977f7e86..f1bf9b06f 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
@@ -36,6 +36,7 @@ EXTRA_OECONF = " \
--with-librabbitmq-client=no \
--disable-python \
--disable-java --disable-java-modules \
+ --with-pidfile-dir=${localstatedir}/run/${BPN} \
${CONFIG_TLS} \
"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/system-setup-keyboard/system-setup-keyboard_0.8.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/system-setup-keyboard/system-setup-keyboard_0.8.8.bb
deleted file mode 100644
index 0bd7af734..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/system-setup-keyboard/system-setup-keyboard_0.8.8.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "xorg.conf keyboard layout callout"
-DESCRIPTION = "system-setup-keyboard is a daemon to monitor the keyboard layout configured in \
-/etc/sysconfig/keyboard and transfer this into the matching xorg.conf.d snippet."
-
-HOMEPAGE = "https://git.fedorahosted.org/git/system-setup-keyboard.git"
-SECTION = "Applications/System"
-
-SRC_URI = "https://git.fedorahosted.org/cgit/${PN}.git/snapshot/${BP}.tar.gz"
-SRC_URI[md5sum] = "399003968ccc739cddd9cc370af377a0"
-SRC_URI[sha256sum] = "1ef6ef79c3588e85d7f42e99eb80a2e459f966284cf029c2d6fc1b645abcb860"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=bf57969a59612c5aca007b340c49d3a2"
-
-inherit pythonnative
-
-DEPENDS = "glib-2.0 system-config-keyboard-native"
-
-EXTRA_OEMAKE = "-e MAKEFLAGS="
-
-do_compile_prepend() {
- ${PYTHON} -v get_layouts.py > keyboards.h
-}
-
-do_install() {
- oe_runmake install DESTDIR=${D}
- install -d ${D}/etc/X11/xorg.conf.d
- touch ${D}/etc/X11/xorg.conf.d/00-system-setup-keyboard.conf
-}
-
-FILES_${PN} += "${systemd_unitdir}/system/${BPN}.service"
-
-PNBLACKLIST[system-setup-keyboard] ?= "Depends on blacklisted system-config-keyboard-native - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/tbb/tbb.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/tbb/tbb.bb
index 35840fd0a..bad9481f7 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/tbb/tbb.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/tbb/tbb.bb
@@ -6,18 +6,21 @@ DESCRIPTION = "Parallelism library for C++ - runtime files \
HOMEPAGE = "http://threadingbuildingblocks.org/"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-PRDATE = "20170118"
-PV = "${PRDATE}"
-SRC_URI = "https://www.threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb2017_${PRDATE}oss_src.tgz \
+PRDATE = "20170412"
+BRANCH = "tbb_2017"
+SRCREV = "a2cfdfe946933cbe38bffe1d8086ae36f06691a3"
+PV = "${PRDATE}+${SRCPV}"
+SRC_URI = "git://github.com/01org/tbb;branch=${BRANCH} \
file://cross-compile.patch \
- file://tbb.pc"
-SRC_URI[md5sum] = "26baa6fbcc8f03ee45c0641b91d9588a"
-SRC_URI[sha256sum] = "48bb526287fa8b4e7d1e1b2ba9e5fb9c3e372b497772c06ef9ccd7f93f344e74"
+ file://0001-mallinfo-is-glibc-specific-API-mark-it-so.patch \
+ file://tbb.pc \
+"
-S = "${WORKDIR}/tbb2017_${PRDATE}oss/"
+S = "${WORKDIR}/git"
COMPILER ?= "gcc"
COMPILER_toolchain-clang = "clang"
+
do_compile() {
oe_runmake compiler=${COMPILER} arch=${HOST_ARCH} runtime=cc4
}
@@ -38,3 +41,4 @@ do_install() {
# | make[1]: *** [concurrent_queue.o] Error 1
ARM_INSTRUCTION_SET = "arm"
SECURITY_CFLAGS_append = " -fPIC"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-mallinfo-is-glibc-specific-API-mark-it-so.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-mallinfo-is-glibc-specific-API-mark-it-so.patch
new file mode 100644
index 000000000..7e66945fa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-mallinfo-is-glibc-specific-API-mark-it-so.patch
@@ -0,0 +1,37 @@
+From 6b2b136caa68912d77ffe26143cd3da768b9ef80 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 3 Jun 2017 08:39:37 -0700
+Subject: [PATCH] mallinfo() is glibc specific API mark it so
+
+Helps compiling with musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ src/tbbmalloc/proxy.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/tbbmalloc/proxy.cpp b/src/tbbmalloc/proxy.cpp
+index 5ef279d..06c4872 100644
+--- a/src/tbbmalloc/proxy.cpp
++++ b/src/tbbmalloc/proxy.cpp
+@@ -185,6 +185,7 @@ int mallopt(int /*param*/, int /*value*/) __THROW
+ return 1;
+ }
+
++#ifdef __GLIBC__
+ struct mallinfo mallinfo() __THROW
+ {
+ struct mallinfo m;
+@@ -192,6 +193,7 @@ struct mallinfo mallinfo() __THROW
+
+ return m;
+ }
++#endif
+
+ #if __ANDROID__
+ // Android doesn't have malloc_usable_size, provide it to be compatible
+--
+2.13.0
+
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
deleted file mode 100644
index c784fd279..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.1.7.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "udisks provides dbus interfaces for disks and storage devices"
-LICENSE = "GPLv2+ & LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=dd79f6dbbffdbc8e86b086a8f0c0ef43"
-
-DEPENDS = "acl libatasmart polkit libgudev dbus-glib glib-2.0 intltool-native gnome-common-native libxslt-native"
-DEPENDS += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-
-RDEPENDS_${PN} = "acl"
-
-SRC_URI = "http://udisks.freedesktop.org/releases/udisks-${PV}.tar.bz2 \
- file://non-gnu-libc.patch \
-"
-SRC_URI[md5sum] = "8bccd36573b75286538bd5bd2c424f45"
-SRC_URI[sha256sum] = "abae2bb3bdc691ca13c1e4c244630b8c881c4f3b35c207299f1b39b7bec83785"
-
-CVE_PRODUCT = "udisks"
-
-inherit autotools systemd gtk-doc gobject-introspection
-
-S = "${WORKDIR}/udisks-${PV}"
-
-EXTRA_OECONF = "--disable-man --disable-gtk-doc"
-
-FILES_${PN} += "${libdir}/polkit-1/extensions/*.so \
- ${datadir}/dbus-1/ \
- ${datadir}/polkit-1 \
- ${nonarch_base_libdir}/udev/* \
- ${exec_prefix}${nonarch_base_libdir}/udisks2/* \
-"
-
-PACKAGES =+ "${PN}-libs"
-
-FILES_${PN} += "${datadir}/bash-completion"
-FILES_${PN}-libs = "${libdir}/lib*${SOLIBS}"
-
-FILES_${PN}-dbg += "${exec_prefix}${nonarch_base_libdir}/udisks2/.debug"
-
-SYSTEMD_SERVICE_${PN} = "${BPN}.service"
-SYSTEMD_AUTO_ENABLE = "disable"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.1.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.1.8.bb
new file mode 100644
index 000000000..a3efc5160
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.1.8.bb
@@ -0,0 +1,39 @@
+SUMMARY = "udisks provides dbus interfaces for disks and storage devices"
+LICENSE = "GPLv2+ & LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=dd79f6dbbffdbc8e86b086a8f0c0ef43"
+
+DEPENDS = "acl libatasmart polkit libgudev dbus-glib glib-2.0 intltool-native gnome-common-native libxslt-native"
+DEPENDS += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+
+RDEPENDS_${PN} = "acl"
+
+SRC_URI = "http://udisks.freedesktop.org/releases/udisks-${PV}.tar.bz2 \
+ file://non-gnu-libc.patch \
+"
+SRC_URI[md5sum] = "501d11c243bd8c6c00650474cd2afaab"
+SRC_URI[sha256sum] = "da416914812a77e5f4d82b81deb8c25799fd3228d27d52f7bf89a501b1857dda"
+
+CVE_PRODUCT = "udisks"
+
+inherit autotools systemd gtk-doc gobject-introspection
+
+S = "${WORKDIR}/udisks-${PV}"
+
+EXTRA_OECONF = "--disable-man --disable-gtk-doc"
+
+FILES_${PN} += "${libdir}/polkit-1/extensions/*.so \
+ ${datadir}/dbus-1/ \
+ ${datadir}/polkit-1 \
+ ${nonarch_base_libdir}/udev/* \
+ ${exec_prefix}${nonarch_base_libdir}/udisks2/* \
+"
+
+PACKAGES =+ "${PN}-libs"
+
+FILES_${PN} += "${datadir}/bash-completion"
+FILES_${PN}-libs = "${libdir}/lib*${SOLIBS}"
+
+FILES_${PN}-dbg += "${exec_prefix}${nonarch_base_libdir}/udisks2/.debug"
+
+SYSTEMD_SERVICE_${PN} = "${BPN}.service"
+SYSTEMD_AUTO_ENABLE = "disable"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks_1.0.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks_1.0.5.bb
index ffe2c2674..e33266001 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks_1.0.5.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks_1.0.5.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "A storage daemon that implements well-defined D-Bus interfaces th
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=73d83aebe7e4b62346afde80e0e94273"
-DEPENDS = "libatasmart sg3-utils polkit libgudev dbus-glib glib-2.0 intltool-native lvm2 \
+DEPENDS = "libatasmart sg3-utils polkit libgudev dbus-glib glib-2.0 intltool-native \
dbus-glib-native \
"
# optional dependencies: device-mapper parted
@@ -24,7 +24,8 @@ SRC_URI[udisks.sha256sum] = "f2ec82eb0ea7e01dc299b5b29b3c18cdf861236ec43dcff66b3
inherit autotools-brokensep systemd gtk-doc
-PACKAGECONFIG ??= ""
+PACKAGECONFIG ??= "libdevmapper"
+PACKAGECONFIG[libdevmapper] = "--enable-devmapper,--disable-devmapper,libdevmapper"
PACKAGECONFIG[parted] = "--enable-parted,--disable-parted,parted"
EXTRA_OECONF = "--disable-man-pages --libdir=${base_libdir} --sbindir=${base_sbindir}"
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 909756ad7..271718e5e 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
@@ -14,14 +14,15 @@ SRC_URI[md5sum] = "ecea4c597bab1fd4ba98ea84edcece59"
SRC_URI[sha256sum] = "7b1ea803c73f3478917166f04f67cce6e45ad7ea5ab6df99b948c17eb1cb235f"
DEPENDS = "anthy fontconfig libxft libxt glib-2.0 ncurses intltool"
-DEPENDS_class-target += "intltool-native gtk+ gtk+3 uim-native takao-fonts"
+DEPENDS_append_class-target = " intltool-native gtk+ gtk+3 uim-native takao-fonts"
RDEPENDS_uim = "libuim0 libedit"
-RDEPENDS_uim-anthy = "takao-fonts anthy libanthy0"
+RDEPENDS_uim-anthy = "takao-fonts anthy libanthy0 glibc-utils glibc-gconv-euc-jp"
LEAD_SONAME = "libuim.so.1"
-inherit autotools pkgconfig gettext
+inherit autotools pkgconfig gettext qemu gtk-immodules-cache
+GTKIMMODULES_PACKAGES = "uim-gtk2.0 uim-gtk3"
EXTRA_OECONF += "--disable-emacs \
--without-scim \
@@ -103,52 +104,36 @@ FILES_uim-skk = "${libdir}/uim/plugin/libuim-skk.* \
${datadir}/uim/skk*.scm \
"
+PACKAGE_WRITE_DEPS += "qemu-native"
pkg_postinst_uim-anthy() {
- if [ -f /usr/bin/uim-module-manager ]; then
- /usr/bin/uim-module-manager --register anthy --path /etc/uim
- fi
-}
-
-pkg_postrm_uim-anthy() {
- if [ -f /usr/bin/uim-module-manager ]; then
- /usr/bin/uim-module-manager --path /etc/uim --unregister anthy
+ if test -n "$D"; then
+ ${@qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --register anthy --path $D${datadir}/uim
+ else
+ uim-module-manager --register anthy --path ${datadir}/uim
fi
}
pkg_prerm_uim-anthy() {
- if [ -f /usr/bin/uim-module-manager ]; then
- /usr/bin/uim-module-manager --register anthy --path /etc/uim
+ if test -n "$D"; then
+ ${@qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --path $D${datadir}/uim --unregister anthy
+ else
+ uim-module-manager --path ${datadir}/uim --unregister anthy
fi
}
-pkg_postinst_uim-gtk2.0() {
- gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules
-}
-
pkg_postinst_uim-skk() {
- if [ -f /usr/bin/uim-module-manager ]; then
- /usr/bin/uim-module-manager --register skk --path /etc/uim
+ if test -n "$D"; then
+ ${@qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --register skk --path $D${datadir}/uim
+ else
+ uim-module-manager --register skk --path ${datadir}/uim
fi
}
pkg_postrm_uim-skk() {
- if [ -f /usr/bin/uim-module-manager ]; then
- /usr/bin/uim-module-manager --path /etc/uim --unregister skk
- fi
-}
-
-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
- fi
-}
-
-pkg_prerm_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
+ if test -n "$D"; then
+ ${@qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --path $D${datadir}/uim --unregister skk
+ else
+ uim-module-manager --path ${datadir}/uim --unregister skk
fi
}
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
deleted file mode 100644
index 3651e1885..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.4.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-DESCRIPTION = "UPower is an abstraction for enumerating power devices, listening to device events and querying history and statistics. "
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0de8fbf1d97a140d1d93b9f14dcfbf08"
-
-DEPENDS = "intltool-native libusb1 libgudev glib-2.0 dbus-glib polkit"
-
-SRC_URI = "http://upower.freedesktop.org/releases/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "78800e1ac7f92b24aabdf433e38f75d2"
-SRC_URI[sha256sum] = "9ca325a6ccef505529b268ebbbd9becd0ce65a65f6ac7ee31e2e5b17648037b0"
-
-inherit autotools pkgconfig gettext gobject-introspection systemd
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[idevice] = "--with-idevice,--without-idevice,libimobiledevice libplist"
-PACKAGECONFIG[systemd] = "--with-systemdutildir=${systemd_unitdir} --with-systemdsystemunitdir=${systemd_system_unitdir}, \
- --without-systemdutildir --without-systemdsystemunitdir,systemd"
-
-EXTRA_OECONF = " --with-backend=linux"
-
-SYSTEMD_SERVICE_${PN} = "upower.service"
-# don't start on boot by default - dbus does that on demand
-SYSTEMD_AUTO_ENABLE = "disable"
-
-do_configure_prepend() {
- sed -i -e s:-nonet:\:g ${S}/doc/man/Makefile.am
- sed -i -e 's: doc : :g' ${S}/Makefile.am
-}
-
-RDEPENDS_${PN} += "dbus"
-RRECOMMENDS_${PN} += "pm-utils"
-FILES_${PN} += "${datadir}/dbus-1/ \
- ${datadir}/polkit-1/ \
- ${base_libdir}/udev/* \
-"
-
-FILES_${PN}-dbg += "${base_libdir}/udev/.debug"
-
-
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.5.bb
new file mode 100644
index 000000000..9314534d7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.5.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] = "ec57b4b7bf0af568f9a7a5603c921d97"
+SRC_URI[sha256sum] = "78605664d027c788f6ab63c50950be6e86c6ba5d030c4cf35a6664337d87f3b2"
+
+inherit autotools pkgconfig gettext gobject-introspection systemd
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[idevice] = "--with-idevice,--without-idevice,libimobiledevice libplist"
+PACKAGECONFIG[systemd] = "--with-systemdutildir=${systemd_unitdir} --with-systemdsystemunitdir=${systemd_system_unitdir}, \
+ --without-systemdutildir --without-systemdsystemunitdir,systemd"
+
+EXTRA_OECONF = " --with-backend=linux"
+
+SYSTEMD_SERVICE_${PN} = "upower.service"
+# don't start on boot by default - dbus does that on demand
+SYSTEMD_AUTO_ENABLE = "disable"
+
+do_configure_prepend() {
+ sed -i -e s:-nonet:\:g ${S}/doc/man/Makefile.am
+ sed -i -e 's: doc : :g' ${S}/Makefile.am
+}
+
+RDEPENDS_${PN} += "dbus"
+RRECOMMENDS_${PN} += "pm-utils"
+FILES_${PN} += "${datadir}/dbus-1/ \
+ ${datadir}/polkit-1/ \
+ ${base_libdir}/udev/* \
+"
+
+FILES_${PN}-dbg += "${base_libdir}/udev/.debug"
+
+
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb
deleted file mode 100644
index 1219cb8ed..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "A lightweight Terminal Emulator based on libvte, written in Vala"
-SECTION = "x11/applications"
-DEPENDS = "vte9 intltool-native"
-SRCREV = "0fefa38087581f85fa0631b40500b9428369c146"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-PV = "1.3+gitr${SRCPV}"
-PE = "1"
-PR = "r1"
-
-PNBLACKLIST[vala-terminal] ?= "BROKEN: Doesn't work with B!=S, touch: cannot touch `src/.stamp': No such file or directory - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-inherit autotools perlnative vala
-
-SRC_URI = "${FREESMARTPHONE_GIT}/vala-terminal.git;branch=master"
-S = "${WORKDIR}/git"
-
-RDEPENDS_${PN} = "ttf-liberation-mono"
-RREPLACES_${PN} = "openmoko-terminal2"
-RPROVIDES_${PN} = "openmoko-terminal2"
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
deleted file mode 100644
index c7bae1c08..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_4.3.36.bb
+++ /dev/null
@@ -1,72 +0,0 @@
-SUMMARY = "VirtualBox Linux Guest Drivers"
-SECTION = "core"
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://${WORKDIR}/${VBOX_NAME}/COPYING;md5=e197d5641bb35b29d46ca8c4bf7f2660"
-
-DEPENDS = "virtual/kernel"
-
-inherit module kernel-module-split
-
-COMPATIBLE_MACHINE = "(qemux86|qemux86-64)"
-
-VBOX_NAME = "VirtualBox-${PV}"
-
-SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \
- file://Makefile.utils \
-"
-SRC_URI[md5sum] = "8635387dec6cbfd576ba453355d4dc0c"
-SRC_URI[sha256sum] = "af0776df6d03b2709cb76a69f055487bf12bdb3b4163e2a82959860300283046"
-
-S = "${WORKDIR}/vbox_module"
-
-export BUILD_TARGET_ARCH="${ARCH}"
-export BUILD_TARGET_ARCH_x86-64="amd64"
-export KERN_DIR="${STAGING_KERNEL_DIR}"
-
-addtask export_sources before do_patch after do_unpack
-
-do_export_sources() {
- mkdir -p "${S}"
- ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/export_modules ${T}/vbox_modules.tar.gz
- tar -C "${S}" -xzf ${T}/vbox_modules.tar.gz
-
- # add a mount utility to use shared folder from VBox Addition Source Code
- mkdir -p "${S}/utils"
- install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c ${S}/utils
- install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/vbsfmount.c ${S}/utils
- install ${S}/../Makefile.utils ${S}/utils/Makefile
-
-}
-
-# compile and install mount utility
-do_compile_append() {
- oe_runmake 'LD=${CC}' 'LDFLAGS=${LDFLAGS}' -C ${S}/utils
- if ! [ -e vboxguest.ko -a -e vboxsf.ko -a -e vboxvideo.ko ] ; then
- echo "ERROR: One of vbox*.ko modules wasn't built"
- exit 1
- fi
-}
-
-module_do_install() {
- MODULE_DIR=${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/misc
- install -d $MODULE_DIR
- install -m 644 vboxguest.ko $MODULE_DIR
- install -m 644 vboxsf.ko $MODULE_DIR
- install -m 644 vboxvideo.ko $MODULE_DIR
-}
-
-do_install_append() {
- install -d ${D}${base_sbindir}
- install -m 755 ${S}/utils/mount.vboxsf ${D}${base_sbindir}
-}
-
-PACKAGES += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo"
-RRECOMMENDS_${PN} += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo"
-
-FILES_${PN} = "${base_sbindir}"
-
-# autoload if installed
-KERNEL_MODULE_AUTOLOAD += "vboxguest vboxsf vboxvideo"
-
-# http://errors.yoctoproject.org/Errors/Details/83333/
-PNBLACKLIST[vboxguestdrivers] ?= "BROKEN: not compatible with default kernel version 4.8 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.1.18.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.1.18.bb
deleted file mode 100644
index 4085b9fc7..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.1.18.bb
+++ /dev/null
@@ -1,69 +0,0 @@
-SUMMARY = "VirtualBox Linux Guest Drivers"
-SECTION = "core"
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://${WORKDIR}/${VBOX_NAME}/COPYING;md5=e197d5641bb35b29d46ca8c4bf7f2660"
-
-DEPENDS = "virtual/kernel"
-
-inherit module kernel-module-split
-
-COMPATIBLE_MACHINE = "(qemux86|qemux86-64)"
-
-VBOX_NAME = "VirtualBox-${PV}"
-
-SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \
- file://Makefile.utils \
-"
-SRC_URI[md5sum] = "1a7db64cd69ba6d39574fb333e031251"
-SRC_URI[sha256sum] = "7ed0959bbbd02826b86b3d5dc8348931ddfab267c31f8ed36ee53c12f5522cd9"
-
-S = "${WORKDIR}/vbox_module"
-
-export BUILD_TARGET_ARCH="${ARCH}"
-export BUILD_TARGET_ARCH_x86-64="amd64"
-export KERN_DIR="${STAGING_KERNEL_DIR}"
-
-addtask export_sources before do_patch after do_unpack
-
-do_export_sources() {
- mkdir -p "${S}"
- ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/export_modules ${T}/vbox_modules.tar.gz
- tar -C "${S}" -xzf ${T}/vbox_modules.tar.gz
-
- # add a mount utility to use shared folder from VBox Addition Source Code
- mkdir -p "${S}/utils"
- install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c ${S}/utils
- install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/vbsfmount.c ${S}/utils
- install ${S}/../Makefile.utils ${S}/utils/Makefile
-
-}
-
-# compile and install mount utility
-do_compile_append() {
- oe_runmake 'LD=${CC}' 'LDFLAGS=${LDFLAGS}' -C ${S}/utils
- if ! [ -e vboxguest.ko -a -e vboxsf.ko -a -e vboxvideo.ko ] ; then
- echo "ERROR: One of vbox*.ko modules wasn't built"
- exit 1
- fi
-}
-
-module_do_install() {
- MODULE_DIR=${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/misc
- install -d $MODULE_DIR
- install -m 644 vboxguest.ko $MODULE_DIR
- install -m 644 vboxsf.ko $MODULE_DIR
- install -m 644 vboxvideo.ko $MODULE_DIR
-}
-
-do_install_append() {
- install -d ${D}${base_sbindir}
- install -m 755 ${S}/utils/mount.vboxsf ${D}${base_sbindir}
-}
-
-PACKAGES += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo"
-RRECOMMENDS_${PN} += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo"
-
-FILES_${PN} = "${base_sbindir}"
-
-# autoload if installed
-KERNEL_MODULE_AUTOLOAD += "vboxguest vboxsf vboxvideo"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.1.26.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.1.26.bb
new file mode 100644
index 000000000..fdefe0317
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.1.26.bb
@@ -0,0 +1,69 @@
+SUMMARY = "VirtualBox Linux Guest Drivers"
+SECTION = "core"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/${VBOX_NAME}/COPYING;md5=e197d5641bb35b29d46ca8c4bf7f2660"
+
+DEPENDS = "virtual/kernel"
+
+inherit module kernel-module-split
+
+COMPATIBLE_MACHINE = "(qemux86|qemux86-64)"
+
+VBOX_NAME = "VirtualBox-${PV}"
+
+SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \
+ file://Makefile.utils \
+"
+SRC_URI[md5sum] = "d3aec8190c649d7e0d92ba374779dfe3"
+SRC_URI[sha256sum] = "b5715035e681a11ef1475f83f9503d34a00f0276b89c572eebec363dda80c8a9"
+
+S = "${WORKDIR}/vbox_module"
+
+export BUILD_TARGET_ARCH="${ARCH}"
+export BUILD_TARGET_ARCH_x86-64="amd64"
+export KERN_DIR="${STAGING_KERNEL_DIR}"
+
+addtask export_sources before do_patch after do_unpack
+
+do_export_sources() {
+ mkdir -p "${S}"
+ ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/export_modules ${T}/vbox_modules.tar.gz
+ tar -C "${S}" -xzf ${T}/vbox_modules.tar.gz
+
+ # add a mount utility to use shared folder from VBox Addition Source Code
+ mkdir -p "${S}/utils"
+ install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c ${S}/utils
+ install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/vbsfmount.c ${S}/utils
+ install ${S}/../Makefile.utils ${S}/utils/Makefile
+
+}
+
+# compile and install mount utility
+do_compile_append() {
+ oe_runmake 'LD=${CC}' 'LDFLAGS=${LDFLAGS}' -C ${S}/utils
+ if ! [ -e vboxguest.ko -a -e vboxsf.ko -a -e vboxvideo.ko ] ; then
+ echo "ERROR: One of vbox*.ko modules wasn't built"
+ exit 1
+ fi
+}
+
+module_do_install() {
+ MODULE_DIR=${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/misc
+ install -d $MODULE_DIR
+ install -m 644 vboxguest.ko $MODULE_DIR
+ install -m 644 vboxsf.ko $MODULE_DIR
+ install -m 644 vboxvideo.ko $MODULE_DIR
+}
+
+do_install_append() {
+ install -d ${D}${base_sbindir}
+ install -m 755 ${S}/utils/mount.vboxsf ${D}${base_sbindir}
+}
+
+PACKAGES += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo"
+RRECOMMENDS_${PN} += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo"
+
+FILES_${PN} = "${base_sbindir}"
+
+# autoload if installed
+KERNEL_MODULE_AUTOLOAD += "vboxguest vboxsf vboxvideo"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim-tiny_8.0.0427.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim-tiny_8.0.0983.bb
index bb8f2b7ea..bb8f2b7ea 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim-tiny_8.0.0427.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim-tiny_8.0.0983.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim_8.0.0427.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim_8.0.0427.bb
deleted file mode 100644
index 1f86fcd2f..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim_8.0.0427.bb
+++ /dev/null
@@ -1,112 +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=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 = "ad4187e6fc9c8e1083a172852d958a70a689a75c"
-
-S = "${WORKDIR}/git/src"
-
-VIMDIR = "vim${@d.getVar('PV').split('.')[0]}${@d.getVar('PV').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.filter('DISTRO_FEATURES', 'acl 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_${BPN} = "ncurses-terminfo-base"
-# Recommend that runtime data is installed along with vim
-RRECOMMENDS_${BPN} = "${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"
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim_8.0.0983.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim_8.0.0983.bb
new file mode 100644
index 000000000..407ce5e73
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim_8.0.0983.bb
@@ -0,0 +1,112 @@
+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 = "3f9a1ff141412e9e85f7dff47d02946cb9be9228"
+
+S = "${WORKDIR}/git/src"
+
+VIMDIR = "vim${@d.getVar('PV').split('.')[0]}${@d.getVar('PV').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.filter('DISTRO_FEATURES', 'acl 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_${BPN} = "ncurses-terminfo-base"
+# Recommend that runtime data is installed along with vim
+RRECOMMENDS_${BPN} = "${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"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/xchat/xchat-2.8.8/automake-foreign.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/xchat/xchat-2.8.8/automake-foreign.patch
deleted file mode 100644
index cfa2f6c7f..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/xchat/xchat-2.8.8/automake-foreign.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/configure.in 2014-08-18 01:25:43.911597023 -0700
-+++ b/configure.in 2014-08-18 01:26:27.763786629 -0700
-@@ -8,7 +8,7 @@
- AC_CONFIG_HEADERS([config.h])
- AC_CONFIG_SRCDIR([configure.in])
-
--AM_INIT_AUTOMAKE([1.9 dist-bzip2 subdir-objects no-define])
-+AM_INIT_AUTOMAKE([1.9 foreign dist-bzip2 subdir-objects no-define])
-
- AM_MAINTAINER_MODE
- AC_PROG_CC
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/xchat/xchat-2.8.8/fix-includes-for-separate-build.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/xchat/xchat-2.8.8/fix-includes-for-separate-build.patch
deleted file mode 100644
index 4394e5257..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/xchat/xchat-2.8.8/fix-includes-for-separate-build.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-diff -ur xchat-2.8.8-orig/plugins/perl/perl.c xchat-2.8.8/plugins/perl/perl.c
---- xchat-2.8.8-orig/plugins/perl/perl.c 2014-08-30 14:09:05.125116286 -0700
-+++ xchat-2.8.8/plugins/perl/perl.c 2014-08-30 14:09:45.281106532 -0700
-@@ -31,7 +31,7 @@
- #endif
-
- #undef PACKAGE
--#include "../../config.h" /* for #define OLD_PERL */
-+#include <config.h> /* for #define OLD_PERL */
- #include "xchat-plugin.h"
-
- static xchat_plugin *ph; /* plugin handle */
-diff -ur xchat-2.8.8-orig/src/common/network.c xchat-2.8.8/src/common/network.c
---- xchat-2.8.8-orig/src/common/network.c 2014-08-30 14:09:05.137116222 -0700
-+++ xchat-2.8.8/src/common/network.c 2014-08-30 14:13:52.729116323 -0700
-@@ -24,7 +24,7 @@
- #include <unistd.h>
- #include <glib.h>
-
--#include "../../config.h" /* grab USE_IPV6 and LOOKUPD defines */
-+#include <config.h> /* grab USE_IPV6 and LOOKUPD defines */
-
- #define WANTSOCKET
- #define WANTARPA
-diff -ur xchat-2.8.8-orig/src/common/ssl.c xchat-2.8.8/src/common/ssl.c
---- xchat-2.8.8-orig/src/common/ssl.c 2014-08-30 14:09:05.137116222 -0700
-+++ xchat-2.8.8/src/common/ssl.c 2014-08-30 14:14:08.449133899 -0700
-@@ -23,7 +23,7 @@
- #include <string.h> /* strncpy() */
- #include "ssl.h" /* struct cert_info */
- #include "inet.h"
--#include "../../config.h" /* HAVE_SNPRINTF */
-+#include <config.h> /* HAVE_SNPRINTF */
-
- #ifndef HAVE_SNPRINTF
- #define snprintf g_snprintf
-diff -ur xchat-2.8.8-orig/src/common/util.c xchat-2.8.8/src/common/util.c
---- xchat-2.8.8-orig/src/common/util.c 2014-08-30 14:09:05.133116243 -0700
-+++ xchat-2.8.8/src/common/util.c 2014-08-30 14:10:23.633116070 -0700
-@@ -41,7 +41,7 @@
- #include "xchatc.h"
- #include <ctype.h>
- #include "util.h"
--#include "../../config.h"
-+#include <config.h>
-
- #define WANTSOCKET
- #include "inet.h"
-diff -ur xchat-2.8.8-orig/src/common/xchat.h xchat-2.8.8/src/common/xchat.h
---- xchat-2.8.8-orig/src/common/xchat.h 2014-08-30 14:09:05.133116243 -0700
-+++ xchat-2.8.8/src/common/xchat.h 2014-08-30 14:13:42.797116472 -0700
-@@ -1,4 +1,4 @@
--#include "../../config.h"
-+#include <config.h>
-
- #include <glib.h>
- #include <time.h> /* need time_t */
-diff -ur xchat-2.8.8-orig/src/fe-gtk/fe-gtk.h xchat-2.8.8/src/fe-gtk/fe-gtk.h
---- xchat-2.8.8-orig/src/fe-gtk/fe-gtk.h 2014-08-30 14:09:05.129116272 -0700
-+++ xchat-2.8.8/src/fe-gtk/fe-gtk.h 2014-08-30 14:10:13.309115951 -0700
-@@ -1,4 +1,4 @@
--#include "../../config.h"
-+#include <config.h>
-
- #ifdef WIN32
- /* If you're compiling this for Windows, your release is un-official
-diff -ur xchat-2.8.8-orig/src/fe-gtk/xtext.c xchat-2.8.8/src/fe-gtk/xtext.c
---- xchat-2.8.8-orig/src/fe-gtk/xtext.c 2014-08-30 14:09:05.129116272 -0700
-+++ xchat-2.8.8/src/fe-gtk/xtext.c 2014-08-30 14:10:00.313138254 -0700
-@@ -51,7 +51,7 @@
- #include <gtk/gtkwindow.h>
-
- #ifdef XCHAT
--#include "../../config.h" /* can define USE_XLIB here */
-+#include <config.h> /* can define USE_XLIB here */
- #else
- #define USE_XLIB
- #endif
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/xchat/xchat-2.8.8/glib-2.32.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/xchat/xchat-2.8.8/glib-2.32.patch
deleted file mode 100644
index c9bce6a9c..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/xchat/xchat-2.8.8/glib-2.32.patch
+++ /dev/null
@@ -1,44 +0,0 @@
---- xchat-2.8.8.orig/src/common/xchat.h 2009-08-16 11:40:16.000000000 +0200
-+++ xchat-2.8.8/src/common/xchat.h 2012-05-06 08:30:16.125755497 +0200
-@@ -1,10 +1,6 @@
- #include "../../config.h"
-
--#include <glib/gslist.h>
--#include <glib/glist.h>
--#include <glib/gutils.h>
--#include <glib/giochannel.h>
--#include <glib/gstrfuncs.h>
-+#include <glib.h>
- #include <time.h> /* need time_t */
-
- #ifndef XCHAT_H
---- xchat-2.8.8.orig/src/common/servlist.c 2010-05-16 09:24:26.000000000 +0200
-+++ xchat-2.8.8/src/common/servlist.c 2012-05-06 08:30:45.681758019 +0200
-@@ -24,7 +24,6 @@
- #include <unistd.h>
-
- #include "xchat.h"
--#include <glib/ghash.h>
-
- #include "cfgfiles.h"
- #include "fe.h"
---- xchat-2.8.8.orig/src/common/util.c 2009-08-16 11:40:16.000000000 +0200
-+++ xchat-2.8.8/src/common/util.c 2012-05-06 08:31:10.389760122 +0200
-@@ -39,7 +39,6 @@
- #include <errno.h>
- #include "xchat.h"
- #include "xchatc.h"
--#include <glib/gmarkup.h>
- #include <ctype.h>
- #include "util.h"
- #include "../../config.h"
---- xchat-2.8.8.orig/src/common/text.c 2010-05-30 04:14:41.000000000 +0200
-+++ xchat-2.8.8/src/common/text.c 2012-05-06 08:31:22.300761137 +0200
-@@ -28,7 +28,6 @@
- #include <sys/mman.h>
-
- #include "xchat.h"
--#include <glib/ghash.h>
- #include "cfgfiles.h"
- #include "chanopt.h"
- #include "plugin.h"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/xchat/xchat_2.8.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/xchat/xchat_2.8.8.bb
deleted file mode 100644
index 408c700bb..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/xchat/xchat_2.8.8.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "Full-featured IRC chat client with scripting support"
-LICENSE = "GPLv2+"
-HOMEPAGE = "http://www.xchat.org"
-SECTION = "x11/network"
-
-DEPENDS = "libgcrypt zlib gtk+ libsexy"
-DEPENDS += "gdk-pixbuf-native"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
-
-PR = "r2"
-
-SRC_URI = "http://xchat.org/files/source/2.8/xchat-${PV}.tar.bz2 \
- file://glib-2.32.patch \
- file://automake-foreign.patch \
- file://fix-includes-for-separate-build.patch \
-"
-
-inherit autotools gettext pkgconfig
-
-PACKAGECONFIG ??= "dbus"
-PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus-glib"
-PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl"
-PACKAGECONFIG[python] = "--enable-python,--disable-python,python"
-
-EXTRA_OECONF = "\
- --enable-maintainer-mode \
- --disable-perl \
- --disable-tcl \
-"
-
-RDEPENDS_${PN} += "dbus"
-FILES_${PN} += "${datadir}/dbus-1"
-FILES_${PN}-dbg += "${libdir}/xchat/plugins/.debug"
-
-SRC_URI[md5sum] = "6775c44f38e84d06c06c336b32c4a452"
-SRC_URI[sha256sum] = "0d6d69437b5e1e45f3e66270fe369344943de8a1190e498fafa5296315a27db0"
-
-PNBLACKLIST[xchat] ?= "Depends on blacklisted libsexy - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.5.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.5.0.bb
deleted file mode 100644
index bf99aff43..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.5.0.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "Command line XML toolkit"
-DESCRIPTION = "XMLStarlet is a command line XML toolkit which can be used to \
- transform, query, validate, and edit XML documents and files \
- using simple set of shell commands in similar way it is done \
- for plain text files using grep/sed/awk/tr/diff/patch."
-HOMEPAGE = "http://xmlstar.sourceforge.net/"
-BUGTRACKER = "http://xmlstar.sourceforge.net/bugs/"
-
-SECTION = "console/utils"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c04760d09e8b0fe73283d0cc9e8bea53"
-
-DEPENDS = "libxml2 libxslt"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/xmlstar/${BP}.tar.gz \
- file://configure.ac.patch \
- file://0001-usage2c.awk-fix-wrong-basename-regexp.patch"
-SRC_URI[md5sum] = "0c6db295d0cf9ff0d439edb755b7e8f6"
-SRC_URI[sha256sum] = "47b4ed042ea2909257f2a386001af49fceb303f84da7214779ccf99fffc6bbba"
-
-inherit autotools
-
-# doc build: requires (native) xstlproc, fop, pdf2ps
-EXTRA_OECONF="--disable-build-docs \
- --with-libxml-prefix=${STAGING_LIBDIR}/.. \
- --with-libxslt-prefix=${STAGING_LIBDIR}/.."
-
-#Makefile:2116: recipe for target 'src/elem-usage.c' failed
-#make[1]: *** [src/elem-usage.c] Error 1
-#/bin/bash: src/escape-usage.c: No such file or directory
-#Makefile:2116: recipe for target 'src/escape-usage.c' failed
-#make[1]: *** [src/escape-usage.c] Error 1
-PARALLEL_MAKE = ""
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.6.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.6.1.bb
new file mode 100644
index 000000000..e3d52e616
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.6.1.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Command line XML toolkit"
+DESCRIPTION = "XMLStarlet is a command line XML toolkit which can be used to \
+ transform, query, validate, and edit XML documents and files \
+ using simple set of shell commands in similar way it is done \
+ for plain text files using grep/sed/awk/tr/diff/patch."
+HOMEPAGE = "http://xmlstar.sourceforge.net/"
+BUGTRACKER = "http://xmlstar.sourceforge.net/bugs/"
+
+SECTION = "console/utils"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c04760d09e8b0fe73283d0cc9e8bea53"
+
+DEPENDS = "libxml2 libxslt"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/xmlstar/${BP}.tar.gz \
+ file://configure.ac.patch \
+ file://0001-usage2c.awk-fix-wrong-basename-regexp.patch"
+SRC_URI[md5sum] = "f3c5dfa3b1a2ee06cd57c255cc8b70a0"
+SRC_URI[sha256sum] = "15d838c4f3375332fd95554619179b69e4ec91418a3a5296e7c631b7ed19e7ca"
+
+inherit autotools
+
+# doc build: requires (native) xstlproc, fop, pdf2ps
+EXTRA_OECONF="--disable-build-docs \
+ --with-libxml-prefix=${STAGING_LIBDIR}/.. \
+ --with-libxslt-prefix=${STAGING_LIBDIR}/.."
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-Add-correct-printf-qualifier-for-off_t.patch b/import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-Add-correct-printf-qualifier-for-off_t.patch
new file mode 100644
index 000000000..192e05f1c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-Add-correct-printf-qualifier-for-off_t.patch
@@ -0,0 +1,37 @@
+From 232daf5fca6fb52cced5e810f2601fe1a71b96d8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 8 Jun 2017 16:49:50 -0700
+Subject: [PATCH 1/3] Add correct printf qualifier for off_t
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/bios/ebda_region/ebda_region.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+Index: git/src/bios/ebda_region/ebda_region.c
+===================================================================
+--- git.orig/src/bios/ebda_region/ebda_region.c
++++ git/src/bios/ebda_region/ebda_region.c
+@@ -83,9 +83,9 @@ static int ebda_test1(fwts_framework *fw
+ if ((entry != NULL) &&
+ (entry->type == FWTS_MEMORY_MAP_RESERVED ||
+ entry->type == FWTS_MEMORY_MAP_ACPI)) {
+- fwts_passed(fw, "EBDA region mapped at 0x%lx and reserved as a %" PRId64
++ fwts_passed(fw, "EBDA region mapped at 0x%jdx and reserved as a %" PRId64
+ "K region in the %s table at 0x%" PRIx64 "..0x%" PRIx64 ".",
+- ebda_addr,
++ (intmax_t)ebda_addr,
+ (entry->end_address - entry->start_address) / 1024,
+ memory_map_name,
+ entry->start_address,
+@@ -93,8 +93,8 @@ static int ebda_test1(fwts_framework *fw
+ } else
+ fwts_failed(fw, LOG_LEVEL_MEDIUM,
+ "EBDAMappedNotReserved",
+- "EBDA region mapped at 0x%lx but not reserved in the %s table.",
+- ebda_addr, memory_map_name);
++ "EBDA region mapped at 0x%jdx but not reserved in the %s table.",
++ (intmax_t)ebda_addr, memory_map_name);
+
+ return FWTS_OK;
+ }
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-Include-poll.h-instead-of-deprecated-sys-poll.h.patch b/import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-Include-poll.h-instead-of-deprecated-sys-poll.h.patch
new file mode 100644
index 000000000..8ad078936
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-Include-poll.h-instead-of-deprecated-sys-poll.h.patch
@@ -0,0 +1,48 @@
+From 100a107a53d5dc9b0554252ac5dbf2c9330615e9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 6 Jun 2017 07:25:09 -0700
+Subject: [PATCH 1/3] Include poll.h instead of deprecated sys/poll.h
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/lib/src/fwts_ipmi.c | 3 ++-
+ src/lib/src/fwts_pipeio.c | 2 +-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/lib/src/fwts_ipmi.c b/src/lib/src/fwts_ipmi.c
+index cbb27611..70d11cfa 100644
+--- a/src/lib/src/fwts_ipmi.c
++++ b/src/lib/src/fwts_ipmi.c
+@@ -18,10 +18,11 @@
+ *
+ */
+
++#include <poll.h>
++
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
+-#include <sys/poll.h>
+ #include <sys/ioctl.h>
+ #include <linux/ipmi.h>
+
+diff --git a/src/lib/src/fwts_pipeio.c b/src/lib/src/fwts_pipeio.c
+index fd719640..bdc5b2ea 100644
+--- a/src/lib/src/fwts_pipeio.c
++++ b/src/lib/src/fwts_pipeio.c
+@@ -30,9 +30,9 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <paths.h>
++#include <poll.h>
+
+ #include <sys/param.h>
+-#include <sys/poll.h>
+ #include <sys/types.h>
+ #include <sys/wait.h>
+ #include <errno.h>
+--
+2.13.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0002-Add-C99-defined-format-for-printing-uint64_t.patch b/import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0002-Add-C99-defined-format-for-printing-uint64_t.patch
new file mode 100644
index 000000000..35ce883a2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0002-Add-C99-defined-format-for-printing-uint64_t.patch
@@ -0,0 +1,53 @@
+From 25f18b9ac37960dc12a3b648a5c866bd56ef2cbe Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 8 Jun 2017 16:50:23 -0700
+Subject: [PATCH 2/3] Add C99 defined format for printing uint64_t
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/opal/reserv_mem.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/opal/reserv_mem.c b/src/opal/reserv_mem.c
+index eeec2947..f0672e05 100644
+--- a/src/opal/reserv_mem.c
++++ b/src/opal/reserv_mem.c
+@@ -185,7 +185,7 @@ static int reserv_mem_limits_test(fwts_framework *fw)
+ regions[j].start = (uint64_t)be64toh(ranges[2 * j]);
+ regions[j].len = (uint64_t)be64toh(ranges[2 * j + 1]);
+ fwts_log_info(fw, "Region name %80s"
+- " start: 0x%08lx, len: 0x%08lx\n",
++ " start: 0x%08" PRIx64 ", len: 0x%08" PRIx64 "\n",
+ regions[j].name, regions[j].start, regions[j].len);
+ }
+
+@@ -248,7 +248,7 @@ static int reserv_mem_limits_test(fwts_framework *fw)
+ fwts_failed(fw, LOG_LEVEL_MEDIUM,
+ "ImageSizeMismatch",
+ "Mismatch in homer-image size, "
+- "expected: 0x%lx, actual: 0x%lx",
++ "expected: 0x%" PRIx64 ", actual: 0x%" PRIx64 "",
+ configstruct.homer, regions[j].len);
+ ok = false;
+ } else
+@@ -261,7 +261,7 @@ static int reserv_mem_limits_test(fwts_framework *fw)
+ fwts_failed(fw, LOG_LEVEL_MEDIUM,
+ "ImageSizeMismatch",
+ "Mismatch in slw-image size, "
+- "expected: 0x%lx, actual: 0x%lx",
++ "expected: 0x%" PRIx64 ", actual: 0x%" PRIx64 "",
+ configstruct.slw, regions[j].len);
+ ok = false;
+ } else
+@@ -274,7 +274,7 @@ static int reserv_mem_limits_test(fwts_framework *fw)
+ fwts_failed(fw, LOG_LEVEL_MEDIUM,
+ "ImageSizeMismatch",
+ "Mismatch in occ-common-area size, "
+- "expected: 0x%lx, actual: 0x%lx",
++ "expected: 0x%" PRIx64", actual: 0x%" PRIx64"",
+ configstruct.occ_common,
+ regions[j].len);
+ ok = false;
+--
+2.13.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0002-Define-__SWORD_TYPE-if-not-defined-by-libc.patch b/import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0002-Define-__SWORD_TYPE-if-not-defined-by-libc.patch
new file mode 100644
index 000000000..3b83ca57c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0002-Define-__SWORD_TYPE-if-not-defined-by-libc.patch
@@ -0,0 +1,33 @@
+From 0e89127cd02ecd5ea4506b935cb2b59eb94107d2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 6 Jun 2017 07:37:20 -0700
+Subject: [PATCH 2/3] Define __SWORD_TYPE if not defined by libc
+
+__SWORD_TYPE is internal to glibc, therefore
+check and define it if needed e.g. on musl
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/lib/src/fwts_uefi.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/lib/src/fwts_uefi.c b/src/lib/src/fwts_uefi.c
+index 1f9d31fa..2d925f8d 100644
+--- a/src/lib/src/fwts_uefi.c
++++ b/src/lib/src/fwts_uefi.c
+@@ -59,6 +59,10 @@ typedef struct {
+ #define UEFI_IFACE_SYSFS (2) /* sysfs */
+ #define UEFI_IFACE_EFIVARS (3) /* efivar fs */
+
++#ifndef __SWORD_TYPE
++typedef __typeof__( ((struct statfs *)0)->f_type ) __SWORD_TYPE;
++#endif
++
+ /* File system magic numbers */
+ #define PSTOREFS_MAGIC ((__SWORD_TYPE)0x6165676C)
+ #define EFIVARFS_MAGIC ((__SWORD_TYPE)0xde5e81e4)
+--
+2.13.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0003-Undefine-PAGE_SIZE.patch b/import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0003-Undefine-PAGE_SIZE.patch
new file mode 100644
index 000000000..f84fbffd8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0003-Undefine-PAGE_SIZE.patch
@@ -0,0 +1,30 @@
+From 0857269d5a053b5b4c31cfa01b6501526b24035f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 6 Jun 2017 07:39:28 -0700
+Subject: [PATCH 3/3] Undefine PAGE_SIZE
+
+musl defines PAGE_SIZE and build complains
+of multiple definitions
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/lib/src/fwts_acpi_tables.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/lib/src/fwts_acpi_tables.c b/src/lib/src/fwts_acpi_tables.c
+index 1d4fc705..71023ad2 100644
+--- a/src/lib/src/fwts_acpi_tables.c
++++ b/src/lib/src/fwts_acpi_tables.c
+@@ -42,6 +42,7 @@
+ #define BIOS_START (0x000e0000) /* Start of BIOS memory */
+ #define BIOS_END (0x000fffff) /* End of BIOS memory */
+ #define BIOS_LENGTH (BIOS_END - BIOS_START) /* Length of BIOS memory */
++#undef PAGE_SIZE
+ #define PAGE_SIZE (4096)
+
+ static fwts_acpi_table_info tables[ACPI_MAX_TABLES];
+--
+2.13.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0003-use-intptr_t-to-fix-pointer-to-int-cast-issues.patch b/import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0003-use-intptr_t-to-fix-pointer-to-int-cast-issues.patch
new file mode 100644
index 000000000..3cd3fbbc1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0003-use-intptr_t-to-fix-pointer-to-int-cast-issues.patch
@@ -0,0 +1,76 @@
+From d0d76820efe51dd404d381fc4c46544008e757dd Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 8 Jun 2017 16:50:59 -0700
+Subject: [PATCH 3/3] use intptr_t to fix pointer-to-int-cast issues
+
+uintptr_t is guaranteed to be wide enough that
+converting a void* to uintptr_t and back again
+will yield the original pointer value
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/lib/src/fwts_acpi_tables.c | 4 ++--
+ src/lib/src/fwts_mmap.c | 2 +-
+ src/lib/src/fwts_smbios.c | 4 ++--
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/lib/src/fwts_acpi_tables.c b/src/lib/src/fwts_acpi_tables.c
+index 832f8d66..d0006529 100644
+--- a/src/lib/src/fwts_acpi_tables.c
++++ b/src/lib/src/fwts_acpi_tables.c
+@@ -150,7 +150,7 @@ static fwts_acpi_table_rsdp *fwts_acpi_get_rsdp(fwts_framework *fw, void *addr,
+ fwts_acpi_table_rsdp *rsdp = NULL;
+ *rsdp_len = 0;
+
+- if ((mem = fwts_mmap((off_t)addr, sizeof(fwts_acpi_table_rsdp))) == FWTS_MAP_FAILED)
++ if ((mem = fwts_mmap((uintptr_t)addr, sizeof(fwts_acpi_table_rsdp))) == FWTS_MAP_FAILED)
+ return NULL;
+
+ if (fwts_safe_memread(mem, sizeof(fwts_acpi_table_rsdp)) != FWTS_OK) {
+@@ -456,7 +456,7 @@ static int fwts_acpi_load_tables_from_firmware(fwts_framework *fw)
+ if ((rsdp = fwts_acpi_get_rsdp(fw, rsdp_addr, &rsdp_len)) == NULL)
+ return FWTS_ERROR;
+
+- fwts_acpi_add_table("RSDP", rsdp, (uint64_t)(off_t)rsdp_addr, rsdp_len, FWTS_ACPI_TABLE_FROM_FIRMWARE);
++ fwts_acpi_add_table("RSDP", rsdp, (uint64_t)(uintptr_t)rsdp_addr, rsdp_len, FWTS_ACPI_TABLE_FROM_FIRMWARE);
+
+ /* Load any tables from XSDT if it's valid */
+ if (rsdp->xsdt_address) {
+diff --git a/src/lib/src/fwts_mmap.c b/src/lib/src/fwts_mmap.c
+index a09f688e..9fe6329a 100644
+--- a/src/lib/src/fwts_mmap.c
++++ b/src/lib/src/fwts_mmap.c
+@@ -81,7 +81,7 @@ int fwts_munmap(void *mem, const size_t size)
+ off_t offset;
+
+ page_size = fwts_page_size();
+- offset = ((off_t)(mem)) & (page_size - 1);
++ offset = ((uintptr_t)(mem)) & (page_size - 1);
+
+ if (munmap((void *)((uint8_t *)mem - offset), size + offset) < 0)
+ return FWTS_ERROR;
+diff --git a/src/lib/src/fwts_smbios.c b/src/lib/src/fwts_smbios.c
+index 8d0ea39b..63b4bf25 100644
+--- a/src/lib/src/fwts_smbios.c
++++ b/src/lib/src/fwts_smbios.c
+@@ -54,7 +54,7 @@ static void *fwts_smbios_find_entry_uefi(fwts_framework *fw, fwts_smbios_entry *
+ if ((addr = fwts_scan_efi_systab("SMBIOS")) != NULL) {
+ fwts_smbios_entry *mapped_entry;
+
+- if ((mapped_entry = fwts_mmap((off_t)addr, sizeof(fwts_smbios_entry))) != FWTS_MAP_FAILED) {
++ if ((mapped_entry = fwts_mmap((uintptr_t)addr, sizeof(fwts_smbios_entry))) != FWTS_MAP_FAILED) {
+ *entry = *mapped_entry;
+ (void)fwts_munmap(mapped_entry, sizeof(fwts_smbios_entry));
+ *type = FWTS_SMBIOS;
+@@ -84,7 +84,7 @@ static void *fwts_smbios30_find_entry_uefi(fwts_framework *fw, fwts_smbios30_ent
+ if ((addr = fwts_scan_efi_systab("SMBIOS3")) != NULL) {
+ fwts_smbios30_entry *mapped_entry;
+
+- if ((mapped_entry = fwts_mmap((off_t)addr, sizeof(fwts_smbios30_entry))) != FWTS_MAP_FAILED) {
++ if ((mapped_entry = fwts_mmap((uintptr_t)addr, sizeof(fwts_smbios30_entry))) != FWTS_MAP_FAILED) {
+ *entry = *mapped_entry;
+ (void)fwts_munmap(mapped_entry, sizeof(fwts_smbios30_entry));
+ return addr;
+--
+2.13.1
+
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 4c4ae66d6..87a23af19 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
@@ -5,11 +5,17 @@ HOMEPAGE = "https://wiki.ubuntu.com/Kernel/Reference/fwts"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://src/main.c;beginline=1;endline=16;md5=31da590f3e9f3bd34dcdb9e4db568519"
-PV = "17.03.00"
+PV = "17.03.00+git${SRCPV}"
-SRCREV = "e3e9d1442b4cc70f5b30199f584cec8e25aeaad4"
+SRCREV = "0153ea51cb648b3067a1b327eee6a075b6cfa330"
SRC_URI = "git://kernel.ubuntu.com/hwe/fwts.git \
file://0001-ignore-constant-logical-operand-warning-with-clang.patch \
+ file://0001-Include-poll.h-instead-of-deprecated-sys-poll.h.patch \
+ file://0002-Define-__SWORD_TYPE-if-not-defined-by-libc.patch \
+ file://0003-Undefine-PAGE_SIZE.patch \
+ file://0001-Add-correct-printf-qualifier-for-off_t.patch \
+ file://0002-Add-C99-defined-format-for-printing-uint64_t.patch \
+ file://0003-use-intptr_t-to-fix-pointer-to-int-cast-issues.patch \
"
S = "${WORKDIR}/git"
@@ -17,10 +23,12 @@ S = "${WORKDIR}/git"
COMPATIBLE_HOST = "(i.86|x86_64|aarch64|powerpc64).*-linux"
DEPENDS = "libpcre json-c glib-2.0 dtc"
+DEPENDS_append_libc-musl = " libexecinfo"
inherit autotools pkgconfig
CFLAGS += "-I${STAGING_INCDIR}/json-c -Wno-error=unknown-pragmas"
+LDFLAGS_append_libc-musl = " -lexecinfo"
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-perl/README b/import-layers/meta-openembedded/meta-perl/README
index 2a9b9ac71..cc965af9d 100644
--- a/import-layers/meta-openembedded/meta-perl/README
+++ b/import-layers/meta-openembedded/meta-perl/README
@@ -52,7 +52,7 @@ Dependencies
This layer depends on:
URI: git://git.openembedded.org/openembedded-core
- branch: pyro
+ branch: rocko
revision: HEAD
prio: default
@@ -75,12 +75,12 @@ Maintenance
-----------
Send patches / pull requests to openembedded-devel@lists.openembedded.org with
-'[meta-perl][pyro]' in the subject.
+'[meta-perl][rocko]' 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][pyro][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-perl][rocko][PATCH'
-pyro Branch Maintainer:
+rocko Branch Maintainer:
Armin Kuster <akuster808@gmail.com>
License
diff --git a/import-layers/meta-openembedded/meta-perl/conf/layer.conf b/import-layers/meta-openembedded/meta-perl/conf/layer.conf
index 0485ac8df..a861c3edb 100644
--- a/import-layers/meta-openembedded/meta-perl/conf/layer.conf
+++ b/import-layers/meta-openembedded/meta-perl/conf/layer.conf
@@ -13,4 +13,4 @@ BBFILE_PRIORITY_perl-layer = "6"
# cause compatibility issues with other layers
LAYERVERSION_perl-layer = "1"
-LAYERDEPENDS_perl-layer = "core"
+LAYERDEPENDS_perl-layer = "core openembedded-layer"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-extended/logcheck/files/99_logcheck b/import-layers/meta-openembedded/meta-perl/recipes-extended/logcheck/files/99_logcheck
new file mode 100644
index 000000000..4de33aca3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-extended/logcheck/files/99_logcheck
@@ -0,0 +1,2 @@
+# <type> <owner> <group> <mode> <path> <linksource>
+d logcheck logcheck 0755 /var/lock/logcheck none
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-extended/logcheck/logcheck_1.3.18.bb b/import-layers/meta-openembedded/meta-perl/recipes-extended/logcheck/logcheck_1.3.18.bb
new file mode 100644
index 000000000..b8766a7c7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-extended/logcheck/logcheck_1.3.18.bb
@@ -0,0 +1,79 @@
+SUMMARY = "Analyzes log files and sends noticeable events as email"
+DESCRIPTION = "\
+Logcheck is a simple utility which is designed to allow a system administrator \
+to view the log-files which are produced upon hosts under their control. \
+It does this by mailing summaries of the log-files to them, after first \
+filtering out "normal" entries. \
+Normal entries are entries which match one of the many included regular \
+expression files contain in the database."
+SECTION = "Applications/System"
+HOMEPAGE = "http://logcheck.org/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c93c0550bd3173f4504b2cbd8991e50b"
+
+SRC_URI = "git://git.debian.org/git/logcheck/logcheck.git \
+ file://99_logcheck \
+"
+SRCREV = "0a5865d80fa34c55387a1917a3e6f885bcff7f1d"
+
+S = "${WORKDIR}/git"
+
+inherit useradd
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "-m -g ${BPN} -G adm -r -d ${localstatedir}/lib/${BPN} \
+ -s /bin/false -c 'logcheck account' ${BPN}"
+GROUPADD_PARAM_${PN} = "-r ${BPN}"
+
+do_install() {
+ # Fix QA Issue
+ sed -i '/install -d $(DESTDIR)\/var\/lock\/logcheck/s/^/#/' Makefile
+
+ # "make install" do not install the manpages. Install them manually.
+ install -m 755 -d ${D}${mandir}/man1
+ install -m 755 -d ${D}${mandir}/man8
+ install -m 644 docs/logcheck-test.1 ${D}${mandir}/man1/
+ install -m 644 docs/logtail.8 ${D}${mandir}/man8/
+ install -m 644 docs/logtail2.8 ${D}${mandir}/man8/
+
+ install -m 755 -d ${D}${sysconfdir}/cron.d
+ install -m 644 debian/logcheck.cron.d ${D}${sysconfdir}/cron.d/logcheck
+ install -m 755 -d ${D}/var/lib/logcheck
+
+ oe_runmake install DESTDIR=${D}
+
+ # install header.txt for generated mails
+ install -m 0644 ${S}/debian/header.txt ${D}${sysconfdir}/${BPN}
+
+ chown -R ${BPN}:${BPN} ${D}${localstatedir}/lib/${BPN}
+ chown -R root:${BPN} ${D}${sysconfdir}/${BPN}
+
+ # Don't install /var/lock when populating rootfs. Do it through volatile
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/default/volatiles
+ install -m 0644 ${WORKDIR}/99_logcheck ${D}${sysconfdir}/default/volatiles
+ fi
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ echo "d /var/lock/logcheck 0755 logcheck logcheck -" \
+ > ${D}${sysconfdir}/tmpfiles.d/logcheck.conf
+ fi
+}
+
+VIRTUAL-RUNTIME_syslog ??= "rsyslog"
+
+RDEPENDS_${PN} = "\
+ bash \
+ cronie \
+ debianutils-run-parts \
+ grep \
+ lockfile-progs \
+ mime-construct \
+ perl \
+ perl-module-file-basename \
+ perl-module-getopt-std \
+ perl-module-file-glob \
+ ${VIRTUAL-RUNTIME_syslog} \
+"
+
+FILES_${PN} += "${datadir}/logtail"
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
deleted file mode 100644
index c21186231..000000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/adduser/adduser_3.115.bb
+++ /dev/null
@@ -1,54 +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.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 -m 0644 ${S}/AdduserCommon.pm ${D}${libdir}/perl/${@get_perl_version(d)}/Debian/AdduserCommon.pm
- 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.116.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/adduser/adduser_3.116.bb
new file mode 100644
index 000000000..112a5f022
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/adduser/adduser_3.116.bb
@@ -0,0 +1,54 @@
+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] = "e042a5842b8f24312d6f5a99a1af8f2c"
+SRC_URI[sha256sum] = "72d811ad3ba17d2794b14d19acd1d6b57f9dd31d9250d51e786895dee2daeac0"
+
+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 -m 0644 ${S}/AdduserCommon.pm ${D}${libdir}/perl/${@get_perl_version(d)}/Debian/AdduserCommon.pm
+ 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/libcapture/libcapture-tiny-perl_0.36.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.36.bb
deleted file mode 100644
index e77dd7708..000000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.36.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "Capture::Tiny - Capture STDOUT and STDERR from Perl, XS or external programs."
-DESCRIPTION = "Capture::Tiny provies a simple, portable way to capture \
-almost anything sent to STDOUT or STDERR, regardless of whether it comes \
-from Perl, from XS code or from an external program. Optionally, output can \
-be teed so that it is captured while being passed through to the original \
-filehandles. Yes, it even works on Windows (usually). Stop guessing which of \
-a dozen capturing modules to use in any particular situation and just use \
-this one."
-SECTION = "libs"
-
-HOMEPAGE = "http://search.cpan.org/~dagolden/Capture-Tiny/"
-
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=37a4918a30ace24395020e5b8c03b83f"
-
-SRCNAME = "Capture-Tiny"
-SRC_URI = "${CPAN_MIRROR}/authors/id/D/DA/DAGOLDEN/${SRCNAME}-${PV}.tar.gz"
-SRC_URI[md5sum] = "db6444111c30ac01a76a4c118241c7b6"
-SRC_URI[sha256sum] = "ab8742e53ad204a421bc82d5813f3c4c85c76581ea10d910d0aefc161f8cb03d"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-inherit cpan
-
-RDEPENDS_${PN} = " perl-module-scalar-util \
- perl-module-io-file \
- perl-module-extutils-makemaker \
- perl-module-file-spec \
- perl-module-exporter \
- perl-module-carp \
- perl-module-test-more \
- perl-module-file-temp \
- perl-module-lib \
- perl-module-overloading \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.46.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.46.bb
new file mode 100644
index 000000000..2719811ce
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.46.bb
@@ -0,0 +1,37 @@
+SUMMARY = "Capture::Tiny - Capture STDOUT and STDERR from Perl, XS or external programs."
+DESCRIPTION = "Capture::Tiny provies a simple, portable way to capture \
+almost anything sent to STDOUT or STDERR, regardless of whether it comes \
+from Perl, from XS code or from an external program. Optionally, output can \
+be teed so that it is captured while being passed through to the original \
+filehandles. Yes, it even works on Windows (usually). Stop guessing which of \
+a dozen capturing modules to use in any particular situation and just use \
+this one."
+SECTION = "libs"
+
+HOMEPAGE = "http://search.cpan.org/~dagolden/Capture-Tiny/"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=37a4918a30ace24395020e5b8c03b83f"
+
+SRCNAME = "Capture-Tiny"
+SRC_URI = "${CPAN_MIRROR}/authors/id/D/DA/DAGOLDEN/${SRCNAME}-${PV}.tar.gz"
+SRC_URI[md5sum] = "d718af07729d26a793949ca6ba2580a7"
+SRC_URI[sha256sum] = "5d7a6a830cf7f2b2960bf8b8afaac16a537ede64f3023827acea5bd24ca77015"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit cpan
+
+RDEPENDS_${PN} = " perl-module-scalar-util \
+ perl-module-io-file \
+ perl-module-extutils-makemaker \
+ perl-module-file-spec \
+ perl-module-exporter \
+ perl-module-carp \
+ perl-module-test-more \
+ perl-module-file-temp \
+ perl-module-lib \
+ perl-module-overloading \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.35.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.35.bb
deleted file mode 100644
index 4fa3429cc..000000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.35.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-DESCRIPTION = "CGI.pm is a stable, complete and mature solution for processing and preparing \
-HTTP requests and responses. Major features including processing form \
-submissions, file uploads, reading and writing cookies, query string generation \
-and manipulation, and processing and preparing HTTP headers."
-HOMEPAGE = "http://search.cpan.org/~leejo/CGI-4.28/lib/CGI.pod"
-SECTION = "libs"
-LICENSE = "Artistic-2.0 | GPL-2.0"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=2e9769f0a2613a98bc7fce15dee0c533"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/L/LE/LEEJO/CGI-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "15e63942c02354426b25f056f2a4467c"
-SRC_URI[sha256sum] = "0b34cdc59f596632b0620939286f6e18e7e81d043b6b57b974a8e07d18b5fc1d"
-
-S = "${WORKDIR}/CGI-${PV}"
-
-inherit cpan
-
-RPROVIDES_${PN} += "perl-module-cgi"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.36.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.36.bb
new file mode 100644
index 000000000..8f26ab0f7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.36.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] = "48566d81f430a7f755bb4d8f426ce35d"
+SRC_URI[sha256sum] = "fefe84d4f2461e867f9be80f3f988e17bcbbcb4e306952cf2fd1dea7e4515490"
+
+S = "${WORKDIR}/CGI-${PV}"
+
+inherit cpan
+
+RPROVIDES_${PN} += "perl-module-cgi"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libcurses/libcurses-perl_1.34.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libcurses/libcurses-perl_1.34.bb
deleted file mode 100644
index e7e9d9128..000000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libcurses/libcurses-perl_1.34.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-DESCRIPTION = "lib-curses provides an interface between Perl programs and \
-the curses library."
-
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-
-LIC_FILES_CHKSUM = "file://README;beginline=26;endline=30;md5=0b37356c5e9e28080a3422d82af8af09"
-
-DEPENDS += "perl ncurses "
-
-SRC_URI = "http://www.cpan.org/authors/id/G/GI/GIRAFFED/Curses-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "874c2103cc53552a0faa371c4d9119f6"
-SRC_URI[sha256sum] = "808e44d5946be265af5ff0b90f3d0802108e7d1b39b0fe68a4a446fe284d322b"
-
-S = "${WORKDIR}/Curses-${PV}"
-
-EXTRA_CPANFLAGS = "INC=-I${STAGING_INCDIR} LIBS=-L${STAGING_LIBDIR}"
-
-inherit cpan
-
-do_compile() {
- export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
- cpan_do_compile
-}
-
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libcurses/libcurses-perl_1.36.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libcurses/libcurses-perl_1.36.bb
new file mode 100644
index 000000000..782b973b5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libcurses/libcurses-perl_1.36.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "lib-curses provides an interface between Perl programs and \
+the curses library."
+
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+
+LIC_FILES_CHKSUM = "file://README;beginline=26;endline=30;md5=0b37356c5e9e28080a3422d82af8af09"
+
+DEPENDS += "perl ncurses "
+
+SRC_URI = "http://www.cpan.org/authors/id/G/GI/GIRAFFED/Curses-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "389c70ee5530b887f8e5dc1303cb5294"
+SRC_URI[sha256sum] = "a414795ba031c5918c70279fe534fee594a96ec4b0c78f44ce453090796add64"
+
+S = "${WORKDIR}/Curses-${PV}"
+
+EXTRA_CPANFLAGS = "INC=-I${STAGING_INCDIR} LIBS=-L${STAGING_LIBDIR}"
+
+inherit cpan
+
+do_compile() {
+ export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
+ cpan_do_compile
+}
+
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.50.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.50.bb
deleted file mode 100644
index 68bfd66fb..000000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.50.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "A Perl DBI driver for SQLite"
-DESCRIPTION = "DBD::SQLite is a Perl DBI driver for SQLite, that includes the entire \
-thing in the distribution. So in order to get a fast transaction capable \
-RDBMS working for your perl project you simply have to install this \
-module, and nothing else. \
-"
-HOMEPAGE = "http://search.cpan.org/~ishigaki/DBD-SQLite/"
-
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-DEPENDS += "libdbi-perl-native"
-RDEPENDS_${PN} += "libdbi-perl \
- sqlite3 \
- perl-module-constant \
- perl-module-locale \
- perl-module-tie-hash \
-"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1726e2117494ba3e13e1c3d93f795360"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/I/IS/ISHIGAKI/DBD-SQLite-${PV}.tar.gz \
- file://sqlite-perl-test.pl \
-"
-
-SRC_URI[md5sum] = "d56eebfb5f2a14be9413b025e7dca9fe"
-SRC_URI[sha256sum] = "3ac513ab73944fd7d4b672e1fe885dc522b6369d38f46a68e67e0045bf159ce1"
-
-S = "${WORKDIR}/DBD-SQLite-${PV}"
-
-inherit cpan
-
-BBCLASSEXTEND = "native"
-
-do_install_append() {
- if [ ${PERL_DBM_TEST} = "1" ]; then
- install -m 755 -D ${WORKDIR}/sqlite-perl-test.pl ${D}/${bindir}/sqlite-perl-test.pl
- fi
-}
-
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.54.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.54.bb
new file mode 100644
index 000000000..0b27b5cb1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.54.bb
@@ -0,0 +1,39 @@
+SUMMARY = "A Perl DBI driver for SQLite"
+DESCRIPTION = "DBD::SQLite is a Perl DBI driver for SQLite, that includes the entire \
+thing in the distribution. So in order to get a fast transaction capable \
+RDBMS working for your perl project you simply have to install this \
+module, and nothing else. \
+"
+HOMEPAGE = "http://search.cpan.org/~ishigaki/DBD-SQLite/"
+
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+DEPENDS += "libdbi-perl-native"
+RDEPENDS_${PN} += "libdbi-perl \
+ sqlite3 \
+ perl-module-constant \
+ perl-module-locale \
+ perl-module-tie-hash \
+"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1726e2117494ba3e13e1c3d93f795360"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/I/IS/ISHIGAKI/DBD-SQLite-${PV}.tar.gz \
+ file://sqlite-perl-test.pl \
+"
+
+SRC_URI[md5sum] = "8f835ddacb9a4a92a52bbe2d24d18a8e"
+SRC_URI[sha256sum] = "3929a6dbd8d71630f0cb57f85dcef9588cd7ac4c9fa12db79df77b9d3a4d7269"
+
+S = "${WORKDIR}/DBD-SQLite-${PV}"
+
+inherit cpan
+
+BBCLASSEXTEND = "native"
+
+do_install_append() {
+ if [ ${PERL_DBM_TEST} = "1" ]; then
+ install -m 755 -D ${WORKDIR}/sqlite-perl-test.pl ${D}/${bindir}/sqlite-perl-test.pl
+ fi
+}
+
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libdevel/libdevel-globaldestruction-perl_0.13.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libdevel/libdevel-globaldestruction-perl_0.13.bb
deleted file mode 100644
index 1a593cfdb..000000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libdevel/libdevel-globaldestruction-perl_0.13.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Function returning \"${^GLOBAL_PHASE} eq \'DESTRUCT\'\""
-DESCRIPTION = "Perl's global destruction is a little trick to deal with \
-WRT finalizers because it's not ordered and objects can sometimes disappear."
-
-SECTION = "libs"
-
-HOMEPAGE = "https://metacpan.org/pod/Devel-GlobalDestruction/"
-
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://README;beginline=53;endline=55;md5=935dadb9423774f53548e5cd5055d41a"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/H/HA/HAARG/Devel-GlobalDestruction-${PV}.tar.gz"
-SRC_URI[md5sum] = "e7be00040827e204b2b6cba2f3166074"
-SRC_URI[sha256sum] = "b29824dc0d322e56da325f05185367eb443694716010b36693dd52ffbe8ec462"
-
-S = "${WORKDIR}/Devel-GlobalDestruction-${PV}"
-
-inherit cpan
-
-RDEPENDS_${PN} = " libsub-exporter-progressive-perl \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libdevel/libdevel-globaldestruction-perl_0.14.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libdevel/libdevel-globaldestruction-perl_0.14.bb
new file mode 100644
index 000000000..0ce242454
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libdevel/libdevel-globaldestruction-perl_0.14.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Function returning \"${^GLOBAL_PHASE} eq \'DESTRUCT\'\""
+DESCRIPTION = "Perl's global destruction is a little trick to deal with \
+WRT finalizers because it's not ordered and objects can sometimes disappear."
+
+SECTION = "libs"
+
+HOMEPAGE = "https://metacpan.org/pod/Devel-GlobalDestruction/"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=53;endline=55;md5=935dadb9423774f53548e5cd5055d41a"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/H/HA/HAARG/Devel-GlobalDestruction-${PV}.tar.gz"
+SRC_URI[md5sum] = "24221ba322cf2dc46a1fc99b53e2380b"
+SRC_URI[sha256sum] = "34b8a5f29991311468fe6913cadaba75fd5d2b0b3ee3bb41fe5b53efab9154ab"
+
+S = "${WORKDIR}/Devel-GlobalDestruction-${PV}"
+
+inherit cpan
+
+RDEPENDS_${PN} = " libsub-exporter-progressive-perl \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-helpers-perl_0.022.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-helpers-perl_0.022.bb
deleted file mode 100644
index 9a0234e59..000000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-helpers-perl_0.022.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "ExtUtils::Helpers - Various portability utilities for module builders"
-DESCRIPTION = "This module provides various portable helper function for module building modules."
-SECTION = "libs"
-
-HOMEPAGE = "http://search.cpan.org/~leont/ExtUtils-Helpers/"
-
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=307057ce232899f5caa8858560c7274b"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/ExtUtils-Helpers-${PV}.tar.gz"
-SRC_URI[md5sum] = "cf4fd6f8caa6daac33b1111c9e93162b"
-SRC_URI[sha256sum] = "d3f8cf700fb3414ca1260089755cbf64041455e4b744110677b1ba5bb9a3aa95"
-
-S = "${WORKDIR}/ExtUtils-Helpers-${PV}"
-
-inherit cpan
-
-RDEPENDS_${PN} = " perl-module-file-copy \
- perl-module-extutils-makemaker \
- perl-module-exporter \
- perl-module-carp \
- perl-module-test-more \
- perl-module-text-parsewords \
- perl-module-load \
- perl-module-file-temp \
- perl-module-file-spec-functions \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-helpers-perl_0.026.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-helpers-perl_0.026.bb
new file mode 100644
index 000000000..c027250b0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-helpers-perl_0.026.bb
@@ -0,0 +1,29 @@
+SUMMARY = "ExtUtils::Helpers - Various portability utilities for module builders"
+DESCRIPTION = "This module provides various portable helper function for module building modules."
+SECTION = "libs"
+
+HOMEPAGE = "http://search.cpan.org/~leont/ExtUtils-Helpers/"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=223c04045664f72c3a6556462612bddd"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/ExtUtils-Helpers-${PV}.tar.gz"
+SRC_URI[md5sum] = "83b00c1e401321c425ae5db6b2b2fd12"
+SRC_URI[sha256sum] = "de901b6790a4557cf4ec908149e035783b125bf115eb9640feb1bc1c24c33416"
+
+S = "${WORKDIR}/ExtUtils-Helpers-${PV}"
+
+inherit cpan
+
+RDEPENDS_${PN} = " perl-module-file-copy \
+ perl-module-extutils-makemaker \
+ perl-module-exporter \
+ perl-module-carp \
+ perl-module-test-more \
+ perl-module-text-parsewords \
+ perl-module-load \
+ perl-module-file-temp \
+ perl-module-file-spec-functions \
+"
+
+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
deleted file mode 100644
index bc368ea77..000000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-parsexs-perl_3.24.bb
+++ /dev/null
@@ -1,47 +0,0 @@
-SUMMARY = "ExtUtils::ParseXS - converts Perl XS code into C code"
-DESCRIPTION = "\"ExtUtils::ParseXS\" will compile XS code into C code by \
-embedding the constructs necessary to let C functions manipulate Perl \
-values and creates the glue necessary to let Perl access those functions. \
-The compiler uses typesmapes to determine how to map C function parameters \
-and variables to Perl values."
-
-SECTION = "libs"
-
-HOMEPAGE = "http://metapan.org/release/ExtUtils-ParseXS/"
-
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://README;beginline=121;endline=130;md5=10ddb3a673b4c732022ac899968ea9cc"
-
-SRCNAME = "ExtUtils-ParseXS"
-SRC_URI = "${CPAN_MIRROR}/authors/id/S/SM/SMUELLER/${SRCNAME}-${PV}.tar.gz"
-SRC_URI[md5sum] = "e6be3f1d493e04ed805576104cf4328b"
-SRC_URI[sha256sum] = "30b60b8208fc9b7746ed934b678bb9618a8f28994dae8774548353a7b550371e"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-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 \
-"
-
-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 \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-parsexs-perl_3.35.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-parsexs-perl_3.35.bb
new file mode 100644
index 000000000..33707a0af
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-parsexs-perl_3.35.bb
@@ -0,0 +1,47 @@
+SUMMARY = "ExtUtils::ParseXS - converts Perl XS code into C code"
+DESCRIPTION = "\"ExtUtils::ParseXS\" will compile XS code into C code by \
+embedding the constructs necessary to let C functions manipulate Perl \
+values and creates the glue necessary to let Perl access those functions. \
+The compiler uses typesmapes to determine how to map C function parameters \
+and variables to Perl values."
+
+SECTION = "libs"
+
+HOMEPAGE = "http://metapan.org/release/ExtUtils-ParseXS/"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=120;endline=129;md5=eb858f0e3b1b0bee0c05b86a474ae2b6"
+
+SRCNAME = "ExtUtils-ParseXS"
+SRC_URI = "${CPAN_MIRROR}/authors/id/S/SM/SMUELLER/${SRCNAME}-${PV}.tar.gz"
+SRC_URI[md5sum] = "2ae41036d85e98e1369645724962dd16"
+SRC_URI[sha256sum] = "41def0511278a2a8ba9afa25ccab45b0453f75e7fd774e8644b5f9a57cc4ee1c"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+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 \
+"
+
+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 \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libfile/libfile-slurp-perl_9999.19.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libfile/libfile-slurp-perl_9999.19.bb
new file mode 100644
index 000000000..945b4c1c8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libfile/libfile-slurp-perl_9999.19.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Slurp entire files into variables."
+DESCRIPTION = "This module provides subroutines to read or write \
+ entire files with a simple call. It also has a subroutine for \
+ reading the list of filenames in a directory. \
+"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+
+LIC_FILES_CHKSUM = "file://README;beginline=37;endline=41;md5=255fbd5f98a90d51d9908d31271ae4d4"
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/U/UR/URI/File-Slurp-${PV}.tar.gz"
+
+S = "${WORKDIR}/File-Slurp-${PV}"
+
+inherit cpan
+
+SRC_URI[md5sum] = "7d584cd15c4f8b9547765eff8c4ef078"
+SRC_URI[sha256sum] = "ce29ebe995097ebd6e9bc03284714cdfa0c46dc94f6b14a56980747ea3253643"
+
+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 19b61d168..e202de05a 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
@@ -1,5 +1,5 @@
DESCRIPTION = "This package contains the Parser.pm module with friends."
-
+HOMEPAGE = "https://metacpan.org/release/HTML-Parser"
SECTION = "libs"
LICENSE = "Artistic-1.0 | GPL-1.0+"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/liblocale/liblocale-gettext-perl_1.07.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/liblocale/liblocale-gettext-perl_1.07.bb
new file mode 100644
index 000000000..fdc72a2b9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/liblocale/liblocale-gettext-perl_1.07.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Locale::gettext - message handling functions."
+DESCRIPTION = "The gettext module permits access from perl to the gettext() family of \
+functions for retrieving message strings from databases constructed to \
+internationalize software."
+SECTION = "libs"
+
+HOMEPAGE = "http://search.cpan.org/~pvandry/Locale-gettext-${PV}/"
+
+LICENSE = "Artistic-1.0 | GPLv1+"
+LIC_FILES_CHKSUM = "file://README;md5=d028249c2d08dca6ca6c5bb43b56d926"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/P/PV/PVANDRY/Locale-gettext-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "bc652758af65c24500f1d06a77415019"
+SRC_URI[sha256sum] = "909d47954697e7c04218f972915b787bd1244d75e3bd01620bc167d5bbc49c15"
+
+S = "${WORKDIR}/Locale-gettext-${PV}"
+
+inherit cpan
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libmime/libmime-charset-perl_1.012.2.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libmime/libmime-charset-perl_1.012.2.bb
new file mode 100644
index 000000000..79b4681a6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libmime/libmime-charset-perl_1.012.2.bb
@@ -0,0 +1,19 @@
+SUMMARY = "MIME::Charset - Charset Information for MIME."
+DESCRIPTION = "MIME::Charset provides information about character sets used for MIME \
+messages on Internet."
+HOMEPAGE = "http://search.cpan.org/~nezumi/MIME-Charset-${PV}/"
+SECTION = "libs"
+
+LICENSE = "Artistic-1.0 | GPLv1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/N/NE/NEZUMI/MIME-Charset-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "71440416376248c31aa3bef753fae28d"
+SRC_URI[sha256sum] = "878c779c0256c591666bd06c0cde4c0d7820eeeb98fd1183082aee9a1e7b1d13"
+
+S = "${WORKDIR}/MIME-Charset-${PV}"
+
+inherit cpan
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-perl_0.31.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-perl_0.31.bb
deleted file mode 100644
index c0fa06d08..000000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-perl_0.31.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "Module::Build::Tiny - A tiny replacement for Module::Build"
-DESCRIPTION = "Many Perl distributions use a Build.PL file instead of a \
-Makefile.PL file to drive distribution configuration, build, test and \
-installation. Traditionally, Build.PL uses Module::Build as the underlying \
-build system. This module provides a simple, lightweight, drop-in replacement. \
-Whereas Module::Build has over 6,700 lines of code; this module has less than \
-120, yet supports the features needed by most distributions."
-SECTION = "libs"
-
-HOMEPAGE = "http://search.cpan.org/~kwilliams/Module-Build-0.31/"
-
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=43339d8f9d3a956ee9eceb07717ee95e"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/K/KW/KWILLIAMS/Module-Build-${PV}.tar.gz"
-SRC_URI[md5sum] = "3d4fdffe58f6236253767e5a71edf29b"
-SRC_URI[sha256sum] = "e2f723be8d6c70b4ddbca3b5e32e52e6e98eae8f43e34d7ede87efcb1796bbb5"
-
-S = "${WORKDIR}/Module-Build-${PV}"
-
-inherit cpan_build
-
-do_install () {
- cpan_build_do_install
-}
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-perl_0.4224.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-perl_0.4224.bb
new file mode 100644
index 000000000..d523a7a0c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-perl_0.4224.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Module::Build - Build and install Perl modules"
+DESCRIPTION = "Many Perl distributions use a Build.PL file instead of a \
+Makefile.PL file to drive distribution configuration, build, test and \
+installation. Traditionally, Build.PL uses Module::Build as the underlying \
+build system. This module provides a simple, lightweight, drop-in replacement. \
+Whereas Module::Build has over 6,700 lines of code; this module has less than \
+120, yet supports the features needed by most distributions."
+
+SECTION = "libs"
+
+HOMEPAGE = "https://metacpan.org/release/Module-Build"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=960;endline=965;md5=624c06db56a2af4d70cf9edc29fcae1b"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/Module-Build-${PV}.tar.gz"
+SRC_URI[md5sum] = "b74c2f6e84b60aad3a3defd30b6f0f4d"
+SRC_URI[sha256sum] = "a6ca15d78244a7b50fdbf27f85c85f4035aa799ce7dd018a0d98b358ef7bc782"
+
+S = "${WORKDIR}/Module-Build-${PV}"
+
+inherit cpan_build
+
+# From:
+# https://github.com/rehsack/meta-cpan/blob/master/recipes-devel/module-build-perl/module-build-perl_0.4216.bb
+#
+do_patch_module_build () {
+ cd ${S}
+ sed -i -e 's,my $interpreter = $self->{properties}{perl};,my $interpreter = "${bindir}/perl";,g' lib/Module/Build/Base.pm
+}
+
+do_patch[postfuncs] += "do_patch_module_build"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.036.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.036.bb
deleted file mode 100644
index 761f17cc3..000000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.036.bb
+++ /dev/null
@@ -1,54 +0,0 @@
-SUMMARY = "Module::Build::Tiny - A tiny replacement for Module::Build"
-DESCRIPTION = "Many Perl distributions use a Build.PL file instead of a \
-Makefile.PL file to drive distribution configuration, build, test and \
-installation. Traditionally, Build.PL uses Module::Build as the underlying \
-build system. This module provides a simple, lightweight, drop-in replacement. \
-Whereas Module::Build has over 6,700 lines of code; this module has less than \
-120, yet supports the features needed by most distributions."
-SECTION = "libs"
-
-HOMEPAGE = "http://search.cpan.org/~leont/Module-Build-Tiny/"
-
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=aaca61412962cf972aec0cdad99d0a84"
-
-DEPENDS = "libextutils-config-perl-native libextutils-helpers-perl-native libextutils-installpaths-perl-native"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/Module-Build-Tiny-${PV}.tar.gz"
-SRC_URI[md5sum] = "bfc92c655158ce623f0ced94f4ef02e5"
-SRC_URI[sha256sum] = "d6706bf35e080e5af20cccf4fd565cc8af9c2a1e2e2075cee0a7de42cf0d6df9"
-
-S = "${WORKDIR}/Module-Build-Tiny-${PV}"
-
-inherit cpan_build
-
-do_install () {
- cpan_build_do_install
-}
-
-RDEPENDS_${PN} = " libextutils-config-perl \
- libextutils-helpers-perl \
- libextutils-installpaths-perl \
- perl-module-xsloader \
- perl-module-file-spec \
- perl-module-io-handle \
- perl-module-tap-harness-env \
- perl-module-ipc-open3 \
- perl-module-file-path \
- perl-module-cpan \
- perl-module-extutils-cbuilder \
- perl-module-getopt-long \
- perl-module-extutils-makemaker \
- perl-module-exporter \
- perl-module-carp \
- perl-module-test-more \
- perl-module-text-parsewords \
- perl-module-load \
- perl-module-file-temp \
- perl-module-data-dumper \
- perl-module-extutils-parsexs \
- perl-module-pod-man \
- perl-module-json-pp \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.039.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.039.bb
new file mode 100644
index 000000000..b1a56e56d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.039.bb
@@ -0,0 +1,54 @@
+SUMMARY = "Module::Build::Tiny - A tiny replacement for Module::Build"
+DESCRIPTION = "Many Perl distributions use a Build.PL file instead of a \
+Makefile.PL file to drive distribution configuration, build, test and \
+installation. Traditionally, Build.PL uses Module::Build as the underlying \
+build system. This module provides a simple, lightweight, drop-in replacement. \
+Whereas Module::Build has over 6,700 lines of code; this module has less than \
+120, yet supports the features needed by most distributions."
+SECTION = "libs"
+
+HOMEPAGE = "http://search.cpan.org/~leont/Module-Build-Tiny/"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=57b8100f0b648cd37fbc3725fe3c111a"
+
+DEPENDS = "libextutils-config-perl-native libextutils-helpers-perl-native libextutils-installpaths-perl-native"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/Module-Build-Tiny-${PV}.tar.gz"
+SRC_URI[md5sum] = "2332c90c17454107fea3f2614e11a3a9"
+SRC_URI[sha256sum] = "7d580ff6ace0cbe555bf36b86dc8ea232581530cbeaaea09bccb57b55797f11c"
+
+S = "${WORKDIR}/Module-Build-Tiny-${PV}"
+
+inherit cpan_build
+
+do_install () {
+ cpan_build_do_install
+}
+
+RDEPENDS_${PN} = " libextutils-config-perl \
+ libextutils-helpers-perl \
+ libextutils-installpaths-perl \
+ perl-module-xsloader \
+ perl-module-file-spec \
+ perl-module-io-handle \
+ perl-module-tap-harness-env \
+ perl-module-ipc-open3 \
+ perl-module-file-path \
+ perl-module-cpan \
+ perl-module-extutils-cbuilder \
+ perl-module-getopt-long \
+ perl-module-extutils-makemaker \
+ perl-module-exporter \
+ perl-module-carp \
+ perl-module-test-more \
+ perl-module-text-parsewords \
+ perl-module-load \
+ perl-module-file-temp \
+ perl-module-data-dumper \
+ perl-module-extutils-parsexs \
+ perl-module-pod-man \
+ perl-module-json-pp \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libmoo/libmoo-perl_2.000002.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libmoo/libmoo-perl_2.000002.bb
deleted file mode 100644
index fe119fa9f..000000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libmoo/libmoo-perl_2.000002.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "Moo - Minimalist Object Orientation (with Moose compatibility)"
-DESCRIPTION = "This module us an extremely light-weight subset of \"Moose\" \
-optimised for rapid startup and \"pay only for what you use\"."
-
-SECTION = "libs"
-
-HOMEPAGE = "http://metapan.org/release/Moo/"
-
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://README;beginline=688;endline=733;md5=27efedd175eeaddbd18f4e3572bd72a8"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/H/HA/HAARG/Moo-${PV}.tar.gz"
-SRC_URI[md5sum] = "8b84a7289fc6247de5ec5d151105fd6b"
-SRC_URI[sha256sum] = "fb4bfa751f0dd06bd70f2e06e811f85a640501f263c228a8efafbf6b26691fd4"
-
-S = "${WORKDIR}/Moo-${PV}"
-
-inherit cpan
-
-RDEPENDS_${PN} = " libclass-method-modifiers-perl \
- libdevel-globaldestruction-perl \
- libmodule-runtime-perl \
- librole-tiny-perl \
- perl-module-constant \
- perl-module-exporter \
- perl-module-mro \
- perl-module-scalar-util \
-"
-
-RPROVIDES_${PN} = " libmethod-inliner-perl \
- libmethod-generate-accessor-perl \
- libmethod-generate-buildall-perl \
- libmethod-generate-constructor-perl \
- libmethod-generate-demolishall-perl \
- libmoo-perl \
- libmoo-handlemoose-perl \
- libmoo-handlemoose-fakemetaclass-perl \
- libmoo-object-perl \
- libmoo-role-perl \
- libsub-defer-perl \
- libsub-quote-perl \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libmoo/libmoo-perl_2.003002.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libmoo/libmoo-perl_2.003002.bb
new file mode 100644
index 000000000..a0fe4927f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libmoo/libmoo-perl_2.003002.bb
@@ -0,0 +1,44 @@
+SUMMARY = "Moo - Minimalist Object Orientation (with Moose compatibility)"
+DESCRIPTION = "This module us an extremely light-weight subset of \"Moose\" \
+optimised for rapid startup and \"pay only for what you use\"."
+
+SECTION = "libs"
+
+HOMEPAGE = "http://metapan.org/release/Moo/"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=731;endline=776;md5=27efedd175eeaddbd18f4e3572bd72a8"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/H/HA/HAARG/Moo-${PV}.tar.gz"
+SRC_URI[md5sum] = "e9f1f3159555ecebcd062e998f297a94"
+SRC_URI[sha256sum] = "f3e9741e79baa63e89f5a08706cd80d18c0a5a37e3d898847e002310e06582f1"
+
+S = "${WORKDIR}/Moo-${PV}"
+
+inherit cpan
+
+RDEPENDS_${PN} = " libclass-method-modifiers-perl \
+ libdevel-globaldestruction-perl \
+ libmodule-runtime-perl \
+ librole-tiny-perl \
+ perl-module-constant \
+ perl-module-exporter \
+ perl-module-mro \
+ perl-module-scalar-util \
+"
+
+RPROVIDES_${PN} = " libmethod-inliner-perl \
+ libmethod-generate-accessor-perl \
+ libmethod-generate-buildall-perl \
+ libmethod-generate-constructor-perl \
+ libmethod-generate-demolishall-perl \
+ libmoo-perl \
+ libmoo-handlemoose-perl \
+ libmoo-handlemoose-fakemetaclass-perl \
+ libmoo-object-perl \
+ libmoo-role-perl \
+ libsub-defer-perl \
+ libsub-quote-perl \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.06.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.06.bb
deleted file mode 100644
index 3702e4a03..000000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.06.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=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-dns-perl_1.10.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.10.bb
new file mode 100644
index 000000000..0d898440b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.10.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "This package contains the DNS.pm module with friends."
+HOMEPAGE = "http://www.net-dns.org/"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+
+LIC_FILES_CHKSUM = "file://README;md5=92d93d8c5bf22de77578531e283dd219"
+
+DEPENDS += "perl"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/N/NL/NLNETLABS/Net-DNS-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "4fa45b0dfe79667453c1553e16e52c2a"
+SRC_URI[sha256sum] = "ebe53e7f433138fb9a7845b4edae6b8f4dc227da97eaf6b347584816ec63a525"
+
+S = "${WORKDIR}/Net-DNS-${PV}"
+
+EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
+
+inherit cpan
+
+do_compile() {
+ export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
+ cpan_do_compile
+}
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.80.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.80.bb
deleted file mode 100644
index cf621aa19..000000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.80.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "Net::SSLeay - Perl extension for using OpenSSL"
-DESCRIPTION = "This module offers some high level convenience functions for accessing \
-web pages on SSL servers (for symmetry, same API is offered for \
-accessing http servers, too), a sslcat() function for writing your own \
-clients, and finally access to the SSL api of SSLeay/OpenSSL package \
-so you can write servers or clients for more complicated applications."
-HOMEPAGE = "http://search.cpan.org/dist/Net-SSLeay/"
-SECTION = "libs"
-
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://README;beginline=274;endline=294;md5=67d67095d83e339da538a082fad5f38e"
-
-DEPENDS = "openssl zlib openssl-native"
-RDEPENDS_${PN} += "perl-module-carp \
- perl-module-errno \
- perl-module-extutils-makemaker \
- perl-module-mime-base64 \
- perl-module-socket \
- "
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MI/MIKEM/Net-SSLeay-${PV}.tar.gz \
- file://run-ptest \
- "
-SRC_URI[md5sum] = "b1e0fd96d7f3be57580377226ca5f089"
-SRC_URI[sha256sum] = "a541a66d59fc5f9bb7af09d3a0b68305e4c43ba9488b12915728fd282ea01b93"
-
-S = "${WORKDIR}/Net-SSLeay-${PV}"
-
-inherit cpan ptest
-
-EXTRA_CPANFLAGS = "LIBS='-L=${STAGING_LIBDIR} -L=${STAGING_BASELIBDIR}' \
- INC=-I=${STAGING_INCDIR} \
- '-lssl -lcrypto -lz' \
- "
-
-do_install_ptest() {
- cp -r ${B}/t ${D}${PTEST_PATH}
-}
-
-BBCLASSEXTEND = "native"
-
-FILES_${PN}-dbg =+ "${libdir}/perl/vendor_perl/*/auto/Net/SSLeay/.debug/"
-
-RDEPENDS_${PN}-ptest = " perl"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.81.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.81.bb
new file mode 100644
index 000000000..a861b69e9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.81.bb
@@ -0,0 +1,44 @@
+SUMMARY = "Net::SSLeay - Perl extension for using OpenSSL"
+DESCRIPTION = "This module offers some high level convenience functions for accessing \
+web pages on SSL servers (for symmetry, same API is offered for \
+accessing http servers, too), a sslcat() function for writing your own \
+clients, and finally access to the SSL api of SSLeay/OpenSSL package \
+so you can write servers or clients for more complicated applications."
+HOMEPAGE = "http://search.cpan.org/dist/Net-SSLeay/"
+SECTION = "libs"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=274;endline=294;md5=67d67095d83e339da538a082fad5f38e"
+
+DEPENDS = "openssl zlib openssl-native"
+RDEPENDS_${PN} += "perl-module-carp \
+ perl-module-errno \
+ perl-module-extutils-makemaker \
+ perl-module-mime-base64 \
+ perl-module-socket \
+ "
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MI/MIKEM/Net-SSLeay-${PV}.tar.gz \
+ file://run-ptest \
+ "
+SRC_URI[md5sum] = "71932ce34d4db44de8d00399c3405792"
+SRC_URI[sha256sum] = "00cbb6174e628b42178e1445c9fd5a3c5ae2cfd6a5a43e03610ba14786f21b7d"
+
+S = "${WORKDIR}/Net-SSLeay-${PV}"
+
+inherit cpan ptest
+
+EXTRA_CPANFLAGS = "LIBS='-L=${STAGING_LIBDIR} -L=${STAGING_BASELIBDIR}' \
+ INC=-I=${STAGING_INCDIR} \
+ '-lssl -lcrypto -lz' \
+ "
+
+do_install_ptest() {
+ cp -r ${B}/t ${D}${PTEST_PATH}
+}
+
+BBCLASSEXTEND = "native"
+
+FILES_${PN}-dbg =+ "${libdir}/perl/vendor_perl/*/auto/Net/SSLeay/.debug/"
+
+RDEPENDS_${PN}-ptest = " perl"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/librole/librole-tiny-perl_2.000001.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/librole/librole-tiny-perl_2.000001.bb
deleted file mode 100644
index 48360c633..000000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/librole/librole-tiny-perl_2.000001.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "Role::Tiny - Roles. Like a nouvelle cousine portion size of Moose."
-DESCRIPTION = "\"Role::Tiny\" is a minimalist role composition tool."
-
-SECTION = "libs"
-
-HOMEPAGE = "https://metacpan.org/pod/Role::Tiny"
-
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://README;beginline=172;endline=209;md5=26df7e7c20551fb1906e2286624f0b71"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/H/HA/HAARG/Role-Tiny-${PV}.tar.gz"
-SRC_URI[md5sum] = "f350f1f8c13652bf85da172380b39ec8"
-SRC_URI[sha256sum] = "31883410a7c85d6dc7501c718b1f83edba013a7b9bbccf0338a1033c391f296d"
-
-S = "${WORKDIR}/Role-Tiny-${PV}"
-
-inherit cpan
-
-RDEPENDS_${PN} = " perl-module-exporter \
- perl-module-strict \
- perl-module-test-more \
- perl-module-warnings \
-"
-
-RPROVIDES_${PN} = " librole-tiny-perl \
- librole-tiny-with-perl \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/librole/librole-tiny-perl_2.000005.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/librole/librole-tiny-perl_2.000005.bb
new file mode 100644
index 000000000..f684f684b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/librole/librole-tiny-perl_2.000005.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Role::Tiny - Roles. Like a nouvelle cousine portion size of Moose."
+DESCRIPTION = "\"Role::Tiny\" is a minimalist role composition tool."
+
+SECTION = "libs"
+
+HOMEPAGE = "https://metacpan.org/pod/Role::Tiny"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=177;endline=214;md5=26df7e7c20551fb1906e2286624f0b71"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/H/HA/HAARG/Role-Tiny-${PV}.tar.gz"
+SRC_URI[md5sum] = "c8c5cf1e02d2e0a1ed22530b55b67d66"
+SRC_URI[sha256sum] = "593a29b621e029bf0218d0154d5dfdf6ec502afc49adeeadae6afd0c70063115"
+
+S = "${WORKDIR}/Role-Tiny-${PV}"
+
+inherit cpan
+
+RDEPENDS_${PN} = " perl-module-exporter \
+ perl-module-strict \
+ perl-module-test-more \
+ perl-module-warnings \
+"
+
+RPROVIDES_${PN} = " librole-tiny-perl \
+ librole-tiny-with-perl \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libstrictures/libstrictures-perl_2.000002.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libstrictures/libstrictures-perl_2.000002.bb
deleted file mode 100644
index 11a6e5005..000000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libstrictures/libstrictures-perl_2.000002.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "strictures - turn on strict and make all warnings fatal"
-DESCRIPTION = "I've been writing the equivalent of this module at the top \
-of my code for about a year now. I figured it was time to make it shorter. \
-\
-Things like the importer in \"use Moose\" don't help me because they turn \
-warnings on but don't make them fatal -- which from my point of view is \
-useless because I want an exception to tell me my code isn't warnings-clean. \
-\
-Any time I see a warning from my code, that indicates a mistake. \
-\
-Any time my code encounters a mistake, I want a crash -- not spew to STDERR \
-and then unknown (and probably undesired) subsequent behaviour. \
-\
-I also want to ensure that obvious coding mistakes, like indirect object \
-syntax (and not so obvious mistakes that cause things to accidentally compile \
-as such) get caught, but not at the cost of an XS dependency and not at the \
-cost of blowing things up on another machine. \
-\
-Therefore, \"strictures\" turns on additional checking, but only when it \
-thinks it's running in a test file in a VCS checkout -- although if this \
-causes undesired behaviour this can be overridden by setting the \
-PERL_STRICTURES_EXTRA environment variable."
-
-SECTION = "libs"
-
-HOMEPAGE = "https://metacpan.org/pod/strictures"
-
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://README;beginline=246;endline=262;md5=43be558cf4f19823cdd6af22135cf5f8"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/H/HA/HAARG/strictures-${PV}.tar.gz"
-SRC_URI[md5sum] = "fb1fada8260992bc85e126c21ffcc6d5"
-SRC_URI[sha256sum] = "130355dcb3afd8c3c8213c24b924e71deb7e1e1197da8f90c5ae191766aa4100"
-
-S = "${WORKDIR}/strictures-${PV}"
-
-inherit cpan
-
-RDEPENDS_${PN} = " perl-module-carp \
- perl-module-strict \
- perl-module-test-more \
- perl-module-warnings \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libstrictures/libstrictures-perl_2.000003.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libstrictures/libstrictures-perl_2.000003.bb
new file mode 100644
index 000000000..a6808d3f8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libstrictures/libstrictures-perl_2.000003.bb
@@ -0,0 +1,45 @@
+SUMMARY = "strictures - turn on strict and make all warnings fatal"
+DESCRIPTION = "I've been writing the equivalent of this module at the top \
+of my code for about a year now. I figured it was time to make it shorter. \
+\
+Things like the importer in \"use Moose\" don't help me because they turn \
+warnings on but don't make them fatal -- which from my point of view is \
+useless because I want an exception to tell me my code isn't warnings-clean. \
+\
+Any time I see a warning from my code, that indicates a mistake. \
+\
+Any time my code encounters a mistake, I want a crash -- not spew to STDERR \
+and then unknown (and probably undesired) subsequent behaviour. \
+\
+I also want to ensure that obvious coding mistakes, like indirect object \
+syntax (and not so obvious mistakes that cause things to accidentally compile \
+as such) get caught, but not at the cost of an XS dependency and not at the \
+cost of blowing things up on another machine. \
+\
+Therefore, \"strictures\" turns on additional checking, but only when it \
+thinks it's running in a test file in a VCS checkout -- although if this \
+causes undesired behaviour this can be overridden by setting the \
+PERL_STRICTURES_EXTRA environment variable."
+
+SECTION = "libs"
+
+HOMEPAGE = "https://metacpan.org/pod/strictures"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=246;endline=262;md5=43be558cf4f19823cdd6af22135cf5f8"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/H/HA/HAARG/strictures-${PV}.tar.gz"
+SRC_URI[md5sum] = "78244cfab6168dcf196370d1e2309536"
+SRC_URI[sha256sum] = "27f8ea096a521e9754d36ea32889c2cda28346d04e3e399e7ea118d182dbaf22"
+
+S = "${WORKDIR}/strictures-${PV}"
+
+inherit cpan
+
+RDEPENDS_${PN} = " perl-module-carp \
+ perl-module-strict \
+ perl-module-test-more \
+ perl-module-warnings \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libsub/libsub-exporter-progressive-perl_0.001011.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libsub/libsub-exporter-progressive-perl_0.001011.bb
deleted file mode 100644
index a2a130574..000000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libsub/libsub-exporter-progressive-perl_0.001011.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "Sub::Exporter::Progressive - Only use Sub::Exporter if you need it."
-DESCRIPTION = "\"Sub::Exporter\" is an incredibly powerful module, but with \
-that power comes great responsibility, er- as well as some runtime penalties. \
-This module is a \"Sub::Exporter\" wrapper that will let your users just use \
-\"Exporter\" if all they are doing is picking exports, but use \
-\"Sub::Exporter\" if your users try to use \"Sub::Exporter's\" more advanced \
-features, like renaming exports, if they try to use them."
-
-SECTION = "libs"
-
-HOMEPAGE = "https://metacpan.org/pod/Sub-Exporter-Progressive/"
-
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://README;beginline=51;endline=53;md5=a171d2e9f8688a44e5f1b6dcc62029e6"
-
-DEPENDS_${PN} = " perl-module-test-more"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/F/FR/FREW/Sub-Exporter-Progressive-${PV}.tar.gz"
-SRC_URI[md5sum] = "bb50b3ba1538902b197c04818a84230a"
-SRC_URI[sha256sum] = "0618c6e69c6c0540c41e7560d51981407a6a0768f1330bef6d6ac3c6f1fa7c06"
-
-S = "${WORKDIR}/Sub-Exporter-Progressive-${PV}"
-
-inherit cpan
-
-RDEPENDS_${PN} += " perl-module-carp \
- perl-module-list-util \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libsub/libsub-exporter-progressive-perl_0.001013.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libsub/libsub-exporter-progressive-perl_0.001013.bb
new file mode 100644
index 000000000..64d19c0f1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libsub/libsub-exporter-progressive-perl_0.001013.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Sub::Exporter::Progressive - Only use Sub::Exporter if you need it."
+DESCRIPTION = "\"Sub::Exporter\" is an incredibly powerful module, but with \
+that power comes great responsibility, er- as well as some runtime penalties. \
+This module is a \"Sub::Exporter\" wrapper that will let your users just use \
+\"Exporter\" if all they are doing is picking exports, but use \
+\"Sub::Exporter\" if your users try to use \"Sub::Exporter's\" more advanced \
+features, like renaming exports, if they try to use them."
+
+SECTION = "libs"
+
+HOMEPAGE = "https://metacpan.org/pod/Sub-Exporter-Progressive/"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=003fa970662359a43ac2c2961108b0f1"
+
+DEPENDS_${PN} = " perl-module-test-more"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/F/FR/FREW/Sub-Exporter-Progressive-${PV}.tar.gz"
+SRC_URI[md5sum] = "72cf6acdd2a0a8b105821a4db98e4ebe"
+SRC_URI[sha256sum] = "d535b7954d64da1ac1305b1fadf98202769e3599376854b2ced90c382beac056"
+
+S = "${WORKDIR}/Sub-Exporter-Progressive-${PV}"
+
+inherit cpan
+
+RDEPENDS_${PN} += " perl-module-carp \
+ perl-module-list-util \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.37.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.37.bb
new file mode 100644
index 000000000..6b76682c6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.37.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Term::ReadKey - A perl module for simple terminal control."
+DESCRIPTION = "Term::ReadKey is a compiled perl module dedicated to providing simple \
+control over terminal driver modes (cbreak, raw, cooked, etc.,) support \
+for non-blocking reads, if the architecture allows, and some generalized \
+handy functions for working with terminals. One of the main goals is to \
+have the functions as portable as possible, so you can just plug in "use \
+Term::ReadKey" on any architecture and have a good likelihood of it \
+working."
+HOMEPAGE = "http://search.cpan.org/~jstowe/TermReadKey-${PV}"
+SECTION = "libraries"
+
+LICENSE = "Artistic-1.0 | GPLv1+"
+LIC_FILES_CHKSUM = "file://README;md5=c275db663c8489a5709ebb22b185add5"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/J/JS/JSTOWE/TermReadKey-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "e8ea15c16333ac4f8d146d702e83cc0c"
+SRC_URI[sha256sum] = "4a9383cf2e0e0194668fe2bd546e894ffad41d556b41d2f2f577c8db682db241"
+
+S = "${WORKDIR}/TermReadKey-${PV}"
+
+# It needs depend on native to let dynamic loader use native modules
+# rather than target ones.
+DEPENDS = "libterm-readkey-perl-native"
+
+inherit cpan
+
+do_configure_append () {
+ # Hack the dynamic module loader so that it use native modules since it can't load
+ # the target ones.
+ if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then
+ sed -i -e "s#-I\$(INST_ARCHLIB)#-I${STAGING_BINDIR_NATIVE}/perl-native/perl/vendor_perl/${@get_perl_version(d)}#g" Makefile
+ fi
+}
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libtext/libtext-charwidth-perl_0.04.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libtext/libtext-charwidth-perl_0.04.bb
new file mode 100644
index 000000000..9057ae7fa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libtext/libtext-charwidth-perl_0.04.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Text::CharWidth - Get number of occupied columns of a string on terminal."
+DESCRIPTION = "This module supplies features similar as wcwidth(3) and wcswidth(3) \
+in C language. \
+Characters have its own width on terminal depending on locale. For \
+example, ASCII characters occupy one column per character, east Asian \
+fullwidth characters (like Hiragana or Han Ideograph) occupy two columns \
+per character, and combining characters (apperaring in ISO-8859-11 Thai, \
+Unicode, and so on) occupy zero columns per character. mbwidth() gives the \
+width of the first character of the given string and mbswidth() gives the \
+width of the whole given string."
+SECTION = "libs"
+
+HOMEPAGE = "http://search.cpan.org/~kubota/Text-CharWidth-${PV}/"
+
+LICENSE = "Artistic-1.0 | GPLv1+"
+LIC_FILES_CHKSUM = "file://README;md5=d8d54c8c500cbdd57a4c15911d9d96db"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/K/KU/KUBOTA/Text-CharWidth-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "37a723df0580c0758c0ee67b37336c15"
+SRC_URI[sha256sum] = "abded5f4fdd9338e89fd2f1d8271c44989dae5bf50aece41b6179d8e230704f8"
+
+S = "${WORKDIR}/Text-CharWidth-${PV}"
+
+inherit cpan
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libtext/libtext-wrapi18n-perl_0.06.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libtext/libtext-wrapi18n-perl_0.06.bb
new file mode 100644
index 000000000..b2c239d79
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libtext/libtext-wrapi18n-perl_0.06.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Text::WrapI18N - Line wrapping module with support for multibyte, \
+fullwidth, and combining characters and languages without whitespaces \
+between words."
+DESCRIPTION = "This module intends to be a better Text::Wrap module. This module is \
+needed to support multibyte character encodings such as UTF-8, EUC-JP, \
+EUC-KR, GB2312, and Big5. This module also supports characters with \
+irregular widths, such as combining characters (which occupy zero columns \
+on terminal, like diacritical marks in UTF-8) and fullwidth characters \
+(which occupy two columns on terminal, like most of east Asian \
+characters). Also, minimal handling of languages which doesn't use \
+whitespaces between words (like Chinese and Japanese) is supported."
+SECTION = "libs"
+
+HOMEPAGE = "http://search.cpan.org/~kubota/Text-WrapI18N-${PV}/"
+
+LICENSE = "Artistic-1.0 | GPLv1+"
+LIC_FILES_CHKSUM = "file://README;md5=080862e1e40cdcddef4393e137285858"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/K/KU/KUBOTA/Text-WrapI18N-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "0799c16a00926e6c18d400c2e2861d5f"
+SRC_URI[sha256sum] = "4bd29a17f0c2c792d12c1005b3c276f2ab0fae39c00859ae1741d7941846a488"
+
+S = "${WORKDIR}/Text-WrapI18N-${PV}"
+
+DEPENDS = "libtext-charwidth-perl"
+
+RDEPENDS_${PN} = "libtext-charwidth-perl"
+
+inherit cpan
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libunicode/libunicode-linebreak-perl_2017.004.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libunicode/libunicode-linebreak-perl_2017.004.bb
new file mode 100644
index 000000000..5ccb411fa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libunicode/libunicode-linebreak-perl_2017.004.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Unicode::LineBreak - UAX #14 Unicode Line Breaking Algorithm."
+DESCRIPTION = "Unicode::LineBreak performs Line Breaking Algorithm described in Unicode \
+Standard Annex #14 [UAX #14]. East_Asian_Width informative property \
+defined by Annex #11 [UAX #11] will be concerned to determine breaking \
+positions."
+SECTION = "libs"
+
+HOMEPAGE = "http://search.cpan.org/~nezumi/Unicode-LineBreak-${PV}/"
+
+LICENSE = "Artistic-1.0 | GPLv1+"
+LIC_FILES_CHKSUM = "file://README;md5=77241abd74fec561b3f3de1b44c0241b"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/N/NE/NEZUMI/Unicode-LineBreak-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "de7672227922260ac92d20bbad29660b"
+SRC_URI[sha256sum] = "655bc3c4cb60ad0770d97816716cfe322f24e602c70e595f5941dfa02c40cb76"
+
+S = "${WORKDIR}/Unicode-LineBreak-${PV}"
+
+DEPENDS = "libsombok3 libmime-charset-perl"
+
+RDEPENDS_${PN} = "libsombok3 libmime-charset-perl"
+
+inherit cpan
+
+BBCLASSEXTEND = "native"
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
deleted file mode 100644
index 8bc00c45e..000000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0121.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "Perl interface to the libxml2 library"
-DESCRIPTION = "This module is an interface to libxml2, providing XML and HTML parsers \
-with DOM, SAX and XMLReader interfaces, a large subset of DOM Layer 3 \
-interface and a XML::XPath-like interface to XPath API of libxml2. \
-The module is split into several packages which are not described in this \
-section; unless stated otherwise, you only need to use XML::LibXML; in \
-your programs."
-
-HOMEPAGE = "http://search.cpan.org/dist/XML-LibXML-1.99/"
-SECTION = "libs"
-LICENSE = "Artistic-1.0|GPLv1+"
-DEPENDS += "libxml2 \
- libxml-sax-perl-native \
- zlib \
-"
-RDEPENDS_${PN} += "libxml2 \
- libxml-sax-perl \
- libxml-sax-base-perl \
- zlib \
-"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/S/SH/SHLOMIF/XML-LibXML-${PV}.tar.gz;name=libxml \
- file://disable-libxml2-check.patch \
- file://fix-CATALOG-conditional-compile.patch \
- file://using-DOCB-conditional.patch \
-"
-LIC_FILES_CHKSUM = "file://debian/copyright;md5=75e021e35a906347f46c9ff163653e2a \
- file://LICENSE;md5=97871bde150daeb5e61ad95137ff2446 \
-"
-SRC_URI[libxml.md5sum] = "1544ab9ac110f5da296015346561ce02"
-SRC_URI[libxml.sha256sum] = "ec431011cb37a04640fd2316f64d0405a274eece2c6f3847f7fbd336eb1c0dc9"
-
-S = "${WORKDIR}/XML-LibXML-${PV}"
-
-inherit cpan
-
-EXTRA_CPANFLAGS = "INC=-I${STAGING_INCDIR}/libxml2 LIBS=-L${STAGING_LIBDIR}"
-
-BBCLASSEXTEND = "native"
-
-CFLAGS += " -D_GNU_SOURCE "
-BUILD_CFLAGS += " -D_GNU_SOURCE "
-
-FILES_${PN}-dbg =+ "${libdir}/perl/vendor_perl/*/auto/XML/LibXML/.debug/"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0129.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0129.bb
new file mode 100644
index 000000000..a8cc269cb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0129.bb
@@ -0,0 +1,44 @@
+SUMMARY = "Perl interface to the libxml2 library"
+DESCRIPTION = "This module is an interface to libxml2, providing XML and HTML parsers \
+with DOM, SAX and XMLReader interfaces, a large subset of DOM Layer 3 \
+interface and a XML::XPath-like interface to XPath API of libxml2. \
+The module is split into several packages which are not described in this \
+section; unless stated otherwise, you only need to use XML::LibXML; in \
+your programs."
+
+HOMEPAGE = "http://search.cpan.org/dist/XML-LibXML-1.99/"
+SECTION = "libs"
+LICENSE = "Artistic-1.0|GPLv1+"
+DEPENDS += "libxml2 \
+ libxml-sax-perl-native \
+ zlib \
+"
+RDEPENDS_${PN} += "libxml2 \
+ libxml-sax-perl \
+ libxml-sax-base-perl \
+ zlib \
+"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/S/SH/SHLOMIF/XML-LibXML-${PV}.tar.gz;name=libxml \
+ file://disable-libxml2-check.patch \
+ file://fix-CATALOG-conditional-compile.patch \
+ file://using-DOCB-conditional.patch \
+"
+LIC_FILES_CHKSUM = "file://debian/copyright;md5=64eda1bc135f0ece1d1187f2a8ac82c1 \
+ file://LICENSE;md5=97871bde150daeb5e61ad95137ff2446 \
+"
+SRC_URI[libxml.md5sum] = "5806b69d54a2d7884b8d22b395888436"
+SRC_URI[libxml.sha256sum] = "5ca0269ba06800c84061a7f3333c85fab5584d69cd7b4e0641963da7fd36b366"
+
+S = "${WORKDIR}/XML-LibXML-${PV}"
+
+inherit cpan
+
+EXTRA_CPANFLAGS = "INC=-I${STAGING_INCDIR}/libxml2 LIBS=-L${STAGING_LIBDIR}"
+
+BBCLASSEXTEND = "native"
+
+CFLAGS += " -D_GNU_SOURCE "
+BUILD_CFLAGS += " -D_GNU_SOURCE "
+
+FILES_${PN}-dbg =+ "${libdir}/perl/vendor_perl/*/auto/XML/LibXML/.debug/"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-sax-writer-perl_0.56.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-sax-writer-perl_0.56.bb
deleted file mode 100644
index 961ceda59..000000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-sax-writer-perl_0.56.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "XML::SAX::Writer - SAX2 Writer"
-DESCRIPTION = "\
-XML::SAX::Writer helps to serialize SAX2 representations of XML documents to \
-strings, files, and other flat representations. It handles charset encodings, \
-XML escaping conventions, and so forth. It is still considered alpha, \
-although it has been put to limited use in settings such as XML::LibXML and \
-the AxKit XML Application Server. \
-"
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPLv1+"
-HOMEPAGE = "http://search.cpan.org/dist/XML-SAX-Writer/"
-DEPENDS += "libxml-filter-buffertext-perl-native"
-RDEPENDS_${PN} += "libxml-filter-buffertext-perl"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/P/PE/PERIGRIN/XML-SAX-Writer-${PV}.tar.gz"
-SRC_URI[md5sum] = "e5fa5e2b2f6867b1aca9b5b43e1ce361"
-SRC_URI[sha256sum] = "d073f7a25072c8150317b86b99d07031316a15bffab99e63e5afe591c8217d03"
-
-LIC_FILES_CHKSUM = "file://README;beginline=45;endline=46;md5=d41d8cd98f00b204e9800998ecf8427e"
-
-S = "${WORKDIR}/XML-SAX-Writer-${PV}"
-
-inherit cpan
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-sax-writer-perl_0.57.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-sax-writer-perl_0.57.bb
new file mode 100644
index 000000000..d1b0de093
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-sax-writer-perl_0.57.bb
@@ -0,0 +1,25 @@
+SUMMARY = "XML::SAX::Writer - SAX2 Writer"
+DESCRIPTION = "\
+XML::SAX::Writer helps to serialize SAX2 representations of XML documents to \
+strings, files, and other flat representations. It handles charset encodings, \
+XML escaping conventions, and so forth. It is still considered alpha, \
+although it has been put to limited use in settings such as XML::LibXML and \
+the AxKit XML Application Server. \
+"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPLv1+"
+HOMEPAGE = "http://search.cpan.org/dist/XML-SAX-Writer/"
+DEPENDS += "libxml-filter-buffertext-perl-native"
+RDEPENDS_${PN} += "libxml-filter-buffertext-perl"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/P/PE/PERIGRIN/XML-SAX-Writer-${PV}.tar.gz"
+SRC_URI[md5sum] = "3e3023c648e3003c04de2fb04435f8bd"
+SRC_URI[sha256sum] = "3d61d07ef43b0126f5b4de4f415a256fa859fa88dc4fdabaad70b7be7c682cf0"
+
+LIC_FILES_CHKSUM = "file://README;beginline=45;endline=46;md5=d41d8cd98f00b204e9800998ecf8427e"
+
+S = "${WORKDIR}/XML-SAX-Writer-${PV}"
+
+inherit cpan
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/po4a/po4a_0.49.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/po4a/po4a_0.49.bb
new file mode 100644
index 000000000..5db5b8f8b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/po4a/po4a_0.49.bb
@@ -0,0 +1,33 @@
+SUMMARY = "PO for anything"
+DESCRIPTION = "The po4a (PO for anything) project goal is to ease translations \
+(and more interestingly, the maintenance of translations) using gettext tools \
+on areas where they were not expected like documentation."
+HOMEPAGE = "https://po4a.alioth.debian.org"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a96fc9b4cc36d80659e694ea109f0325"
+
+SRC_URI = "git://alioth.debian.org/anonscm/git/po4a/po4a.git;protocol=https"
+
+# v0.49
+SRCREV = "79ed87a577a543538fe39c7b60079981f5997072"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = " \
+ libmodule-build-perl-native \
+ libtext-wrapi18n-perl \
+ libterm-readkey-perl \
+ liblocale-gettext-perl \
+ libunicode-linebreak-perl \
+"
+
+RRECOMMENDS_${PN} = " \
+ libtext-wrapi18n-perl \
+ libterm-readkey-perl \
+ liblocale-gettext-perl \
+ libunicode-linebreak-perl \
+"
+
+inherit cpan_build
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/README b/import-layers/meta-openembedded/meta-python/README
index 01b056c4a..43740f627 100644
--- a/import-layers/meta-openembedded/meta-python/README
+++ b/import-layers/meta-openembedded/meta-python/README
@@ -17,12 +17,12 @@ The meta-python layer depends on:
URI: git://git.openembedded.org/openembedded-core
layers: meta
- branch: pyro
+ branch: rocko
revision: HEAD
URI: git://git.openembedded.org/meta-openembedded
layers: meta-oe
- branch: pyro
+ branch: rocko
revision: HEAD
Please follow the recommended setup procedures of your OE distribution.
@@ -39,12 +39,16 @@ comments and patch review. It is subscriber only, so please register
before posting.
Send pull requests to openembedded-devel@lists.openembedded.org with
-'[meta-python][pyro]' 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][pyro][PATCH'
+'git send-email -M -1 --to=openembedded-devel@lists.openembedded.org --subject-prefix=meta-python][PATCH'
Maintenance
-------------------------
-pyro Branch Maintainer:
-Armin Kuster <akuster808@gmail.com>
+
+Maintainers:
+ Tim "moto-timo" Orling <TicoTimo@gmail.com>
+ Paul "bluelightning" Eggleton <paul.eggleton@linux.intel.com>
+ Derek Straka <derek@asterius.io>
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/files/0001-fix_setup_py.patch b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/files/0001-fix_setup_py.patch
deleted file mode 100644
index a9135a3db..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/files/0001-fix_setup_py.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 2d47a5df58802173bf90d760b1d6f520aeea76fc Mon Sep 17 00:00:00 2001
-From: Andrej Rode <andrej.rode@ettus.com>
-Date: Mon, 10 Apr 2017 16:47:41 -0700
-Subject: [PATCH] setup: remove find_packages since that would install tests as
- a package as well
-
-Signed-off-by: Andrej Rode <andrej.rode@ettus.com>
----
- setup.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/setup.py b/setup.py
-index 6b37016..a1f11a7 100644
---- a/setup.py
-+++ b/setup.py
-@@ -1,6 +1,6 @@
- # -*- coding: utf-8 -*-
-
--from setuptools import setup, find_packages
-+from setuptools import setup
-
- setup(
- name='gsocketpool',
-@@ -9,7 +9,7 @@ setup(
- author='Studio Ousia',
- author_email='ikuya@ousia.jp',
- url='http://github.com/studio-ousia/gsocketpool',
-- packages=find_packages(),
-+ packages=['gsocketpool'],
- license=open('LICENSE').read(),
- include_package_data=True,
- classifiers=(
---
-2.10.2
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/python-gsocketpool.inc b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/python-gsocketpool.inc
new file mode 100644
index 000000000..11971dc4a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/python-gsocketpool.inc
@@ -0,0 +1,12 @@
+SUMMARY = "A simple connection pool for gevent"
+DESCRIPTION = "creates a pool of connections that can be used with gevent"
+HOMEPAGE = "https://github.com/studio-ousia/gsocketpool"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4ba825394aec026b5f94edca44426859"
+DEPENDS += "${PYTHON_PN}-gevent"
+RDEPENDS_${PN} += "${PYTHON_PN}-gevent"
+
+SRC_URI[md5sum] = "49f5f292ef1b60944ae92ca426a5e550"
+SRC_URI[sha256sum] = "f2e2749aceadce6b27ca52e2b0a64af99797746a8681e1a2963f72007c14cb14"
+
+inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/python-gsocketpool_0.1.5.bb b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/python-gsocketpool_0.1.5.bb
deleted file mode 100644
index f86152c4a..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/python-gsocketpool_0.1.5.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "A simple connection pool for gevent"
-DESCRIPTION = "creates a pool of connections that can be used with gevent"
-HOMEPAGE = "https://github.com/studio-ousia/gsocketpool"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=4ba825394aec026b5f94edca44426859"
-DEPENDS += "python-gevent"
-RDEPENDS_${PN} += "python-gevent"
-
-SRC_URI_append = " \
- file://0001-fix_setup_py.patch;patch=1;pnum=1 \
-"
-
-SRC_URI[md5sum] = "04f618864b18d6b06f774994f172ef49"
-SRC_URI[sha256sum] = "b6b73deab9bcbc428d4813697eebe5c3b9c40a971f62e13607b881aa749af9d0"
-
-inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/python-gsocketpool_0.1.6.bb b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/python-gsocketpool_0.1.6.bb
new file mode 100644
index 000000000..e96ad1ca1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/python-gsocketpool_0.1.6.bb
@@ -0,0 +1,2 @@
+require python-gsocketpool.inc
+inherit setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/python3-gsocketpool_0.1.6.bb b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/python3-gsocketpool_0.1.6.bb
new file mode 100644
index 000000000..883621e21
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/python3-gsocketpool_0.1.6.bb
@@ -0,0 +1,2 @@
+require python-gsocketpool.inc
+inherit setuptools3
diff --git a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/files/0001-fix_setup_py.patch b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/files/0001-fix_setup_py.patch
deleted file mode 100644
index f5df9b9ee..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/files/0001-fix_setup_py.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From bda99eab9036d46e7bb06b446d11cab0b1dd8093 Mon Sep 17 00:00:00 2001
-From: Andrej Rode <andrej.rode@ettus.com>
-Date: Mon, 10 Apr 2017 16:49:50 -0700
-Subject: [PATCH] setup: remove find_packages and only install mprpc
-
-Signed-off-by: Andrej Rode <andrej.rode@ettus.com>
----
- setup.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/setup.py b/setup.py
-index 5001d0c..4c0ba75 100644
---- a/setup.py
-+++ b/setup.py
-@@ -1,6 +1,6 @@
- # -*- coding: utf-8 -*-
-
--from setuptools import setup, Extension, find_packages
-+from setuptools import setup, Extension
-
- setup(
- name='mprpc',
-@@ -10,7 +10,7 @@ setup(
- author='Studio Ousia',
- author_email='ikuya@ousia.jp',
- url='http://github.com/studio-ousia/mprpc',
-- packages=find_packages(),
-+ packages=['mprpc'],
- ext_modules=[
- Extension('mprpc.client', ['mprpc/client.c']),
- Extension('mprpc.server', ['mprpc/server.c'])
---
-2.10.2
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc.inc b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc.inc
new file mode 100644
index 000000000..b9535fcd7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc.inc
@@ -0,0 +1,13 @@
+SUMMARY = "A gevent based messagpack rpc library"
+DESCRIPTION = "mprpc is a fast implementation of the messagepack rpc protocol for python. \
+It is based on gevent for handling connections and enabling concurrent connections."
+HOMEPAGE = "https://github.com/studio-ousia/mprpc"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4ba825394aec026b5f94edca44426859"
+DEPENDS += "${PYTHON_PN}-gevent"
+RDEPENDS_${PN} += "${PYTHON_PN}-gevent ${PYTHON_PN}-msgpack ${PYTHON_PN}-gsocketpool"
+
+SRC_URI[md5sum] = "66e6cf367ea71cfed8938a27e9c183c3"
+SRC_URI[sha256sum] = "5ccada6526d48ac4d95a7bbdc093586663841560337032a503f57ccfae69d7bf"
+
+inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc_0.1.13.bb b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc_0.1.13.bb
deleted file mode 100644
index 78df00af2..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc_0.1.13.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "A gevent based messagpack rpc library"
-DESCRIPTION = "mprpc is a fast implementation of the messagepack rpc protocol for python. \
-It is based on gevent for handling connections and enabling concurrent connections."
-HOMEPAGE = "https://github.com/studio-ousia/mprpc"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=4ba825394aec026b5f94edca44426859"
-DEPENDS += "python-gevent"
-RDEPENDS_${PN} += "python-gevent python-msgpack python-gsocketpool"
-
-SRC_URI_append = " \
- file://0001-fix_setup_py.patch;patch=1;pnum=1 \
-"
-
-SRC_URI[md5sum] = "449e6239eb5ff07b9cceb86e1ab0c2ee"
-SRC_URI[sha256sum] = "5881cc7fbb8de814e2b4aa5958bfe147c5c301e46749190f0e6abf373cf56d82"
-
-inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc_0.1.14.bb b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc_0.1.14.bb
new file mode 100644
index 000000000..6b2ea2193
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc_0.1.14.bb
@@ -0,0 +1,2 @@
+require python-mprpc.inc
+inherit setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python3-mprpc_0.1.14.bb b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python3-mprpc_0.1.14.bb
new file mode 100644
index 000000000..837d604ed
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python3-mprpc_0.1.14.bb
@@ -0,0 +1,2 @@
+require python-mprpc.inc
+inherit setuptools3
diff --git a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.55.bb b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.55.bb
deleted file mode 100644
index cc28a8130..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.55.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Python Remote Objects"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=378acef375e17a3bff03bd0f78c53220"
-
-SRC_URI[md5sum] = "0400a4d260dbeaa4e7e725c4ba310ead"
-SRC_URI[sha256sum] = "49a7a142542d87dde1cecc8d3ee048ec9481ba861d61234d219fadd06e6ced96"
-
-PYPI_PACKAGE = "Pyro4"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-logging \
- ${PYTHON_PN}-selectors34 \
- ${PYTHON_PN}-serpent \
- ${PYTHON_PN}-threading \
- ${PYTHON_PN}-zlib \
- "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.62.bb b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.62.bb
new file mode 100644
index 000000000..041c4ff61
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.62.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Python Remote Objects"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=378acef375e17a3bff03bd0f78c53220"
+
+SRC_URI[md5sum] = "6e2fef3dc8b29773a87abbaa8e9abe15"
+SRC_URI[sha256sum] = "e301edfb2bc47768b7222a68cae8de8be796d1d9f61cdbd1af9039985ed5009c"
+
+PYPI_PACKAGE = "Pyro4"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-selectors34 \
+ ${PYTHON_PN}-serpent \
+ ${PYTHON_PN}-threading \
+ ${PYTHON_PN}-zlib \
+ "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python-pytun.inc b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python-pytun.inc
new file mode 100644
index 000000000..79a8bfb21
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python-pytun.inc
@@ -0,0 +1,10 @@
+SUMMARY = "Python TUN/TAP tunnel module"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=13f7629e8e4989b66b4a913ab05a91de"
+
+SRC_URI[md5sum] = "5b35b1cf80a02cca7ec72eb95d6b0192"
+SRC_URI[sha256sum] = "07595dadf85f5176eb08c8d4d9ba5b862a180e96633f670f91437c47a1bead0d"
+
+PYPI_PACKAGE = "python-pytun"
+
+inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python-pytun_2.2.1.bb b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python-pytun_2.2.1.bb
new file mode 100644
index 000000000..3fc587f3a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python-pytun_2.2.1.bb
@@ -0,0 +1,2 @@
+require python-pytun.inc
+inherit setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python3-pytun_2.2.1.bb b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python3-pytun_2.2.1.bb
new file mode 100644
index 000000000..938d9d739
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python3-pytun_2.2.1.bb
@@ -0,0 +1,2 @@
+require python-pytun.inc
+inherit setuptools3
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/parallel_make.patch b/import-layers/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python-0.15.19/parallel_make.patch
index 248824606..248824606 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/parallel_make.patch
+++ b/import-layers/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python-0.15.19/parallel_make.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/remove_duplicate_install.patch b/import-layers/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python-0.15.19/remove_duplicate_install.patch
index df95a4c13..df95a4c13 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/remove_duplicate_install.patch
+++ b/import-layers/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python-0.15.19/remove_duplicate_install.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/telepathy-python_fix_for_automake_1.12.patch b/import-layers/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python-0.15.19/telepathy-python_fix_for_automake_1.12.patch
index f613fdce4..f613fdce4 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/telepathy-python_fix_for_automake_1.12.patch
+++ b/import-layers/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python-0.15.19/telepathy-python_fix_for_automake_1.12.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-python_0.15.19.bb b/import-layers/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python_0.15.19.bb
index b7aea24a7..b7aea24a7 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-python_0.15.19.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python_0.15.19.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-appdirs.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-appdirs.inc
new file mode 100644
index 000000000..c4826723e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-appdirs.inc
@@ -0,0 +1,8 @@
+SUMMARY = "A small Python module for determining appropriate + platform-specific dirs, e.g. a user data dir."
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=31625363c45eb0c67c630a2f73e438e4"
+
+SRC_URI[md5sum] = "44c679904082a2133f5566c8a0d3ab42"
+SRC_URI[sha256sum] = "9e5896d1372858f8dd3344faf4e5014d21849c756c8d5701f78f8a103b372d92"
+
+inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-appdirs_1.4.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-appdirs_1.4.3.bb
new file mode 100644
index 000000000..e9ff9b3fc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-appdirs_1.4.3.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-appdirs.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto.inc
new file mode 100644
index 000000000..41b734219
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto.inc
@@ -0,0 +1,13 @@
+DESCRIPTION = "Python binding to the Networking and Cryptography (NaCl) library"
+HOMEPAGE = "https://github.com/pyca/pynacl"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=52010cd3c7d7bd965b55721ef4d93ec2"
+
+PYPI_PACKAGE = "asn1crypto"
+
+SRC_URI[md5sum] = "97d54665c397b72b165768398dfdd876"
+SRC_URI[sha256sum] = "0874981329cfebb366d6584c3d16e913f2a0eb026c9463efcc4aaf42a9d94d70"
+
+inherit pypi
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto_0.23.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto_0.23.0.bb
new file mode 100644
index 000000000..6af60c2d4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto_0.23.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-asn1crypto.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-astroid.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-astroid.inc
new file mode 100644
index 000000000..4cb1a3c4b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-astroid.inc
@@ -0,0 +1,20 @@
+SUMMARY = "An abstract syntax tree for Python with inference support."
+HOMEPAGE = "https://pypi.python.org/pypi/astroid"
+SECTION = "devel/python"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+SRC_URI[md5sum] = "6f65e4ea8290ec032320460905afb828"
+SRC_URI[sha256sum] = "492c2a2044adbf6a84a671b7522e9295ad2f6a7c781b899014308db25312dd35"
+
+inherit pypi
+
+RDEPENDS_${PN}_class-target += "\
+ ${PYTHON_PN}-distutils \
+ ${PYTHON_PN}-lazy-object-proxy \
+ ${PYTHON_PN}-six \
+ ${PYTHON_PN}-subprocess \
+ ${PYTHON_PN}-wrapt \
+ ${PYTHON_PN}-re \
+ ${PYTHON_PN}-setuptools \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-astroid_1.4.9.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-astroid_1.4.9.bb
deleted file mode 100644
index cee129178..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-astroid_1.4.9.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "An abstract syntax tree for Python with inference support."
-HOMEPAGE = "https://pypi.python.org/pypi/astroid"
-SECTION = "devel/python"
-LICENSE = "LGPL"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-SRC_URI[md5sum] = "a57438971de05eb801b82eae59c05217"
-SRC_URI[sha256sum] = "a483e7891ce3a06dadfc6cb9095b0938aca58940d43576d72e4502b480c085d7"
-
-inherit setuptools pypi
-
-RDEPENDS_${PN}_class-target += "\
- ${PYTHON_PN}-distutils \
- ${PYTHON_PN}-lazy-object-proxy \
- ${PYTHON_PN}-six \
- ${PYTHON_PN}-wrapt \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-astroid_1.5.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-astroid_1.5.3.bb
new file mode 100644
index 000000000..f7a0a5e73
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-astroid_1.5.3.bb
@@ -0,0 +1,7 @@
+inherit setuptools
+require python-astroid.inc
+
+RDEPENDS_${PN}_class-target += "${PYTHON_PN}-enum34 \
+ ${PYTHON_PN}-importlib \
+ ${PYTHON_PN}-singledispatch \
+ "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python.inc
new file mode 100644
index 000000000..eaeb020c0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python.inc
@@ -0,0 +1,18 @@
+DESCRIPTION = "SDK for connecting to AWS IoT using Python."
+HOMEPAGE = "https://github.com/aws/aws-iot-device-sdk-python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9ac49901b833e769c7d6f21e8dbd7b30"
+
+SRC_URI[md5sum] = "e6781f6c42bbc547d508d6fa6720ac8f"
+SRC_URI[sha256sum] = "6b2865d4f518794b96a834fc81b568428daa0ef92037da2e9288b4af5d8dd736"
+
+inherit pypi
+
+PYPI_PACKAGE = "AWSIoTPythonSDK"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-pyopenssl \
+ ${PYTHON_PN}-json \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python_1.2.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python_1.2.0.bb
new file mode 100644
index 000000000..12ae978e3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python_1.2.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-aws-iot-device-sdk-python.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc
index 866ce78e3..5e6ca3d8a 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc
@@ -3,8 +3,8 @@ HOMEPAGE = "http://babel.edgewall.org/"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e6eeaabc92cfc2d03f53e789324d7292"
-SRC_URI[md5sum] = "afa20bc55b0e991833030129ad498f35"
-SRC_URI[sha256sum] = "c535c4403802f6eb38173cd4863e419e2274921a01a8aad8a5b497c131c62875"
+SRC_URI[md5sum] = "60228b3ce93a203357158b909afe8ae1"
+SRC_URI[sha256sum] = "6007daf714d0cd5524bbe436e2d42b3c20e68da66289559341e48d2cd6d25811"
PYPI_PACKAGE = "Babel"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.3.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.5.1.bb
index e0eadcda8..e0eadcda8 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.3.4.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.5.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-backports-functools-lru-cache_1.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-backports-functools-lru-cache_1.3.bb
deleted file mode 100644
index 211cfdef4..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-backports-functools-lru-cache_1.3.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "Backport of functools.lru_cache from Python 3.3"
-HOMEPAGE = "https://github.com/jaraco/backports.functools_lru_cache"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://setup.py;beginline=42;endline=42;md5=98fc3658e5970d26f6b2109808c766be"
-
-PYPI_PACKAGE = "backports.functools_lru_cache"
-
-SRC_URI[md5sum] = "b26a223250bd24ea2e0ad6ce47b19084"
-SRC_URI[sha256sum] = "444a21bcec4ae177da554321f81a78dc879eaa8f6ea9920cb904830585d31e95"
-
-DEPENDS = "python-setuptools-scm-native"
-
-inherit setuptools pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-backports-functools-lru-cache_1.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-backports-functools-lru-cache_1.4.bb
new file mode 100644
index 000000000..961436f53
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-backports-functools-lru-cache_1.4.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Backport of functools.lru_cache from Python 3.3"
+HOMEPAGE = "https://github.com/jaraco/backports.functools_lru_cache"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://setup.py;beginline=47;endline=47;md5=98fc3658e5970d26f6b2109808c766be"
+
+PYPI_PACKAGE = "backports.functools_lru_cache"
+
+SRC_URI[md5sum] = "b954e7d5e2ca0f0f66ad2ed12ba800e5"
+SRC_URI[sha256sum] = "31f235852f88edc1558d428d890663c49eb4514ffec9f3650e7f3c9e4a12e36f"
+
+DEPENDS += "python-setuptools-scm-native"
+
+inherit setuptools pypi
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-pickle \
+ ${PYTHON_PN}-threading \
+ "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt.inc
new file mode 100644
index 000000000..667a3fb6e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt.inc
@@ -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_PN}-cffi-native"
+
+SRC_URI[md5sum] = "20da8b40790caad99c4086dba533154b"
+SRC_URI[sha256sum] = "6645c8d0ad845308de3eb9be98b6fd22a46ec5412bfc664a423e411cdd8f5488"
+
+inherit pypi
+
+RDEPENDS_${PN}_class-target += "\
+ ${PYTHON_PN}-cffi \
+ ${PYTHON_PN}-six \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.3.bb
index c690f0dfd..24333540b 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.3.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.3.bb
@@ -1,15 +1,2 @@
-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] = "20da8b40790caad99c4086dba533154b"
-SRC_URI[sha256sum] = "6645c8d0ad845308de3eb9be98b6fd22a46ec5412bfc664a423e411cdd8f5488"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN}_class-target += "\
- ${PYTHON_PN}-cffi \
- ${PYTHON_PN}-six \
-"
+inherit setuptools
+require python-bcrypt.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4.inc
new file mode 100644
index 000000000..d60d987ca
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4.inc
@@ -0,0 +1,17 @@
+SUMMARY = "Screen-scraping library"
+HOMEPAGE = " https://www.crummy.com/software/BeautifulSoup/bs4"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=f2d38d8a40bf73fd4b3d16ca2e5882d1"
+
+SRC_URI[md5sum] = "c17714d0f91a23b708a592cb3c697728"
+SRC_URI[sha256sum] = "808b6ac932dccb0a4126558f7dfdcf41710dd44a4ef497a0bb59a77f9f078e89"
+
+inherit pypi
+
+RDEPENDS_${PN}_class-target = "\
+ ${PYTHON_PN}-core \
+ ${PYTHON_PN}-html5lib \
+ ${PYTHON_PN}-lxml \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4_4.6.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4_4.6.0.bb
new file mode 100644
index 000000000..907285ac1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4_4.6.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-beautifulsoup4.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray.inc
new file mode 100644
index 000000000..7b6e0d1b3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray.inc
@@ -0,0 +1,11 @@
+SUMMARY = "A high-level Python efficient arrays of booleans -- C extension"
+HOMEPAGE = "https://github.com/ilanschnell/bitarray"
+LICENSE = "PSF"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3ba469353f9f2a244b2075902351e37d"
+
+SRC_URI[md5sum] = "3825184f54f4d93508a28031b4c65d3b"
+SRC_URI[sha256sum] = "7da501356e48a83c61f479393681c1bc4b94e5a34ace7e08cb29e7dd9290ab18"
+
+inherit pypi
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray_0.8.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray_0.8.1.bb
index 145f1fbef..f78c7abd2 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray_0.8.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray_0.8.1.bb
@@ -1,11 +1,2 @@
-SUMMARY = "A high-level Python efficient arrays of booleans -- C extension"
-HOMEPAGE = "https://github.com/ilanschnell/bitarray"
-LICENSE = "PSF"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3ba469353f9f2a244b2075902351e37d"
-
-SRC_URI[md5sum] = "3825184f54f4d93508a28031b4c65d3b"
-SRC_URI[sha256sum] = "7da501356e48a83c61f479393681c1bc4b94e5a34ace7e08cb29e7dd9290ab18"
-
-inherit pypi setuptools
-
-BBCLASSEXTEND = "nativesdk"
+inherit setuptools
+require python-bitarray.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-can.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-can.inc
index 1878f3116..1dbc80990 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-can.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-can.inc
@@ -3,7 +3,7 @@ SECTION = "devel/python"
LICENSE = "LGPLv3"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=38138baa100d7259934590850bc0406e"
-SRC_URI[md5sum] = "f653aecf8b9034bbba32cc04ca6a7b6d"
-SRC_URI[sha256sum] = "edabb426e6cd11c2dc7a98980340135aa0eb02143b0d51bf14e3e6178c131cc3"
+SRC_URI[md5sum] = "b2a164887c1c6a2a2490b5afb36e36db"
+SRC_URI[sha256sum] = "b961b6ce75a7f08b586f4d2cae8cdc409881731b851fc405fa21cb16bad00d87"
PYPI_PACKAGE="python-can"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-can_1.5.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-can_2.0.0b1.bb
index ec81a9e48..ec81a9e48 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-can_1.5.2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-can_2.0.0b1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cassandra-driver.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cassandra-driver.inc
index 3146bc782..a522e672b 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cassandra-driver.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cassandra-driver.inc
@@ -8,8 +8,8 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
SRCNAME = "cassandra-driver"
-SRC_URI[md5sum] = "7561a89cd8a432a22cf33abef76b64ee"
-SRC_URI[sha256sum] = "10b0c88854f3bddcfd994cb208d780507de62524ef8dcb4f068c084d335b7054"
+SRC_URI[md5sum] = "1659b074e10c613e5ba1cdf92974a57a"
+SRC_URI[sha256sum] = "643bed0fac08ee91630f0f35556bb62c3b4b007c20d4e6e8d349f769ea648150"
DISTUTILS_BUILD_ARGS += " \
--no-libev \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc
index 1df23cf20..e550f7ef8 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc
@@ -7,7 +7,7 @@ HOMEPAGE = " http://certifi.io/"
LICENSE = "ISC"
LIC_FILES_CHKSUM = "file://LICENSE;md5=f77f61d14ee6feac4228d3ebd26cc1f1"
-SRC_URI[md5sum] = "b72521a8badff5e89a8eabea586d79ab"
-SRC_URI[sha256sum] = "81877fb7ac126e9215dfb15bfef7115fdc30e798e0013065158eed0707fd99ce"
+SRC_URI[md5sum] = "48e8370da8b370a16e223ee9c7b6b063"
+SRC_URI[sha256sum] = "40523d2efb60523e113b44602298f0960e900388cf3bb6043f645cf57ea9e3f5"
BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2017.1.23.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2017.7.27.1.bb
index adfe6238e..adfe6238e 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2017.1.23.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2017.7.27.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi.inc
index 21e41c188..8dcdb6334 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi.inc
@@ -1,10 +1,11 @@
SUMMARY = "Foreign Function Interface for Python calling C code"
+HOMEPAGE = "http://cffi.readthedocs.org/"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=5677e2fdbf7cdda61d6dd2b57df547bf"
DEPENDS += "libffi ${PYTHON_PN}-pycparser"
-SRC_URI[md5sum] = "b8fa7ccb87790531db3316ab17aa8244"
-SRC_URI[sha256sum] = "563e0bd53fda03c151573217b3a49b3abad8813de9dd0632e10090f6190fdaf8"
+SRC_URI[md5sum] = "a731487324b501c8295221b629d3f5f3"
+SRC_URI[sha256sum] = "ab87dd91c0c4073758d07334c1e5f712ce8fe48f007b86f8238773963ee700a6"
RDEPENDS_${PN}_class-target = " \
${PYTHON_PN}-io \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.9.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.11.2.bb
index 3cd62d1f7..3cd62d1f7 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.9.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.11.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet.inc
index 42b64a2df..6035488a7 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet.inc
@@ -4,5 +4,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=a6f89e2100d9b6cdffcea4f398e37343"
inherit pypi
-SRC_URI[md5sum] = "96e364abdbde20b5f6dbbe2ad9d54d04"
-SRC_URI[sha256sum] = "4f7832e7c583348a9eddd927ee8514b3bf717c061f57b21dbe7697211454d9bb"
+# setup.py of chardet needs this.
+DEPENDS += "${PYTHON_PN}-pytest-runner-native"
+
+SRC_URI[md5sum] = "7dd1ba7f9c77e32351b0a0cfacf4055c"
+SRC_URI[sha256sum] = "84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet_3.0.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet_3.0.4.bb
index b7a46e9d7..b7a46e9d7 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet_3.0.2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet_3.0.4.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.7.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.7.0.bb
deleted file mode 100644
index 5c092a7ca..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.7.0.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Extra features for standard library's cmd module"
-HOMEPAGE = "http://packages.python.org/cmd2/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://setup.py;beginline=43;endline=43;md5=0f13c9cfc75288223cf7edd2f3b985a2"
-
-SRC_URI[md5sum] = "ee92ff1b73765d64bf230e94512d0b7a"
-SRC_URI[sha256sum] = "5ab76a1f07dd5fd1cc3c15ba4080265f33b80c7fd748d71bd69a51d60b30f51a"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-doctest \
- ${PYTHON_PN}-pyparsing \
- ${PYTHON_PN}-shell \
- ${PYTHON_PN}-six \
- ${PYTHON_PN}-stringold \
- ${PYTHON_PN}-subprocess \
- ${PYTHON_PN}-threading \
- ${PYTHON_PN}-textutils \
- "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.7.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.7.7.bb
new file mode 100644
index 000000000..fa1ef5f92
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.7.7.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Extra features for standard library's cmd module"
+HOMEPAGE = "http://packages.python.org/cmd2/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://setup.py;beginline=49;endline=49;md5=0f13c9cfc75288223cf7edd2f3b985a2"
+
+SRC_URI[md5sum] = "576b78add6d652b48dcf9362cece88ef"
+SRC_URI[sha256sum] = "b4e2fb9fc656adccc4d01dfd55ab5a9b05890e961950543f692e7885725c2d72"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-doctest \
+ ${PYTHON_PN}-pyparsing \
+ ${PYTHON_PN}-shell \
+ ${PYTHON_PN}-six \
+ ${PYTHON_PN}-stringold \
+ ${PYTHON_PN}-subprocess \
+ ${PYTHON_PN}-threading \
+ ${PYTHON_PN}-textutils \
+ "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc
index 122528b1d..e9e4019cd 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc
@@ -1,4 +1,5 @@
SUMMARY = "Test vectors for the cryptography package."
+HOMEPAGE = "https://cryptography.io/"
SECTION = "devel/python"
LICENSE = "Apache-2.0 | BSD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=8c3617db4fb6fae01f1d253ab91511e4"
@@ -7,8 +8,8 @@ DEPENDS += " \
${PYTHON_PN}-cryptography \
"
-SRC_URI[md5sum] = "c3f2a66d71a0413879d4dd001c56de95"
-SRC_URI[sha256sum] = "4be4eee8a11deee5c2f00e389b49de8ce2642130282d1cd0adffb2f7dbe0acdc"
+SRC_URI[md5sum] = "1db4c09062a3a8e1e2d1f5e3e4d752d7"
+SRC_URI[sha256sum] = "beb831aa73663a224f4d7520483ed02da544533bb03b26ec07a5f9a0dd0941e1"
PYPI_PACKAGE = "cryptography_vectors"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_1.7.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.0.3.bb
index 4975278a9..4975278a9 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_1.7.2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.0.3.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc
index 601b12b6a..87ff16c37 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc
@@ -1,4 +1,5 @@
SUMMARY = "Provides cryptographic recipes and primitives to python developers"
+HOMEPAGE = "https://cryptography.io/"
LICENSE = "Apache-2.0 | BSD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d5ede125ed08d4fd14ec44d334bdb388"
@@ -9,8 +10,8 @@ DEPENDS += " \
${PYTHON_PN}-six \
"
-SRC_URI[md5sum] = "fade66de437392ed1ba6980768626204"
-SRC_URI[sha256sum] = "878cb68b3da3d493ffd68f36db11c29deee623671d3287c3f8d685117ffda9a9"
+SRC_URI[md5sum] = "24cbdab3fda22be31dd3aef2808f5d2f"
+SRC_URI[sha256sum] = "d04bb2425086c3fe86f7bc48915290b13e798497839fbb18ab7f6dffcf98cc3a"
RDEPENDS_${PN} += " \
${PYTHON_PN}-cffi \
@@ -54,4 +55,6 @@ FILES_${PN}-dbg += " \
${libdir}/${PYTHON_PN}2.7/site-packages/${SRCNAME}/hazmat/bindings/.debug \
"
+LDFLAGS_append = " -pthread"
+
BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_1.7.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.0.3.bb
index f5b1e0b3b..f5b1e0b3b 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_1.7.2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.0.3.bb
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 1ecdcc9fd..572cb960e 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
@@ -7,8 +7,8 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e23fadd6ceef8c618fc1c65191d846fa"
PYPI_PACKAGE = "Cython"
BBCLASSEXTEND = "native"
-SRC_URI[md5sum] = "642c81285e1bb833b14ab3f439964086"
-SRC_URI[sha256sum] = "f141d1f9c27a07b5a93f7dc5339472067e2d7140d1c5a9e20112a5665ca60306"
+SRC_URI[md5sum] = "b93750b34382b025d678bea819b7491b"
+SRC_URI[sha256sum] = "e6840a2ba2704f4ffb40e454c36f73aeb440a4005453ee8d7ff6a00d812ba176"
inherit pypi
@@ -17,3 +17,10 @@ RDEPENDS_${PN}_class-target += "\
${PYTHON_PN}-subprocess \
${PYTHON_PN}-shell \
"
+
+do_install_append() {
+ # Make sure we use /usr/bin/env python
+ for PYTHSCRIPT in `grep -rIl '^#!.*python' ${D}`; do
+ sed -i -e '1s|^#!.*|#!/usr/bin/env ${PYTHON_PN}|' $PYTHSCRIPT
+ done
+}
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.25.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.27.1.bb
index bdf9490c6..bdf9490c6 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.25.2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.27.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-daemon/0001-Workaround-for-issue-2-1.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-daemon/0001-Workaround-for-issue-2-1.patch
new file mode 100644
index 000000000..dbb840718
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-daemon/0001-Workaround-for-issue-2-1.patch
@@ -0,0 +1,31 @@
+From 0981eee9f0198c2045dc0eaa78a005d06fc7bfe4 Mon Sep 17 00:00:00 2001
+From: Carlos Eduardo Moreira dos Santos <cems@cemshost.com.br>
+Date: Tue, 28 Mar 2017 18:23:44 -0300
+Subject: [PATCH] Workaround for issue 2 [1]
+
+[1] https://pagure.io/python-daemon/issue/2
+---
+ version.py | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/version.py b/version.py
+index d58422a377ee..293e2d64c2b7 100644
+--- a/version.py
++++ b/version.py
+@@ -648,9 +648,10 @@ class ChangelogAwareDistribution(distutils.dist.Distribution, object):
+
+ @lru_cache(maxsize=128)
+ def get_version_info(self):
+- changelog_path = get_changelog_path(self)
+- version_info = generate_version_info_from_changelog(changelog_path)
+- return version_info
++ return {
++ 'version': '2.1.2',
++ 'maintainer': 'Ben Finney'
++ }
+
+ def get_version(self):
+ version_info = self.get_version_info()
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-daemon_2.1.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-daemon_2.1.2.bb
new file mode 100644
index 000000000..4c18e2bad
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-daemon_2.1.2.bb
@@ -0,0 +1,27 @@
+DESCRIPTION = "Library to implement a well-behaved Unix daemon process"
+HOMEPAGE = "https://pagure.io/python-daemon/"
+SECTION = "devel/python"
+
+DEPENDS = "python-docutils"
+RDEPENDS_${PN} = "python-docutils \
+ python-lockfile (>= 0.10) \
+ python-resource \
+"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit pypi setuptools
+
+SRC_URI[md5sum] = "9c57343d81f2a96c51cffeab982b04d2"
+SRC_URI[sha256sum] = "261c859be5c12ae7d4286dc6951e87e9e1a70a882a8b41fd926efc1ec4214f73"
+
+# Fix for build error in Yocto:
+# i = p.rfind('/') + 1
+# AttributeError: 'NoneType' object has no attribute 'rfind'
+#S = "${WORKDIR}/python-daemon"
+SRC_URI_append = " \
+ file://0001-Workaround-for-issue-2-1.patch \
+"
+
+PYPI_PACKAGE = "python-daemon"
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 d0ebc70b5..ca51059b0 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
@@ -2,10 +2,10 @@ SUMMARY = "Extensions to the standard Python datetime module"
DESCRIPTION = "The dateutil module provides powerful extensions to the datetime module available in the Python standard library."
HOMEPAGE = "https://dateutil.readthedocs.org"
LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=51430b33c900f45f999c459ee29ca493"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=31f72d4cad3675fb091537b9b2f32de0"
-SRC_URI[md5sum] = "6e38f91e8c94c15a79ce22768dfeca87"
-SRC_URI[sha256sum] = "62a2f8df3d66f878373fd0072eacf4ee52194ba302e00082828e0d263b0418d2"
+SRC_URI[md5sum] = "db38f6b4511cefd76014745bb0cc45a4"
+SRC_URI[sha256sum] = "891c38b2a02f5bb1be3e4793866c8df49c7d19baabf9c1bad62547e0b4866aca"
PYPI_PACKAGE = "python-dateutil"
inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil_2.6.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil_2.6.1.bb
index 12ae4c311..12ae4c311 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil_2.6.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil_2.6.1.bb
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 aeae23194..859f97269 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator.inc
@@ -9,8 +9,8 @@ decorator, just because you can."
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=893f896413826096ce5270c700a498fd"
-SRC_URI[md5sum] = "73644c8f0bd4983d1b6a34b49adec0ae"
-SRC_URI[sha256sum] = "953d6bf082b100f43229cf547f4f97f97e970f5ad645ee7601d55ff87afdfe76"
+SRC_URI[md5sum] = "a0f7f4fe00ae2dde93494d90c192cf8c"
+SRC_URI[sha256sum] = "7cb64d38cb8002971710c8899fbdfb859a23a364b7c99dab19d1f719c2ba16b5"
inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.0.11.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.1.2.bb
index 2a2b455f5..2a2b455f5 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.0.11.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.1.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django-south.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django-south.inc
new file mode 100644
index 000000000..ce904b694
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django-south.inc
@@ -0,0 +1,17 @@
+SUMMARY = "Migrations for Django"
+DESCRIPTION = "South is an intelligent database migrations library for the Django web framework. It is database-independent and DVCS-friendly, as well as a whole host of other features."
+HOMEPAGE = "http://south.aeracode.org/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=17;endline=18;md5=2155d8ae21e7c23101d5febac696b27e"
+
+SRC_URI[md5sum] = "c76a9758b2011bc3b6c39f881bba2f66"
+SRC_URI[sha256sum] = "d360bd31898f9df59f6faa786551065bba45b35e7ee3c39b381b4fbfef7392f4"
+
+PYPI_PACKAGE = "South"
+inherit pypi
+
+BBCLASSEXTEND = "nativesdk"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-django \
+ "
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 3a2775807..357b766a3 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
@@ -1,17 +1,2 @@
-SUMMARY = "Migrations for Django"
-DESCRIPTION = "South is an intelligent database migrations library for the Django web framework. It is database-independent and DVCS-friendly, as well as a whole host of other features."
-HOMEPAGE = "http://south.aeracode.org/"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=17;endline=18;md5=2155d8ae21e7c23101d5febac696b27e"
-
-SRC_URI[md5sum] = "c76a9758b2011bc3b6c39f881bba2f66"
-SRC_URI[sha256sum] = "d360bd31898f9df59f6faa786551065bba45b35e7ee3c39b381b4fbfef7392f4"
-
-PYPI_PACKAGE = "South"
-inherit pypi setuptools
-
-BBCLASSEXTEND = "nativesdk"
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-django \
- "
+require python-django-south.inc
+inherit setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django.inc
new file mode 100644
index 000000000..58fd70aeb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django.inc
@@ -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] = "8cef0d42aabacbc414ec4fbbb6056f3c"
+SRC_URI[sha256sum] = "1836878162dfdf865492bacfdff0321e4ee8f1e7d51d93192546000b54982b29"
+
+PYPI_PACKAGE = "Django"
+inherit pypi
+
+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-django_1.10.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.10.5.bb
deleted file mode 100644
index 11242df7f..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.10.5.bb
+++ /dev/null
@@ -1,24 +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] = "3fce02f1e6461fec21f1f15ea7489924"
-SRC_URI[sha256sum] = "0db89374b691b9c8b057632a6cd64b18d08db2f4d63b4d4af6024267ab965f8b"
-
-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-django_1.11.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.11.5.bb
new file mode 100644
index 000000000..ccd7714e9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.11.5.bb
@@ -0,0 +1,2 @@
+require python-django.inc
+inherit setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-docutils_0.14rc2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-docutils_0.14rc2.bb
new file mode 100644
index 000000000..68436a1a5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-docutils_0.14rc2.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Text processing system for documentation"
+HOMEPAGE = "http://docutils.sourceforge.net"
+SECTION = "devel/python"
+LICENSE = "PSF & BSD-2-Clause & GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=35a23d42b615470583563132872c97d6"
+
+DEPENDS = "python"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/docutils/docutils-${PV}.tar.gz"
+SRC_URI[md5sum] = "2f4bee6451958252f7bec71f18b05be3"
+SRC_URI[sha256sum] = "3caee0bcb2a49fdf24fcfa70849a60abb7a181aa68b030f7cb7494096181830c"
+
+S = "${WORKDIR}/docutils-${PV}"
+
+inherit distutils
+
+BBCLASSEXTEND = "native"
+
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
index 31d214717..d50b5c7c5 100644
--- 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
@@ -1,4 +1,5 @@
SUMMARY = "backport of Python 3.4's enum package"
+HOMEPAGE = "https://bitbucket.org/stoneleaf/enum34"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://enum/LICENSE;md5=0a97a53a514564c20efd7b2e8976c87e"
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
deleted file mode 100644
index 1948263f6..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-evdev_0.6.4.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-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-evdev_0.7.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-evdev_0.7.0.bb
new file mode 100644
index 000000000..0875da45c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-evdev_0.7.0.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] = "c7e855ae9f97f869a59e75b29f05ce74"
+SRC_URI[sha256sum] = "57edafc469a414f58b51af1bfb9ee2babb9f626dd2df530d71c1176871850aa1"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-ctypes \
+ ${PYTHON_PN}-fcntl \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-shell \
+ ${PYTHON_PN}-stringold \
+ "
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 6d54837a5..e11283ed3 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo.inc
@@ -3,10 +3,10 @@ DESCRIPTION = "PyMongo support for Flask applications."
HOMEPAGE = "https://github.com/mitsuhiko/flask/"
SECTION = "devel/python"
LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://flask_pymongo/wrappers.py;startline=1;endline=24;md5=dff998d5a8469503612ee7757f3a2052"
+LIC_FILES_CHKSUM = "file://flask_pymongo/wrappers.py;startline=1;endline=24;md5=424c4e1047d28e01b4e4634a069c019d"
-SRC_URI[md5sum] = "cbf5fbcd22719d8393e481bcac36be05"
-SRC_URI[sha256sum] = "75862daece1c979a9eab5f9d1e32eb781775842273b629ae5d1cb28e6953df78"
+SRC_URI[md5sum] = "d7a1b717f27154e1f3a355f8ec2467d6"
+SRC_URI[sha256sum] = "2baaa2ba5107d72b3a8bd4b5c0c8881316e35340ad1ae979cc13f1f3c8843b3d"
PYPI_PACKAGE = "Flask-PyMongo"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo_0.4.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo_0.5.1.bb
index d41d02348..d41d02348 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo_0.4.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo_0.5.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy_2.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy_2.2.bb
deleted file mode 100644
index 1190f3453..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy_2.2.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-DESCRIPTION = "Adds SQLAlchemy support to your Flask application."
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5ed1b8cc741515a835a7f6bf2f62ef4a"
-
-SRC_URI[md5sum] = "a93e6af389afac6666733e369c06c798"
-SRC_URI[sha256sum] = "f0d8241efba723d7b878f73550f5d3c0fbb042416123b52b36640b7491fa208b"
-
-PYPI_PACKAGE = "Flask-SQLAlchemy"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} = "${PYTHON_PN}-sqlalchemy ${PYTHON_PN}-flask"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy_2.3.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy_2.3.0.bb
new file mode 100644
index 000000000..87997672d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy_2.3.0.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "Adds SQLAlchemy support to your Flask application."
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5ed1b8cc741515a835a7f6bf2f62ef4a"
+
+SRC_URI[md5sum] = "c86449f44e90e996142872ac4b97f7ee"
+SRC_URI[sha256sum] = "da19ff62e31f82825b5467811c76e2a1c60bba927e175fe091a6f739063dd829"
+
+PYPI_PACKAGE = "Flask-SQLAlchemy"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} = "${PYTHON_PN}-sqlalchemy ${PYTHON_PN}-flask"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc
index 04935a61b..76b5fbae2 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
@@ -6,8 +6,8 @@ HOMEPAGE = "https://github.com/mitsuhiko/flask/"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=19866b76b054ab30c270c0eb9d7e43d7"
-SRC_URI[md5sum] = "c1d30f51cff4a38f9454b23328a15c5a"
-SRC_URI[sha256sum] = "93e803cdbe326a61ebd5c5d353959397c85f829bec610d59cb635c9f97d7ca8b"
+SRC_URI[md5sum] = "97278dfdafda98ba7902e890b0289177"
+SRC_URI[sha256sum] = "49f44461237b69ecd901cc7ce66feea0319b9158743dd27a2899962ab214dac1"
CLEANBROKEN = "1"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask_0.12.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask_0.12.2.bb
index a0a28ab8b..a0a28ab8b 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask_0.12.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask_0.12.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent.inc
new file mode 100644
index 000000000..8889cfb5a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent.inc
@@ -0,0 +1,34 @@
+SUMMARY = "A coroutine-based Python networking library"
+DESCRIPTION = "gevent is a coroutine-based Python networking library that uses greenlet to provide \
+a high-level synchronous API on top of the libevent event loop."
+HOMEPAGE = "http://www.gevent.org"
+LICENSE = "MIT & Python-2.0 & BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4de99aac27b470c29c6c309e0c279b65 \
+ file://NOTICE;md5=5966cd2c6582656d28ab3c33da3860f8 \
+ file://deps/libev/LICENSE;md5=d6ad416afd040c90698edcdf1cbee347"
+DEPENDS += "libevent"
+DEPENDS += "${PYTHON_PN}-greenlet"
+RDEPENDS_${PN} = "${PYTHON_PN}-greenlet \
+ ${PYTHON_PN}-mime \
+ ${PYTHON_PN}-pprint \
+ ${PYTHON_PN}-re \
+ "
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/python-gevent:"
+
+SRC_URI_append = " \
+ file://libev-conf.patch;patch=1;pnum=1 \
+"
+
+SRC_URI[md5sum] = "7f0baf355384fe5ff2ecf66853422554"
+SRC_URI[sha256sum] = "4791c8ae9c57d6f153354736e1ccab1e2baf6c8d9ae5a77a9ac90f41e2966b2d"
+
+# The python-gevent has no autoreconf ability
+# and the logic for detecting a cross compile is flawed
+# so always force a cross compile
+do_configure_append() {
+ sed -i -e 's/^cross_compiling=no/cross_compiling=yes/' ${S}/deps/libev/configure
+ sed -i -e 's/^cross_compiling=no/cross_compiling=yes/' ${S}/deps/c-ares/configure
+}
+
+inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_1.2.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_1.2.1.bb
deleted file mode 100644
index 953f48f94..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_1.2.1.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "A coroutine-based Python networking library"
-DESCRIPTION = "gevent is a coroutine-based Python networking library that uses greenlet to provide \
-a high-level synchronous API on top of the libevent event loop."
-HOMEPAGE = "http://www.gevent.org"
-LICENSE = "MIT & Python-2.0 & BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=2dbb33d00e1fd31c7041460a81ac0bd2 \
- file://NOTICE;md5=5966cd2c6582656d28ab3c33da3860f8 \
- file://deps/libev/LICENSE;md5=d6ad416afd040c90698edcdf1cbee347"
-DEPENDS += "python-greenlet libevent"
-RDEPENDS_${PN} += "python-greenlet python-mime python-pprint python-re"
-
-SRC_URI_append = " \
- file://libev-conf.patch;patch=1;pnum=1 \
-"
-
-SRC_URI[md5sum] = "6700a2433c8e0635425e6798760efc81"
-SRC_URI[sha256sum] = "3de300d0e32c31311e426e4d5d73b36777ed99c2bac3f8fbad939eeb2c29fa7c"
-
-# The python-gevent has no autoreconf ability
-# and the logic for detecting a cross compile is flawed
-# so always force a cross compile
-do_configure_append() {
- sed -i -e 's/^cross_compiling=no/cross_compiling=yes/' ${S}/deps/libev/configure
- sed -i -e 's/^cross_compiling=no/cross_compiling=yes/' ${S}/deps/c-ares/configure
-}
-
-inherit pypi setuptools
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_1.2.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_1.2.2.bb
new file mode 100644
index 000000000..f357c9527
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_1.2.2.bb
@@ -0,0 +1,3 @@
+require python-gevent.inc
+inherit setuptools
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet.inc
new file mode 100644
index 000000000..35820db2f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet.inc
@@ -0,0 +1,9 @@
+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] = "e8637647d58a26c4a1f51ca393e53c00"
+SRC_URI[sha256sum] = "e4c99c6010a5d153d481fdaf63b8a0782825c0721506d880403a3b9b82ae347e"
+
+inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.12.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.12.bb
index 4fc2c1d27..c14976ed3 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.12.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.12.bb
@@ -1,10 +1,2 @@
-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] = "e8637647d58a26c4a1f51ca393e53c00"
-SRC_URI[sha256sum] = "e4c99c6010a5d153d481fdaf63b8a0782825c0721506d880403a3b9b82ae347e"
-
-inherit pypi distutils
-
+inherit distutils
+require python-greenlet.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools_1.6.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools_1.6.3.bb
new file mode 100644
index 000000000..0fb136baf
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools_1.6.3.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Google gRPC tools"
+HOMEPAGE = "http://www.grpc.io/"
+SECTION = "devel/python"
+
+DEPENDS = "python-grpcio"
+RDEPENDS_${PN} = "python-grpcio"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
+
+inherit pypi setuptools
+
+SRC_URI[md5sum] = "835f19142e26cb7ad68cec3a083ecda2"
+SRC_URI[sha256sum] = "57b3110ced50a18f1b2bf7da58ed011f57278b48084ed8013c67a34d42a5ca37"
+
+# For usage in other recipies when compiling protobuf files (e.g. by grpcio-tools)
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch
new file mode 100644
index 000000000..3abbc6d6f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch
@@ -0,0 +1,36 @@
+From b02be74a2eff8abc612ef84f30e0fbce6a7f65f5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 4 Aug 2017 09:04:07 -0700
+Subject: [PATCH] setup.py: Do not mix C and C++ compiler options
+
+EXTRA_ENV_COMPILE_ARGS is used both with CC and CXX
+so using -std=c++11 or -std=gnu99 together will cause
+build time errors espcially with clang
+
+error: invalid argument '-std=gnu99' not allowed with 'C++'
+
+gcc7 ( defaults are -std=gnu11 and -std=gnu++14 )
+ as well clang default to these standards mode or newer
+anyway
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ setup.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index cb85273..f79878d 100644
+--- a/setup.py
++++ b/setup.py
+@@ -116,7 +116,7 @@ if EXTRA_ENV_COMPILE_ARGS is None:
+ elif 'win32' in sys.platform:
+ EXTRA_ENV_COMPILE_ARGS += ' -D_PYTHON_MSVC'
+ elif "linux" in sys.platform:
+- EXTRA_ENV_COMPILE_ARGS += ' -std=c++11 -std=gnu99 -fvisibility=hidden -fno-wrapv -fno-exceptions'
++ EXTRA_ENV_COMPILE_ARGS += ' -fvisibility=hidden -fno-wrapv -fno-exceptions'
+ elif "darwin" in sys.platform:
+ EXTRA_ENV_COMPILE_ARGS += ' -fvisibility=hidden -fno-wrapv'
+
+--
+2.13.4
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio_1.6.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio_1.6.0.bb
new file mode 100644
index 000000000..7155f42c9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio_1.6.0.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "Google gRPC"
+HOMEPAGE = "http://www.grpc.io/"
+SECTION = "devel/python"
+
+DEPENDS = "python-protobuf"
+
+SRC_URI += "file://0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch \
+ "
+RDEPENDS_${PN} = "python-enum34 \
+ python-futures \
+ python-protobuf \
+ python-setuptools \
+ python-six \
+"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
+
+inherit pypi setuptools
+
+SRC_URI[md5sum] = "c91b8c105ff4163b41790f3b63db92e1"
+SRC_URI[sha256sum] = "6cd793d515ec53587a8968f2a53647f1449763ad06be0d287e3c1e47418e1e50"
+
+# For usage in other recipes when compiling protobuf files (e.g. by grpcio-tools)
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib.inc
new file mode 100644
index 000000000..9c59e0d18
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib.inc
@@ -0,0 +1,14 @@
+SUMMARY = "HTML parser based on the WHATWG HTML specifcation"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1ba5ada9e6fead1fdc32f43c9f10ba7c"
+
+SRC_URI[md5sum] = "8578e4e3a341436cb9743a9e4a299239"
+SRC_URI[sha256sum] = "ee747c0ffd3028d2722061936b5c65ee4fe13c8e4613519b4447123fc4546298"
+
+inherit pypi
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-six \
+ ${PYTHON_PN}-webencodings \
+ ${PYTHON_PN}-xml \
+ "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib_0.999999999.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib_0.999999999.bb
index d0f7b56ee..f5941a2a1 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib_0.999999999.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib_0.999999999.bb
@@ -1,14 +1,2 @@
-SUMMARY = "HTML parser based on the WHATWG HTML specifcation"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1ba5ada9e6fead1fdc32f43c9f10ba7c"
-
-SRC_URI[md5sum] = "8578e4e3a341436cb9743a9e4a299239"
-SRC_URI[sha256sum] = "ee747c0ffd3028d2722061936b5c65ee4fe13c8e4613519b4447123fc4546298"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-six \
- ${PYTHON_PN}-webencodings \
- ${PYTHON_PN}-xml \
- "
+inherit setuptools
+require python-html5lib.inc
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
index d099c0fe2..b1d0d1895 100644
--- 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
@@ -3,8 +3,8 @@ HOMEPAGE = "https://github.com/kjd/idna"
LICENSE = "BSD-3-Clause & Python-2.0 & Unicode"
LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=c9ba5acd829579492fd5eb306c7a0565"
-SRC_URI[md5sum] = "fc1d992bef73e8824db411bb5d21f012"
-SRC_URI[sha256sum] = "3cb5ce08046c4e3a560fc02f138d0ac63e00f8ce5901a56b32ec8b7994082aab"
+SRC_URI[md5sum] = "c706e2790b016bd0ed4edd2d4ba4d147"
+SRC_URI[sha256sum] = "2c6a5de3089009e3da7c5dde64a141dbc8551d5b7f6cf4ed7c2568d0cc520a8f"
RDEPENDS_${PN}_class-target = "\
${PYTHON_PN}-codecs \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.6.bb
index 2dcf72a29..2dcf72a29 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.5.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.6.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-iso8601.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-iso8601.inc
index dd4b83cc9..45da75f6b 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-iso8601.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-iso8601.inc
@@ -1,8 +1,9 @@
SUMMARY = "Simple module to parse ISO 8601 dates"
+HOMEPAGE = "http://pyiso8601.readthedocs.org/"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=b05625f2336fa024e8d57e65c6595844"
-SRC_URI[md5sum] = "b06d11cd14a64096f907086044f0fe38"
-SRC_URI[sha256sum] = "e8fb52f78880ae063336c94eb5b87b181e6a0cc33a6c008511bac9a6e980ef30"
+SRC_URI[md5sum] = "4de940f691c5ea759fb254384c8ddcf6"
+SRC_URI[sha256sum] = "49c4b20e1f38aa5cf109ddcd39647ac419f928512c869dc01d5c7098eddede82"
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.12.bb
index c543cf9f9..c543cf9f9 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.12.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-isort.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-isort.inc
new file mode 100644
index 000000000..9884c44f1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-isort.inc
@@ -0,0 +1,10 @@
+SUMMARY = "A Python utility / library to sort Python imports."
+HOMEPAGE = "https://pypi.python.org/pypi/isort"
+LICENSE = "MIT"
+SECTION = "devel/python"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489"
+
+SRC_URI[md5sum] = "34915a2ce60e6fe3dbcbf5982deef9b4"
+SRC_URI[sha256sum] = "79f46172d3a4e2e53e7016e663cc7a8b538bec525c36675fcfd2767df30b3983"
+
+inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-isort_4.2.15.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-isort_4.2.15.bb
new file mode 100644
index 000000000..fa46d89b5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-isort_4.2.15.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-isort.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-isort_4.2.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-isort_4.2.5.bb
deleted file mode 100644
index e365dc60f..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-isort_4.2.5.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "A Python utility / library to sort Python imports."
-HOMEPAGE = "https://pypi.python.org/pypi/isort"
-LICENSE = "MIT"
-SECTION = "devel/python"
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489"
-
-SRC_URI[md5sum] = "71489ebd936429d5bda2af7ae662ed78"
-SRC_URI[sha256sum] = "56b20044f43cf6e6783fe95d054e754acca52dd43fbe9277c1bdff835537ea5c"
-
-inherit setuptools pypi
-
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 cf8010e7e..35cbb0bf3 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2.inc
@@ -4,8 +4,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=20c831f91dd3bd486020f672ba2be386"
PYPI_PACKAGE = "Jinja2"
-SRC_URI[md5sum] = "9e55f0db6620dd99a1b366183a94270d"
-SRC_URI[sha256sum] = "702a24d992f856fa8d5a7a36db6128198d0c21e1da34448ca236c42e92384825"
+SRC_URI[md5sum] = "6411537324b4dba0956aaa8109f3c77b"
+SRC_URI[sha256sum] = "ddaa01a212cd6d641401cb01b605f4a4d9f37bfc93043d7f760ec70fb99ff9ff"
RDEPENDS_${PN} += "${PYTHON_PN}-io ${PYTHON_PN}-pickle ${PYTHON_PN}-crypt \
${PYTHON_PN}-math ${PYTHON_PN}-netclient ${PYTHON_PN}-re ${PYTHON_PN}-textutils \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2_2.9.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2_2.9.6.bb
index ec8e7ed2d..ec8e7ed2d 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2_2.9.5.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2_2.9.6.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.15.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.15.bb
deleted file mode 100644
index f214bf23c..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.15.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] = "818d36e05d68ba90ca2b26597bd82975"
-SRC_URI[sha256sum] = "ae23cd08b2f7246f8f2475363501e740c4ef93f08f2a3b7b9bcfac0cc37fceb1"
-
-RDEPENDS_${PN} += "${PYTHON_PN}-json ${PYTHON_PN}-jsonpointer ${PYTHON_PN}-netclient ${PYTHON_PN}-re ${PYTHON_PN}-stringold"
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.16.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.16.bb
new file mode 100644
index 000000000..bbc61a4e9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.16.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] = "8ef1ceb00dcf992c9e43611f698f9279"
+SRC_URI[sha256sum] = "f025c28a08ce747429ee746bb21796c3b6417ec82288f8fe6514db7398f2af8a"
+
+RDEPENDS_${PN} += "${PYTHON_PN}-json ${PYTHON_PN}-jsonpointer ${PYTHON_PN}-netclient ${PYTHON_PN}-re ${PYTHON_PN}-stringold"
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer_1.10.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer_1.10.bb
deleted file mode 100644
index 8ec8772a3..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer_1.10.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "Resolve JSON Pointers in Python"
-HOMEPAGE = "https://github.com/stefankoegl/python-json-pointer"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=32b15c843b7a329130f4e266a281ebb3"
-
-inherit pypi setuptools
-
-SRC_URI[md5sum] = "d68c0c6ad6889e9c94ec0feba719e45e"
-SRC_URI[sha256sum] = "9fa5dcac35eefd53e25d6cd4c310d963c9f0b897641772cd6e5e7b89df7ee0b1"
-
-RDEPENDS_${PN} += "python-re python-json"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer_1.12.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer_1.12.bb
new file mode 100644
index 000000000..f5c1aa868
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer_1.12.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Resolve JSON Pointers in Python"
+HOMEPAGE = "https://github.com/stefankoegl/python-json-pointer"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=32b15c843b7a329130f4e266a281ebb3"
+
+inherit pypi setuptools
+
+SRC_URI[md5sum] = "eaaad79e983d58ecbee5b4a326723777"
+SRC_URI[sha256sum] = "819b6dd4fd0a18ac219e02a0117f24b2d31296b0c475c33862cfa9a1616d62c3"
+
+RDEPENDS_${PN} += "python-re python-json"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema.inc
index 74933f58c..db57c69a4 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema.inc
@@ -5,6 +5,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=7a60a81c146ec25599a3e1dabb8610a8"
SRC_URI[md5sum] = "50c6b69a373a8b55ff1e0ec6e78f13f4"
SRC_URI[sha256sum] = "6ff5f3180870836cae40f06fa10419f557208175f13ad7bc26caa77beb1f6e02"
+DEPENDS += "${PYTHON_PN}-vcversioner-native"
+
RDEPENDS_${PN} += " \
${PYTHON_PN}-core \
${PYTHON_PN}-io \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lazy-object-proxy.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lazy-object-proxy.inc
new file mode 100644
index 000000000..83d2ea3cd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lazy-object-proxy.inc
@@ -0,0 +1,10 @@
+SUMMARY = "A fast and thorough lazy object proxy"
+HOMEPAGE = "https://python-lazy-object-proxy.readthedocs.io/"
+LICENSE = "BSD"
+SECTION = "devel/python"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ec680df42d8ad56427a83308817658cc"
+
+SRC_URI[md5sum] = "e128152b76eb5b9ba759504936139fd0"
+SRC_URI[sha256sum] = "eb91be369f945f10d3a49f5f9be8b3d0b93a4c2be8f8a5b83b0571b8123e0a7a"
+
+inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lazy-object-proxy_1.2.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lazy-object-proxy_1.2.2.bb
deleted file mode 100644
index ded9cfafa..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lazy-object-proxy_1.2.2.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "A fast and thorough lazy object proxy"
-HOMEPAGE = "https://python-lazy-object-proxy.readthedocs.io/"
-LICENSE = "BSD"
-SECTION = "devel/python"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=96b1673d10167cb31b78e64f561c3286"
-
-SRC_URI[md5sum] = "841b5592bc12c6ef7e48ed1d7a5f9066"
-SRC_URI[sha256sum] = "ddd4cf1c74279c349cb7b9c54a2efa5105854f57de5f2d35829ee93631564268"
-
-inherit setuptools pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lazy-object-proxy_1.3.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lazy-object-proxy_1.3.1.bb
new file mode 100644
index 000000000..df4d60bff
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lazy-object-proxy_1.3.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-lazy-object-proxy.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap_2.4.32.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap_2.4.32.bb
deleted file mode 100644
index f25ad1eda..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap_2.4.32.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-#
-# Copyright (C) 2012 Wind River Systems, Inc.
-#
-SUMMARY = "Provides a wrapper in Python to LDAP"
-DESCRIPTION = "This module provides access to the LDAP \
-(Lightweight Directory Access Protocol) through Python operations \
-instead of C API. The module mainly acts as a wrapper for the \
-OpenLDAP 2.x libraries. Errors will appear as exceptions."
-
-LICENSE = "PSF"
-HOMEPAGE = "http://www.python-ldap.org/"
-DEPENDS = "python openldap cyrus-sasl"
-
-PYPI_PACKAGE = "python-ldap"
-inherit pypi setuptools
-
-LIC_FILES_CHKSUM = "file://LICENCE;md5=a41c82edffa04912007cae1d20cac555"
-SRC_URI[md5sum] = "7c46c8a04acc227a778c7900c87cdfc7"
-SRC_URI[sha256sum] = "5810f1b5a9ae9255df99fb9c2dcab7352fed325687efda56c0faae1a82c5e3cb"
-
-do_configure_prepend() {
- sed -i -e 's:^library_dirs =.*::' setup.cfg
- sed -i -e 's:^include_dirs =.*:include_dirs = =/usr/include/sasl/:' setup.cfg
-}
-
-RDEPENDS_${PN} = " \
- ${PYTHON_PN}-pprint \
- ${PYTHON_PN}-threading \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lockfile_0.12.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lockfile_0.12.2.bb
new file mode 100644
index 000000000..cd15760d4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lockfile_0.12.2.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "Platform-independent file locking module"
+HOMEPAGE = "http://launchpad.net/pylockfile"
+SECTION = "devel/python"
+
+RDEPENDS_${PN} = "python-threading"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+inherit pypi setuptools
+
+SRC_URI[md5sum] = "a6a1a82957a23afdf44cfdd039b65ff9"
+SRC_URI[sha256sum] = "6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799"
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 d5e6ae4a4..7c0a7d714 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
@@ -7,7 +7,7 @@ C14N and much more."
HOMEPAGE = "http://codespeak.net/lxml"
SECTION = "devel/python"
LICENSE = "BSD & GPLv2 & MIT & PSF"
-LIC_FILES_CHKSUM = "file://LICENSES.txt;md5=f9f1dc24f720c143c2240df41fe5073b \
+LIC_FILES_CHKSUM = "file://LICENSES.txt;md5=e4c045ebad958ead4b48008f70838403 \
file://doc/licenses/elementtree.txt;md5=eb34d036a6e3d56314ee49a6852ac891 \
file://doc/licenses/BSD.txt;md5=700a1fc17f4797d4f2d34970c8ee694b \
file://doc/licenses/GPL.txt;md5=94d55d512a9ba36caa9b7df079bae19f \
@@ -18,8 +18,8 @@ LIC_FILES_CHKSUM = "file://LICENSES.txt;md5=f9f1dc24f720c143c2240df41fe5073b \
DEPENDS += "libxml2 libxslt"
-SRC_URI[md5sum] = "075692ce442e69bbd604d44e21c02753"
-SRC_URI[sha256sum] = "aa502d78a51ee7d127b4824ff96500f0181d3c7826e6ee7b800d068be79361c7"
+SRC_URI[md5sum] = "247580bd5d942872bd972ad0086e5cbf"
+SRC_URI[sha256sum] = "be3aaeb5f468a49f523f16736ccff7d82af2b4b303292ba3d052b5b28f3fbe47"
DISTUTILS_BUILD_ARGS += " \
--with-xslt-config='pkg-config libxslt' \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml/0001-lxml.etree-Add-empty-variadic-argument.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml/0001-lxml.etree-Add-empty-variadic-argument.patch
deleted file mode 100644
index efaecd69c..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml/0001-lxml.etree-Add-empty-variadic-argument.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From f8d2c3394767025b3b27b71248b3ecb50480cde7 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 13 Apr 2017 17:10:45 -0700
-Subject: [PATCH] lxml.etree: Add empty variadic argument
-
-format checker says that argument 4 is a printf formatted argument
-but there is no more arguments to follow
-
-Fixes libxslt format warnings
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/lxml/lxml.etree.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/lxml/lxml.etree.c b/src/lxml/lxml.etree.c
-index d482091..faab06c 100644
---- a/src/lxml/lxml.etree.c
-+++ b/src/lxml/lxml.etree.c
-@@ -186086,7 +186086,7 @@ static void __pyx_f_4lxml_5etree__callExtensionElement(xsltTransformContext *__p
- * except:
- */
- __pyx_t_26 = __Pyx_PyObject_AsString(__pyx_v_message); if (unlikely((!__pyx_t_26) && PyErr_Occurred())) __PYX_ERR(19, 228, __pyx_L18_except_error)
-- xsltTransformError(__pyx_v_c_ctxt, NULL, __pyx_v_c_inst_node, __pyx_t_26);
-+ xsltTransformError(__pyx_v_c_ctxt, NULL, __pyx_v_c_inst_node, __pyx_t_26, "");
-
- /* "src/lxml/xsltext.pxi":229
- * c_inst_node.name, _cstr(e))
-@@ -186136,7 +186136,7 @@ static void __pyx_f_4lxml_5etree__callExtensionElement(xsltTransformContext *__p
- * except:
- */
- __pyx_t_26 = __Pyx_PyObject_AsString(__pyx_v_message); if (unlikely((!__pyx_t_26) && PyErr_Occurred())) __PYX_ERR(19, 234, __pyx_L18_except_error)
-- xsltTransformError(__pyx_v_c_ctxt, NULL, __pyx_v_c_inst_node, __pyx_t_26);
-+ xsltTransformError(__pyx_v_c_ctxt, NULL, __pyx_v_c_inst_node, __pyx_t_26, "");
-
- /* "src/lxml/xsltext.pxi":235
- * "Error executing extension element '%s'", c_inst_node.name)
---
-2.12.2
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_3.7.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_3.7.3.bb
deleted file mode 100644
index 5c93a3f84..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_3.7.3.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit setuptools
-require python-lxml.inc
-
-SRC_URI = "${PYPI_SRC_URI} \
- file://0001-lxml.etree-Add-empty-variadic-argument.patch \
- "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.1.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.1.0.bb
new file mode 100644
index 000000000..81ccb12d8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.1.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-lxml.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/cross-compile-platform.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/cross-compile-platform.patch
new file mode 100644
index 000000000..c6654e540
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/cross-compile-platform.patch
@@ -0,0 +1,30 @@
+Do not compute platform, this does not work in cross compile environment
+since it pokes at the system for getting architecture values
+
+Upstream-Status: Inappropriate
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: M2Crypto-0.26.0/setup.py
+===================================================================
+--- M2Crypto-0.26.0.orig/setup.py
++++ M2Crypto-0.26.0/setup.py
+@@ -141,19 +141,6 @@ class _M2CryptoBuildExt(build_ext.build_
+ self.include_dirs.append(
+ os.path.join(self.openssl, 'include', 'openssl'))
+
+- # For RedHat-based distros, the '-D__{arch}__' option for
+- # Swig needs to be normalized, particularly on i386.
+- mach = platform.machine().lower()
+- if mach in ('i386', 'i486', 'i586', 'i686'):
+- arch = '__i386__'
+- elif mach in ('ppc64', 'powerpc64'):
+- arch = '__powerpc64__'
+- elif mach in ('ppc', 'powerpc'):
+- arch = '__powerpc__'
+- else:
+- arch = '__%s__' % mach
+- self.swig_opts.append('-D%s' % arch)
+-
+ self.swig_opts.extend(['-I%s' % i for i in self.include_dirs])
+ self.swig_opts.append('-includeall')
+ self.swig_opts.append('-modern')
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/m2crypto-0.26.4-gcc_macros.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/m2crypto-0.26.4-gcc_macros.patch
new file mode 100644
index 000000000..2d738cc94
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/m2crypto-0.26.4-gcc_macros.patch
@@ -0,0 +1,24 @@
+Imported from Fedora
+
+--- M2Crypto/SWIG/_m2crypto.i 2017-09-26 11:26:33.000000000 +0200
++++ M2Crypto-0.26.4/SWIG/_m2crypto.i 2017-09-26 21:04:14.080330741 +0200
+@@ -7,6 +7,7 @@
+ * Copyright (c) 2009-2010 Heikki Toivonen. All rights reserved.
+ *
+ */
++%import "gcc_macros.h"
+
+ %module(threads=1) m2crypto
+ /* We really don't need threadblock (PyGILState_Ensure() etc.) anywhere.
+@@ -15,11 +16,6 @@
+ %nothreadblock;
+ %nothreadallow;
+
+-#if SWIG_VERSION >= 0x030000
+-#define __WCHAR_MAX__ __WCHAR_MAX
+-#define __WCHAR_MIN__ __WCHAR_MIN
+-#endif
+-
+ %{
+ #if __GNUC__ < 5
+ #pragma GCC diagnostic ignored "-Wunused-label"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.25.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.25.1.bb
deleted file mode 100644
index 72523bd7f..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.25.1.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-SUMMARY = "A Python crypto and SSL toolkit"
-HOMEPAGE = "http://chandlerproject.org/bin/view/Projects/MeTooCrypto"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=95295693f047bb8f76928251a6154a60"
-
-SRC_URI[md5sum] = "040234289fbef5bed4029f0f7d1dae35"
-SRC_URI[sha256sum] = "ac303a1881307a51c85ee8b1d87844d9866ee823b4fdbc52f7e79187c2d9acef"
-
-SRC_URI += "file://0001-setup.py-link-in-sysroot-not-in-host-directories.patch "
-
-PYPI_PACKAGE = "M2Crypto"
-inherit pypi setuptools siteinfo
-
-DEPENDS += "openssl swig-native"
-RDEPENDS_${PN} += "python-typing"
-
-DISTUTILS_BUILD_ARGS += "build_ext --openssl=${STAGING_DIR_HOST} -I${STAGING_INCDIR}"
-DISTUTILS_INSTALL_ARGS += "build_ext --openssl=${STAGING_DIR_HOST}"
-
-inherit setuptools
-
-SWIG_FEATURES_x86-64 = "-D__x86_64__"
-SWIG_FEATURES ?= ""
-export SWIG_FEATURES
-
-# Get around a problem with swig, but only if the
-# multilib header file exists.
-#
-do_compile_prepend() {
- if [ "${SITEINFO_BITS}" = "64" ];then
- bit="64"
- else
- bit="32"
- fi
-
- if [ -e ${STAGING_INCDIR}/openssl/opensslconf-${bit}.h ] ;then
- for i in SWIG/_ec.i SWIG/_evp.i; do
- sed -i -e "s/opensslconf.*\./opensslconf-${bit}\./" "$i"
- done
- elif [ -e ${STAGING_INCDIR}/openssl/opensslconf-n${bit}.h ] ;then
- for i in SWIG/_ec.i SWIG/_evp.i; do
- sed -i -e "s/opensslconf.*\./opensslconf-n${bit}\./" "$i"
- done
- fi
-}
-
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.26.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.26.4.bb
new file mode 100644
index 000000000..272c76ca1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.26.4.bb
@@ -0,0 +1,50 @@
+SUMMARY = "A Python crypto and SSL toolkit"
+HOMEPAGE = "https://gitlab.com/m2crypto/m2crypto"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=b0e1f0b7d0ce8a62c18b1287b991800e"
+
+SRC_URI += "file://0001-setup.py-link-in-sysroot-not-in-host-directories.patch \
+ file://cross-compile-platform.patch \
+ file://m2crypto-0.26.4-gcc_macros.patch \
+ "
+SRC_URI[md5sum] = "5c74c25ba8b45122318a165a3a2059ad"
+SRC_URI[sha256sum] = "5cae7acc0b34821f8c0ddf6665e482893fe1f198ad6379e61ffa9d8e65f5c199"
+
+PYPI_PACKAGE = "M2Crypto"
+inherit pypi setuptools siteinfo
+
+DEPENDS += "openssl swig-native"
+RDEPENDS_${PN} += "python-typing"
+
+DISTUTILS_BUILD_ARGS += "build_ext --openssl=${STAGING_DIR_HOST} -I${STAGING_INCDIR}"
+DISTUTILS_INSTALL_ARGS += "build_ext --openssl=${STAGING_DIR_HOST}"
+
+SWIG_FEATURES_x86 = "-D__i386__"
+SWIG_FEATURES ?= "-D__${HOST_ARCH}__"
+export SWIG_FEATURES
+
+# Get around a problem with swig, but only if the
+# multilib header file exists.
+#
+do_compile_prepend() {
+ ${CPP} -dM - < /dev/null | grep -v __STDC__ | grep -v __REGISTER_PREFIX__ | grep -v __GNUC__ \
+ | sed 's/^\(#define \([^ ]*\) .*\)$/#undef \2\n\1/' > SWIG/gcc_macros.h
+ if [ "${SITEINFO_BITS}" = "64" ];then
+ bit="64"
+ else
+ bit="32"
+ fi
+
+ if [ -e ${STAGING_INCDIR}/openssl/opensslconf-${bit}.h ] ;then
+ for i in SWIG/_ec.i SWIG/_evp.i; do
+ sed -i -e "s/opensslconf.*\./opensslconf-${bit}\./" "$i"
+ done
+ elif [ -e ${STAGING_INCDIR}/openssl/opensslconf-n${bit}.h ] ;then
+ for i in SWIG/_ec.i SWIG/_evp.i; do
+ sed -i -e "s/opensslconf.*\./opensslconf-n${bit}\./" "$i"
+ done
+ fi
+}
+
+BBCLASSEXTEND = "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 de61944d5..e50f8ce38 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,10 +3,10 @@ HOMEPAGE = "http://github.com/mitsuhiko/markupsafe"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=c6d1adcf45d69359f256c1cea3254127"
-SRC_URI[md5sum] = "f5ab3deee4c37cd6a922fb81e730da6e"
-SRC_URI[sha256sum] = "a4ec1aff59b95a14b45eb2e23761a0179e98319da5a7eb76b56ea8cdc7b871c3"
+SRC_URI[md5sum] = "2fcedc9284d50e577b5192e8e3578355"
+SRC_URI[sha256sum] = "a6be69091dac236ea9c6bc7d012beab42010fa914c459791d627dad4910eb665"
PYPI_PACKAGE = "MarkupSafe"
inherit pypi
-RDEPENDS_${PN} += "${PYTHON_PN}-re"
+RDEPENDS_${PN} += "${PYTHON_PN}-re ${PYTHON_PN}-stringold"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe_0.23.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe_0.23.bb
deleted file mode 100644
index 396eff102..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe_0.23.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-markupsafe.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe_1.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe_1.0.bb
new file mode 100644
index 000000000..5c9884b9f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe_1.0.bb
@@ -0,0 +1,4 @@
+inherit setuptools
+require python-markupsafe.inc
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-matplotlib/fix_setup.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-matplotlib/fix_setup.patch
deleted file mode 100644
index 938158353..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-matplotlib/fix_setup.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-This fixes the dependency checks inside of setup.py since things like
-'import numpy' won't work with bitbake.
-
-diff --git a/setup.py b/setup.py
-index 2f13821..e6d6ed0 100644
---- a/setup.py
-+++ b/setup.py
-@@ -113,12 +113,6 @@ if 1:
- baseline_images = [chop_package(f) for f in baseline_images]
- package_data['matplotlib'].extend(baseline_images)
-
--if not check_for_numpy():
-- sys.exit(1)
--
--if not check_for_freetype():
-- sys.exit(1)
--
- build_ft2font(ext_modules, packages)
- build_ttconv(ext_modules, packages)
- build_contour(ext_modules, packages)
-@@ -129,7 +123,7 @@ build_tri(ext_modules, packages)
-
- print_raw("")
- print_raw("OPTIONAL BACKEND DEPENDENCIES")
--has_libpng = check_for_libpng()
-+has_libpng = True
-
- if has_libpng and options['build_agg']:
- build_agg(ext_modules, packages)
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-matplotlib/fix_setupext.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-matplotlib/fix_setupext.patch
index 9a13a1850..21b9094a1 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-matplotlib/fix_setupext.patch
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-matplotlib/fix_setupext.patch
@@ -1,40 +1,110 @@
This fixes the numpy import problem in setupext.py using a hard-coded path.
-Index: matplotlib-1.1.0/setupext.py
+Index: matplotlib-2.0.2/setupext.py
===================================================================
---- matplotlib-1.1.0.orig/setupext.py
-+++ matplotlib-1.1.0/setupext.py
-@@ -122,8 +122,8 @@ numpy_inc_dirs = []
- # matplotlib build options, which can be altered using setup.cfg
- options = {'display_status': True,
- 'verbose': False,
-- 'provide_pytz': 'auto',
-- 'provide_dateutil': 'auto',
-+ 'provide_pytz': False,
-+ 'provide_dateutil': False,
- 'build_agg': True,
- 'build_gtk': 'auto',
- 'build_gtkagg': 'auto',
-@@ -176,10 +176,7 @@ if os.path.exists(setup_cfg):
- except: pass
+--- matplotlib-2.0.2.orig/setupext.py
++++ matplotlib-2.0.2/setupext.py
+@@ -148,6 +148,7 @@ def has_include_file(include_dirs, filen
+ Returns `True` if `filename` can be found in one of the
+ directories in `include_dirs`.
+ """
++ return True
+ if sys.platform == 'win32':
+ include_dirs += os.environ.get('INCLUDE', '.').split(';')
+ for dir in include_dirs:
+@@ -172,7 +173,7 @@ def get_base_dirs():
+ Returns a list of standard base directories on this platform.
+ """
+ if options['basedirlist']:
+- return options['basedirlist']
++ return [os.environ['STAGING_LIBDIR']]
- # For get_base_flags:
--if options['basedirlist']:
-- basedirlist = options['basedirlist'].split()
--else:
-- basedirlist = basedir[sys.platform]
-+basedirlist = [os.environ['STAGING_LIBDIR']]
- print("basedirlist is: %s" % basedirlist)
+ basedir_map = {
+ 'win32': ['win32_static', ],
+@@ -260,14 +261,6 @@ def make_extension(name, files, *args, *
+ `distutils.core.Extension` constructor.
+ """
+ ext = DelayedExtension(name, files, *args, **kwargs)
+- for dir in get_base_dirs():
+- include_dir = os.path.join(dir, 'include')
+- if os.path.exists(include_dir):
+- ext.include_dirs.append(include_dir)
+- for lib in ('lib', 'lib64'):
+- lib_dir = os.path.join(dir, lib)
+- if os.path.exists(lib_dir):
+- ext.library_dirs.append(lib_dir)
+ ext.include_dirs.append('.')
- if options['display_status']:
-@@ -555,8 +552,8 @@ def check_for_numpy():
+ return ext
+@@ -314,6 +307,7 @@ class PkgConfig(object):
+ " matplotlib may not be able to find some of its dependencies")
- def add_numpy_flags(module):
- "Add the modules flags to build extensions which use numpy"
-- import numpy
-- module.include_dirs.append(numpy.get_include())
-+ # Hard-coded path for OE since I know this is where numpy's include dir will be
-+ module.include_dirs.append(os.path.join(os.environ['STAGING_LIBDIR'], 'python2.7/site-packages/numpy/core/include/'))
+ def set_pkgconfig_path(self):
++ return
+ pkgconfig_path = sysconfig.get_config_var('LIBDIR')
+ if pkgconfig_path is None:
+ return
+@@ -875,14 +869,14 @@ class Numpy(SetupPackage):
+ reload(numpy)
- def add_png_flags(module):
- try_pkgconfig(module, 'libpng', 'png')
+ ext = Extension('test', [])
+- ext.include_dirs.append(numpy.get_include())
++ ext.include_dirs.append(os.path.join(os.environ['STAGING_LIBDIR'], 'python2.7/site-packages/numpy/core/include/'))
+ if not has_include_file(
+ ext.include_dirs, os.path.join("numpy", "arrayobject.h")):
+ warnings.warn(
+ "The C headers for numpy could not be found. "
+ "You may need to install the development package")
+
+- return [numpy.get_include()]
++ return [os.path.join(os.environ['STAGING_LIBDIR'], 'python2.7/site-packages/numpy/core/include/')]
+
+ def check(self):
+ min_version = extract_versions()['__version__numpy__']
+Index: matplotlib-2.0.2/setup.py
+===================================================================
+--- matplotlib-2.0.2.orig/setup.py
++++ matplotlib-2.0.2/setup.py
+@@ -66,28 +66,6 @@ mpl_packages = [
+ setupext.Python(),
+ setupext.Platform(),
+ 'Required dependencies and extensions',
+- setupext.Numpy(),
+- setupext.Six(),
+- setupext.Dateutil(),
+- setupext.FuncTools32(),
+- setupext.Subprocess32(),
+- setupext.Pytz(),
+- setupext.Cycler(),
+- setupext.Tornado(),
+- setupext.Pyparsing(),
+- setupext.LibAgg(),
+- setupext.FreeType(),
+- setupext.FT2Font(),
+- setupext.Png(),
+- setupext.Qhull(),
+- setupext.Image(),
+- setupext.TTConv(),
+- setupext.Path(),
+- setupext.ContourLegacy(),
+- setupext.Contour(),
+- setupext.Delaunay(),
+- setupext.QhullWrap(),
+- setupext.Tri(),
+ 'Optional subpackages',
+ setupext.SampleData(),
+ setupext.Toolkits(),
+@@ -100,13 +78,8 @@ mpl_packages = [
+ setupext.BackendMacOSX(),
+ setupext.BackendQt5(),
+ setupext.BackendQt4(),
+- setupext.BackendGtk3Agg(),
+ setupext.BackendGtk3Cairo(),
+- setupext.BackendGtkAgg(),
+- setupext.BackendTkAgg(),
+- setupext.BackendWxAgg(),
+ setupext.BackendGtk(),
+- setupext.BackendAgg(),
+ setupext.BackendCairo(),
+ setupext.Windowing(),
+ 'Optional LaTeX dependencies',
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
deleted file mode 100644
index 133e66da4..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-matplotlib_1.1.0.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-DESCRIPTION = "matplotlib is a python 2D plotting library which produces publication quality figures in a variety of hardcopy formats"
-SECTION = "devel/python"
-LICENSE = "PSF"
-LIC_FILES_CHKSUM = "file://README.txt;md5=83c5bf8b16a5f99507f2f47a21ae3b81"
-PR = "r1"
-
-DEPENDS += "python-numpy freetype libpng python-dateutil python-pytz"
-RDEPENDS_${PN} = "python-core python-distutils python-numpy freetype libpng python-dateutil python-pytz"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/matplotlib/matplotlib-${PV}.tar.gz \
- file://fix_setup.patch \
- file://fix_setupext.patch \
-"
-
-S = "${WORKDIR}/matplotlib-${PV}"
-
-EXTRA_OECONF = "--disable-docs --with-python-includes=${STAGING_INCDIR}/../"
-
-inherit distutils
-
-do_compile_prepend() {
- ${STAGING_BINDIR_NATIVE}/python setup.py build ${DISTUTILS_BUILD_ARGS} || \
- true
-}
-
-# need to export these variables for python-config to work
-export PYTHONPATH
-export STAGING_INCDIR
-export STAGING_LIBDIR
-
-
-SRC_URI[md5sum] = "57a627f30b3b27821f808659889514c2"
-SRC_URI[sha256sum] = "be37e1d86c65ecacae6683f8805e051e9904e5f2e02bf2b7a34262c46a6d06a7"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-matplotlib_2.0.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-matplotlib_2.0.2.bb
new file mode 100644
index 000000000..5b1c3f05b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-matplotlib_2.0.2.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "matplotlib is a python 2D plotting library which produces publication quality figures in a variety of hardcopy formats"
+SECTION = "devel/python"
+LICENSE = "PSF"
+LIC_FILES_CHKSUM = "file://LICENSE/LICENSE;md5=afec61498aa5f0c45936687da9a53d74"
+
+DEPENDS += "python-numpy freetype libpng python-dateutil python-pytz"
+RDEPENDS_${PN} = "python-core python-distutils python-numpy freetype libpng python-dateutil python-pytz"
+
+SRC_URI = "https://github.com/matplotlib/matplotlib/archive/v${PV}.tar.gz \
+ file://fix_setupext.patch \
+"
+SRC_URI[md5sum] = "89717c1ef3c6fdcd6fb1f3b597a4858c"
+SRC_URI[sha256sum] = "aebed23921562792b68b8ca355de5abc176af4424f1987e2fa95f65e5c5e7e89"
+S = "${WORKDIR}/matplotlib-${PV}"
+EXTRA_OECONF = "--disable-docs"
+
+inherit setuptools pkgconfig
+
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
deleted file mode 100644
index e5c88b154..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-monotonic_1.2.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] = "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-monotonic_1.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-monotonic_1.3.bb
new file mode 100644
index 000000000..ee91d18d8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-monotonic_1.3.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] = "34351251d1a67667a25cd7673d2e44bf"
+SRC_URI[sha256sum] = "2b469e2d7dd403f7f7f79227fe5ad551ee1e76f8bb300ae935209884b93c7c1b"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "${PYTHON_PN}-ctypes ${PYTHON_PN}-io ${PYTHON_PN}-re ${PYTHON_PN}-threading"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack.inc
new file mode 100644
index 000000000..228ce5925
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack.inc
@@ -0,0 +1,9 @@
+SUMMARY = "MessagePack (de)serializer"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=cd9523181d9d4fbf7ffca52eaa2a5751"
+
+SRC_URI[md5sum] = "dcd854fb41ee7584ebbf35e049e6be98"
+SRC_URI[sha256sum] = "1a2b19df0f03519ec7f19f826afb935b202d8979b0856c6fb3dc28955799f886"
+
+PYPI_PACKAGE = "msgpack-python"
+inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.4.8.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.4.8.bb
index 8a0ad8f88..2c2c8f2ad 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.4.8.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.4.8.bb
@@ -1,9 +1,2 @@
-SUMMARY = "MessagePack (de)serializer"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=cd9523181d9d4fbf7ffca52eaa2a5751"
-
-SRC_URI[md5sum] = "dcd854fb41ee7584ebbf35e049e6be98"
-SRC_URI[sha256sum] = "1a2b19df0f03519ec7f19f826afb935b202d8979b0856c6fb3dc28955799f886"
-
-PYPI_PACKAGE = "msgpack-python"
-inherit pypi setuptools
+require python-msgpack.inc
+inherit setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient.inc
index 3c6253f04..133cab10f 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient.inc
@@ -3,8 +3,8 @@ HOMEPAGE = "http://python-requests.org"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://MANIFEST.in;md5=ce22c0cd986d2de3f7073cd6b5523ae0"
-SRC_URI[md5sum] = "b3a958c0e9aaf4d3f8dd933f46f8c1a9"
-SRC_URI[sha256sum] = "580987ef194334c50389e0d7de885fccf15605c13c6eecaabd8d6c43768eb8ac"
+SRC_URI[md5sum] = "59a2f0a5b3b60e6c520a9cc7be9aff87"
+SRC_URI[sha256sum] = "7bfd8c5cfcbc241a93ca6a4e45f952650f5c7ecf7c49b1dbcf5f4d390240be0b"
PYPI_PACKAGE = "ndg_httpsclient"
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.3.bb
index ca0eb3263..ca0eb3263 100644
--- 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.3.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr.inc
new file mode 100644
index 000000000..26b0f1ed0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr.inc
@@ -0,0 +1,8 @@
+SUMMARY = "A network address manipulation library for Python."
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e6345d695ffe3776f68a56fe7962db44"
+
+SRC_URI[md5sum] = "51019ef59c93f3979bcb37d3b8527e07"
+SRC_URI[sha256sum] = "38aeec7cdd035081d3a4c306394b19d677623bf76fa0913f6695127c7753aefd"
+
+inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr_0.7.19.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr_0.7.19.bb
index 5b037357c..5e089a90f 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr_0.7.19.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr_0.7.19.bb
@@ -1,8 +1,2 @@
-SUMMARY = "A network address manipulation library for Python."
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e6345d695ffe3776f68a56fe7962db44"
-
-SRC_URI[md5sum] = "51019ef59c93f3979bcb37d3b8527e07"
-SRC_URI[sha256sum] = "38aeec7cdd035081d3a4c306394b19d677623bf76fa0913f6695127c7753aefd"
-
-inherit pypi setuptools
+require python-netaddr.inc
+inherit setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-networkx_1.11.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-networkx_1.11.bb
index 28a7baae0..bda8ae32e 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-networkx_1.11.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-networkx_1.11.bb
@@ -6,3 +6,5 @@ SRC_URI[md5sum] = "6ef584a879e9163013e9a762e1cf7cd1"
SRC_URI[sha256sum] = "0d0e70e10dfb47601cbb3425a00e03e2a2e97477be6f80638fef91d54dd1e4b8"
inherit pypi setuptools
+
+RDEPENDS_${PN} += "python-2to3"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt.inc
index 7ff3fb242..ad1ce6a90 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt.inc
@@ -1,11 +1,16 @@
SUMMARY = "MQTT version 3.1/3.1.1 client library"
-LICENSE = "EPL-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=eb48c6ee2cb9f5b8b9fe75e6f817bdfc"
+LICENSE = "EPL-1.0 | EDL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=eb48c6ee2cb9f5b8b9fe75e6f817bdfc \
+ file://epl-v10;md5=8d383c379e91d20ba18a52c3e7d3a979 \
+ file://edl-v10;md5=c09f121939f063aeb5235972be8c722c \
+"
SRCNAME = "paho-mqtt"
inherit pypi
-SRC_URI[md5sum] = "241150b3fcb920ddca4d33181f3238b1"
-SRC_URI[sha256sum] = "9100a6aa706ab699d414ec02705a21eb66f436184691d0bf1f2a85a6213c6c1f"
+SRC_URI[md5sum] = "b9338236e2836e8579ef140956189cc4"
+SRC_URI[sha256sum] = "2c9ef5494cfc1e41a9fff6544c5a2cd59ea5d401d9119a06ecf7fad6a2ffeb93"
+
+DEPENDS += "${PYTHON_PN}-pytest-runner-native"
RDEPENDS_${PN} = "\
${PYTHON_PN}-math \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.3.0.bb
index f369b2e84..f369b2e84 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.3.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pandas.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pandas.inc
new file mode 100644
index 000000000..d1f3707a5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pandas.inc
@@ -0,0 +1,23 @@
+SUMMARY = "pandas library for high-performance data analysis tools"
+DESCRIPTION = "pandas is an open source, BSD-licensed library providing \
+high-performance, easy-to-use data structures and data analysis tools for \
+the Python programming language."
+HOMEPAGE = "http://pandas.pydata.org/"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=66017d3134349017409386be85176145"
+
+SRC_URI[md5sum] = "4df858f28b4bf4fa07d9fbb7f2568173"
+SRC_URI[sha256sum] = "a777e07633d83d546c55706420179551c8e01075b53c497dcf8ae4036766bc66"
+
+PYPI_PACKAGE = "pandas"
+inherit pypi
+
+DEPENDS += " \
+ ${PYTHON_PN}-numpy-native \
+"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-numpy \
+ ${PYTHON_PN}-dateutil \
+ ${PYTHON_PN}-pytz \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pandas_0.20.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pandas_0.20.3.bb
new file mode 100644
index 000000000..20973c8e8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pandas_0.20.3.bb
@@ -0,0 +1,7 @@
+inherit setuptools
+require python-pandas.inc
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-importlib \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-parse-type_0.3.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-parse-type_0.3.4.bb
deleted file mode 100644
index 9dc37cf82..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-parse-type_0.3.4.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "Simplifies building parse types based on the parse module"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=be38402eb4b6c224e4914fd82e0e1436"
-PYPI_PACKAGE = "parse_type"
-
-SRC_URI[md5sum] = "00ba70bc5ca67624207b0dfced01dc8a"
-SRC_URI[sha256sum] = "3dd0b323bafcb8c25e000ce5589042a1c99cba9c3bec77b9f591e46bc9606147"
-
-RDEPENDS_${PN} += "python-parse"
-
-inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-parse-type_0.4.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-parse-type_0.4.2.bb
new file mode 100644
index 000000000..b516c5912
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-parse-type_0.4.2.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Simplifies building parse types based on the parse module"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d07323820cca0f1d192cbbf8a0516f95"
+PYPI_PACKAGE = "parse_type"
+
+SRC_URI[md5sum] = "b5fa59e45965d1b2896023742df2e707"
+SRC_URI[sha256sum] = "f596bdc75d3dd93036fbfe3d04127da9f6df0c26c36e01e76da85adef4336b3c"
+
+RDEPENDS_${PN} += "python-parse"
+
+inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.8.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.8.0.bb
deleted file mode 100644
index 0fd905b4f..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.8.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Parse strings using a specification based on the Python format() syntax"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://parse.py;md5=083d8ef8f98a3035dbf890a808498fde;startline=1189;endline=1208"
-
-SRC_URI[md5sum] = "6ea7e32cb35810113137f6073fb30639"
-SRC_URI[sha256sum] = "8b4f28bbe7c0f24981669ea92b2ba704ee63b5346027e82be30118bb5788ff10"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-datetime \
- ${PYTHON_PN}-logging \
- "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.8.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.8.2.bb
new file mode 100644
index 000000000..037221a3c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.8.2.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Parse strings using a specification based on the Python format() syntax"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://parse.py;md5=a84b494563bba466a2f02b05f2e6ad4a;startline=1191;endline=1210"
+
+SRC_URI[md5sum] = "42002338551bdfa0f01bbe4e679a17dd"
+SRC_URI[sha256sum] = "8048dde3f5ca07ad7ac7350460952d83b63eaacecdac1b37f45fd74870d849d2"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-logging \
+ "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_2.0.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_2.0.0.bb
deleted file mode 100644
index a044a9e2b..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_2.0.0.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-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] = "dfc1c3788eff06acfaade6f1655fa490"
-SRC_URI[sha256sum] = "0ccd2db529afd070df815b1521f01401d43de03941170f8a800e7531faba265d"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN}_class-target += " \
- python-pip \
- "
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_3.1.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_3.1.1.bb
new file mode 100644
index 000000000..bdff867f3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_3.1.1.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] = "4e82c2e07af544c56a5b71c801525b00"
+SRC_URI[sha256sum] = "05f61c71aaefc02d8e37c0a3eeb9815ff526ea28b3b76324769e6158d7f95be1"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN}_class-target += " \
+ python-pip \
+ "
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect.inc
new file mode 100644
index 000000000..47d09796d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect.inc
@@ -0,0 +1,25 @@
+SUMMARY = "A Pure Python Expect like Module for Python"
+HOMEPAGE = "http://pexpect.readthedocs.org/"
+SECTION = "devel/python"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1c7a725251880af8c6a148181665385b"
+
+SRCNAME = "pexpect"
+
+SRC_URI[md5sum] = "3694410001a99dff83f0b500a1ca1c95"
+SRC_URI[sha256sum] = "3d132465a75b57aa818341c6521392a06cc660feb3988d7f1074f39bd23c9a92"
+
+UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/pexpect"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+RDEPENDS_${PN} = "\
+ ${PYTHON_PN}-core \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-terminal \
+ ${PYTHON_PN}-resource \
+ ${PYTHON_PN}-fcntl \
+ ${PYTHON_PN}-ptyprocess \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect_4.2.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect_4.2.1.bb
new file mode 100644
index 000000000..1c46b47a2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect_4.2.1.bb
@@ -0,0 +1,2 @@
+require python-pexpect.inc
+inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pip_9.0.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pip_9.0.1.bb
index 2851761b9..5ddd8d524 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pip_9.0.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pip_9.0.1.bb
@@ -1,4 +1,5 @@
SUMMARY = "PIP is a tool for installing and managing Python packages"
+HOMEPAGE = "https://pip.pypa.io/"
LICENSE = "MIT & LGPL-2.1"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=25fba45109565f87de20bae85bc39452"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pretend.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pretend.inc
index 2d21cc4a8..78b671712 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pretend.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pretend.inc
@@ -1,4 +1,5 @@
SUMMARY = "A library for stubbing in Python"
+HOMEPAGE = "https://github.com/alex/pretend"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=411780c0b7fa756753e94affeee5bc99"
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
index 80d0a5845..297c0d373 100644
--- 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
@@ -3,7 +3,12 @@ HOMEPAGE = "http://github.com/verigak/progress/"
LICENSE = "ISC"
LIC_FILES_CHKSUM = "file://LICENSE;md5=aef5566ac4fede9815eccf124c281317"
-SRC_URI[md5sum] = "c1dbf49a41e80408d3874d976ba894cc"
-SRC_URI[sha256sum] = "5b6a50f9ac76820f619d7789b5354881c8c10060a64047e415868d8f503cc2eb"
+SRC_URI[md5sum] = "f65ccfcc2339d522b2dd5801aaa40dc7"
+SRC_URI[sha256sum] = "c88d89ee3bd06716a0b8b5504d9c3bcb3c1c0ab98f96dc7f1dc5f56812a4f60a"
+
+RDEPENDS_${PN}_class-target += " \
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-math \
+"
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.3.bb
index 80608627a..80608627a 100644
--- 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.3.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit.inc
index 30c2c81a1..f5ed349f2 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit.inc
@@ -2,8 +2,8 @@ SUMMARY = "Library for building powerful interactive command lines in Python"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=b2cde7da89f0c1f3e49bf968d00d554f"
-SRC_URI[md5sum] = "427b496d2c147bd3819bc3a7f6e0d493"
-SRC_URI[sha256sum] = "33d68ca09f76cd73287fde7df5748ffacf26a8238dd61ee81ac50860ea7c6776"
+SRC_URI[md5sum] = "8fe70295006dbc8afedd43e5eba99032"
+SRC_URI[sha256sum] = "858588f1983ca497f1cf4ffde01d978a3ea02b01c8a26a8bbc5cd2e66d816917"
PYPI_PACKAGE = "prompt_toolkit"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit_1.0.13.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit_1.0.15.bb
index 76e841014..76e841014 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit_1.0.13.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit_1.0.15.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc
new file mode 100644
index 000000000..2f59ef98b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc
@@ -0,0 +1,16 @@
+DESCRIPTION = "Protocol Buffers"
+HOMEPAGE = "https://developers.google.com/protocol-buffers/"
+SECTION = "devel/python"
+
+RDEPENDS_${PN} = "python-six"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
+
+inherit pypi
+
+SRC_URI[md5sum] = "bfc0c61c156a995e909521697e755780"
+SRC_URI[sha256sum] = "ef02609ef445987976a3a26bff77119c518e0915c96661c3a3b17856d0ef6374"
+
+# For usage in other recipies when compiling protobuf files (e.g. by grpcio-tools)
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.4.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.4.0.bb
new file mode 100644
index 000000000..f04fc489f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.4.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-protobuf.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc
index 6d3ebf867..c9a7f6d6f 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc
@@ -2,8 +2,8 @@ SUMMARY = "A cross-platform process and system utilities module for Python"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=0f02e99f7f3c9a7fe8ecfc5d44c2be62"
-SRC_URI[md5sum] = "c9aa2599dcd9e5b59d71b6660d396062"
-SRC_URI[sha256sum] = "2fc91d068faa5613c093335f0e758673ef8c722ad4bfa4aded64c13ae69089eb"
+SRC_URI[md5sum] = "529244aea5d32fb0c2ea46d80ce54abc"
+SRC_URI[sha256sum] = "12dd9c8abbad15f055e9579130035b38617020ce176f4a498b7870e6321ffa67"
RDEPENDS_${PN} += " \
${PYTHON_PN}-shell \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.2.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.3.1.bb
index bf402aa47..bf402aa47 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.2.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.3.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ptyprocess.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ptyprocess.inc
new file mode 100644
index 000000000..43f2d094a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ptyprocess.inc
@@ -0,0 +1,20 @@
+SUMMARY = "Run a subprocess in a pseudo terminal"
+HOMEPAGE = "http://ptyprocess.readthedocs.io/en/latest/"
+SECTION = "devel/python"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=cfdcd51fa7d5808da4e74346ee394490"
+
+SRCNAME = "ptyprocess"
+
+SRC_URI[md5sum] = "d3b8febae1b8c53b054bd818d0bb8665"
+SRC_URI[sha256sum] = "e64193f0047ad603b71f202332ab5527c5e52aa7c8b609704fc28c0dc20c4365"
+
+UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/ptyprocess"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+RDEPENDS_${PN} = "\
+ ${PYTHON_PN}-core \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ptyprocess_0.5.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ptyprocess_0.5.2.bb
new file mode 100644
index 000000000..7ca458771
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ptyprocess_0.5.2.bb
@@ -0,0 +1,2 @@
+require python-ptyprocess.inc
+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
index 4ac502e93..1aef0e7d5 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py.inc
@@ -1,8 +1,9 @@
SUMMARY = "Library with cross-python path, ini-parsing, io, code, log facilities"
+HOMEPAGE = "http://py.readthedocs.io/"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a6bb0320b04a0a503f12f69fea479de9"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b506f3df287708b2f99588b5cc351091"
-SRC_URI[md5sum] = "68ee0b5867282595d0b410a7f3c03ab3"
-SRC_URI[sha256sum] = "c4b89fd1ff1162375115608d01f77c38cca1d0f28f37fd718005e19b28be41a7"
+SRC_URI[md5sum] = "d9c3d8f734b0819ff48e355d77bf1730"
+SRC_URI[sha256sum] = "0f2d585d22050e90c7d293b6451c83db097df77871974d90efd5a30dc12fcde3"
BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.4.32.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.4.34.bb
index 5ad2c1976..5ad2c1976 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.4.32.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.4.34.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc
index 4eb2d9bed..dedb19190 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc
@@ -3,8 +3,8 @@ HOMEPAGE = "http://pyasn1.sourceforge.net/"
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=280606d9c18f200e03e0c247ac61475a"
-SRC_URI[md5sum] = "79f98135071c8dd5c37b6c923c51be45"
-SRC_URI[sha256sum] = "738c4ebd88a718e700ee35c8d129acce2286542daa80a82823a7073644f706ad"
+SRC_URI[md5sum] = "a2d01c561d4996055641bbbb74eda58f"
+SRC_URI[sha256sum] = "f0380ea97db0ede095a0dd87ce3003d46c197191f924206e43f776fc77e51f09"
RDEPENDS_${PN}_class-target += " \
${PYTHON_PN}-codecs \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.2.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.3.6.bb
index 4461918ca..4461918ca 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.2.3.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.3.6.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11.inc
index 6d36d87be..e273a8d25 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11.inc
@@ -1,8 +1,7 @@
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=485d9f8aa1ab513bec0de2f55cd69672"
-PR = "r0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=9b27fac7e937323e3de9ca3a7db38e37"
-SRC_URI[md5sum] = "c96103168e9abceaa6d46f6074dcaf38"
-SRC_URI[sha256sum] = "1b1a4824aad88b1073fe8dbd21683e1e5228f3ed3b29c2785fbf5dea6bf1063c"
+SRC_URI[md5sum] = "f454d8991f47befe56d4126df861fc96"
+SRC_URI[sha256sum] = "a96a924fae6e2721efbf24f47561284fd1ea0b655619a8621c4423036183b824"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11_2.0.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11_2.2.1.bb
index e56743002..e56743002 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11_2.0.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11_2.2.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybluez_0.22.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybluez_0.22.bb
new file mode 100644
index 000000000..eab9c5420
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybluez_0.22.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Bluetooth Python extension module"
+HOMEPAGE = "http://karulis.github.io/pybluez/"
+SECTION = "devel/python"
+
+RDEPENDS_${PN} = "bluez5"
+DEPENDS = "bluez5"
+
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8a71d0475d08eee76d8b6d0c6dbec543"
+
+inherit pypi setuptools
+
+SRC_URI = "https://pypi.python.org/packages/c1/98/3149481d508bee174335be6725880f00d297afebe75c15e917af8f6fe169/PyBluez-0.22.zip"
+SRC_URI[md5sum] = "49dab9d5a8f0b798c8125c7f649be3cd"
+SRC_URI[sha256sum] = "4ce006716a54d9d18e8186a3f1c8b12a8e6befecffe8fd5828a291fb694ce49d"
+
+S = "${WORKDIR}/PyBluez-${PV}"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser.inc
index 4913f42aa..6b054824e 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser.inc
@@ -1,9 +1,10 @@
SUMMARY = "Parser of the C language, written in pure Python"
+HOMEPAGE = "https://github.com/eliben/pycparser"
LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d0cfca7bbc0610f849707d9e4fd82eac"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=86f1cedb4e6410a88ce8e30b91079169"
-SRC_URI[md5sum] = "ca98dcb50bc1276f230118f6af5a40c7"
-SRC_URI[sha256sum] = "0aac31e917c24cb3357f5a4d5566f2cc91a19ca41862f6c3c22dc60a629673b6"
+SRC_URI[md5sum] = "72370da54358202a60130e223d488136"
+SRC_URI[sha256sum] = "99a8ca03e29851d96616ad0404b4aad7d9ee16f25c9f9708a11faf2810f7b226"
BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.17.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.18.bb
index adbc1a8f4..adbc1a8f4 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.17.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.18.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyfirmata.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyfirmata.inc
new file mode 100644
index 000000000..2365379aa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyfirmata.inc
@@ -0,0 +1,13 @@
+SUMMARY = "A Python interface for the Firmata protocol"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=84ddcef430b7c44caa22b2ff4b37a3df"
+PYPI_PACKAGE = "pyFirmata"
+
+RDEPENDS_${PN} = "\
+ ${PYTHON_PN}-pyserial \
+"
+
+SRC_URI[md5sum] = "ee4c23ca5c35d3091d550a63540811a3"
+SRC_URI[sha256sum] = "b54d49d66a9d93c1ef9c72ca01264414cb2de177baac116c12d5cce0c380160c"
+
+inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyfirmata_1.0.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyfirmata_1.0.3.bb
new file mode 100644
index 000000000..d77e0f385
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyfirmata_1.0.3.bb
@@ -0,0 +1,3 @@
+inherit setuptools
+require python-pyfirmata.inc
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint.inc
new file mode 100644
index 000000000..c55bce6f2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint.inc
@@ -0,0 +1,32 @@
+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] = "98a1ee985a3ebc876a20eb7577dbab68"
+SRC_URI[sha256sum] = "1f65b3815c3bf7524b845711d54c4242e4057dd93826586620239ecdfe591fb1"
+
+inherit pypi
+
+DEPENDS += "${PYTHON_PN}-pytest-runner-native"
+
+RDEPENDS_${PN} += "${PYTHON_PN}-astroid \
+ ${PYTHON_PN}-isort \
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-shell \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-pkgutil \
+ ${PYTHON_PN}-difflib \
+ ${PYTHON_PN}-netserver \
+ "
+
+do_install_append(){
+ rm ${D}${bindir}/pylint
+ cat >> ${D}${bindir}/pylint <<EOF
+#!/usr/bin/env ${PYTHON_PN}
+from pylint import run_pylint
+run_pylint()
+EOF
+ chmod 755 ${D}${bindir}/pylint
+ sed -i -e 's:^#!/usr/bin/python:#!/usr/bin/env\ ${PYTHON_PN}:g' ${D}/${PYTHON_SITEPACKAGES_DIR}/pylint/test/data/ascript
+}
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.6.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.6.5.bb
deleted file mode 100644
index f5b4ad052..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.6.5.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-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] = "31da2185bf59142479e4fa16d8a9e347"
-SRC_URI[sha256sum] = "a673984a8dd78e4a8b8cfdee5359a1309d833cf38405008f4a249994a8456719"
-
-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 \
- python-backports-functools-lru-cache \
- python-setuptools \
- python-astroid \
- python-wrapt \
- python-isort \
- python-lazy-object-proxy \
- "
-
-inherit pypi setuptools
-
-do_install_append(){
- rm ${D}${bindir}/pylint
- cat >> ${D}${bindir}/pylint <<EOF
-#!/usr/bin/env python
-from pylint import run_pylint
-run_pylint()
-EOF
- chmod 755 ${D}${bindir}/pylint
-}
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.7.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.7.4.bb
new file mode 100644
index 000000000..7b51d3fbd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.7.4.bb
@@ -0,0 +1,4 @@
+inherit setuptools python-dir
+require python-pylint.inc
+
+RDEPENDS_${PN} += "${PYTHON_PN}-backports-functools-lru-cache"
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 fe25b50d1..21ba7bb7b 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,9 +1,9 @@
DESCRIPTION = "Python API for MISP"
HOMEPAGE = "https://github.com/MISP/PyMISP"
LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=2e1efdc433498cebd33ec277ad8741e5"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a3639cf5780f71b125d3e9d1dc127c20"
-SRC_URI[md5sum] = "5320f41bf96cf22d13af7eb31e1d321f"
-SRC_URI[sha256sum] = "6c7bd97f0ea9c7eb1935902f1bc6fc1ec27eba86056c5b938234a7229891d5a2"
+SRC_URI[md5sum] = "2024babd97ab57ca0360394edc37f2b6"
+SRC_URI[sha256sum] = "7480acada8cba9472a85070c57baad89ae9deed826a7515a4c149ac48920c273"
RDEPENDS_${PN} += " ${PYTHON_PN}-requests ${PYTHON_PN}-json ${PYTHON_PN}-jsonschema"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.67.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.80.bb
index 1b1fbe956..1b1fbe956 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.67.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.80.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 e709a366a..7f199b46b 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,12 +8,20 @@ HOMEPAGE = "http://github.com/mongodb/mongo-python-driver"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=2a944942e1496af1886903d274dedb13"
-SRC_URI[md5sum] = "aa77f88e51e281c9f328cea701bb6f3e"
-SRC_URI[sha256sum] = "d359349c6c9ff9f482805f89e66e476846317dc7b1eea979d7da9c0857ee2721"
+SRC_URI[md5sum] = "35ae53073a25603591e085b18bc5a0ec"
+SRC_URI[sha256sum] = "e820d93414f3bec1fa456c84afbd4af1b43ff41366321619db74e6bc065d6924"
+
+PACKAGES =+ "${PYTHON_PN}-bson"
+
+FILES_${PYTHON_PN}-bson = "${PYTHON_SITEPACKAGES_DIR}/bson/*"
+
+RDEPENDS_${PYTHON_PN}-bson += " \
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-threading \
+"
RDEPENDS_${PN} += " \
- ${PYTHON_PN}-datetime \
- ${PYTHON_PN}-netclient \
- ${PYTHON_PN}-numbers \
- ${PYTHON_PN}-threading \
+ ${PYTHON_PN}-bson \
"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.4.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.5.1.bb
index b1778b2f1..b1778b2f1 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.4.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.5.1.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
index 579ca60c1..1bf8324c8 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl.inc
@@ -1,11 +1,12 @@
SUMMARY = "Simple Python wrapper around the OpenSSL library"
+HOMEPAGE = "https://pyopenssl.org/"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
DEPENDS += "openssl ${PYTHON_PN}-cryptography"
-SRC_URI[md5sum] = "6635503758c65ea6f70d18d1b18e46d5"
-SRC_URI[sha256sum] = "7779a3bbb74e79db234af6a08775568c6769b5821faecf6e2f4143edb227516e"
+SRC_URI[md5sum] = "09dcd307b8d2068f9dd5aaa3a3a88992"
+SRC_URI[sha256sum] = "29630b9064a82e04d8242ea01d7c93d70ec320f5e3ed48e95fcabc6b1d0f6c76"
PYPI_PACKAGE = "pyOpenSSL"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_16.2.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_17.3.0.bb
index b7d514613..b7d514613 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_16.2.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_17.3.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing.inc
index 033e0dbc0..19f6d55f9 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing.inc
@@ -17,3 +17,5 @@ RDEPENDS_${PN} += " \
${PYTHON_PN}-stringold \
${PYTHON_PN}-threading \
"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2.inc
new file mode 100644
index 000000000..da1d4cd9b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2.inc
@@ -0,0 +1,26 @@
+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"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/python-pyroute2:"
+
+inherit pypi
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-distutils \
+ ${PYTHON_PN}-simplejson \
+ ${PYTHON_PN}-multiprocessing \
+ ${PYTHON_PN}-io ${PYTHON_PN}-pprint \
+ ${PYTHON_PN}-pickle \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-threading \
+ ${PYTHON_PN}-textutils \
+ ${PYTHON_PN}-subprocess \
+ ${PYTHON_PN}-netclient \
+"
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
index 79d3bdd18..7b9c8e044 100644
--- 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
@@ -1,24 +1,2 @@
-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 \
-"
+require python-pyroute2.inc
+inherit setuptools
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 2508e76c0..99c6fc42c 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
@@ -13,8 +13,8 @@ RDEPENDS_${PN} = "\
${PYTHON_PN}-threading \
"
-RSRC_URI[md5sum] = "6afe4c2e47bcec6eb7051b8c1ce19d52"
-SRC_URI[sha256sum] = "2949cddffc2b05683065a3cd2345114b1a49b08df8cb843d69ba99dc3e19edc2"
+SRC_URI[md5sum] = "ed6183b15519a0ae96675e9c3330c69b"
+SRC_URI[sha256sum] = "6e2d401fdee0eab996cf734e67773a0143b932772ca8b42451440cfed942c627"
inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial_3.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial_3.4.bb
index 91a0f26ac..91a0f26ac 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial_3.3.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial_3.4.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
index 5aec6fc4e..cf9509a55 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks.inc
@@ -3,8 +3,8 @@ HOMEPAGE = "http://python-requests.org"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=1d457bcffb9661b45f799d4efee72f16"
-SRC_URI[md5sum] = "571f4c23982fa86bf0e7a441f1b6c881"
-SRC_URI[sha256sum] = "02419a225ff5dcfc3c9695ef8fc9b4d8cc99658e650c6d4718d4c8f451e63f41"
+SRC_URI[md5sum] = "07007ec7ed46292dab06013f2e3af365"
+SRC_URI[sha256sum] = "d00329f27efa157db7efe3ca26fcd69033cd61f83822461ee3f8a353b48e33cf"
PYPI_PACKAGE = "PySocks"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.6.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.6.7.bb
index 8a24e4c49..8a24e4c49 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.6.6.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.6.7.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner.inc
index 85a8de1f5..c173a183e 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner.inc
@@ -2,9 +2,8 @@ SUMMARY = "Invoke py.test as distutils command with dependency resolution"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e38b971c2b4c33b978d1b9c9ece9ae63"
-SRC_URI[md5sum] = "bdb73eb18eca2727944a2dcf963c5a81"
-SRC_URI[sha256sum] = "983a31eab45e375240e250161a556163bc8d250edaba97960909338c273a89b3"
-
+SRC_URI[md5sum] = "a8dd57c80cde37a587dd8c37740c1ab1"
+SRC_URI[sha256sum] = "5c9093e7a18780409d9a389f20366f2fd39acfb1db61545fdb2e90cdbd0bcae4"
inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_2.11.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_2.12.1.bb
index 0a5055cb3..0a5055cb3 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_2.11.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_2.12.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest.inc
index c9c9bbf9c..6140250ca 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest.inc
@@ -1,9 +1,13 @@
SUMMARY = "Simple powerful teting with python"
+HOMEPAGE = "http://pytest.org"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d8a5609608d9a5a180705b0fa298ae01"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c39b24965f4aef64222cb35de9d47cc4"
-SRC_URI[md5sum] = "6639592fa430567d024189f097fcdbd7"
-SRC_URI[sha256sum] = "643434a9f1a188271da35e20064cb8b6c5440976c5bb541dc7b5b0e3cf75d940"
+SRC_URI[md5sum] = "401c005bd57f71e63ba015ab086fe67d"
+SRC_URI[sha256sum] = "f46e49e0340a532764991c498244a60e3a37d7424a532b3ff1a6a7653f1a403a"
+
+SRC_URI_append = " file://0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch \
+ file://pytest_version_fix.patch "
RDEPENDS_${PN}_class-target += " \
${PYTHON_PN}-argparse \
@@ -13,4 +17,6 @@ RDEPENDS_${PN}_class-target += " \
${PYTHON_PN}-setuptools \
"
+FILESEXTRAPATHS_prepend := "${THISDIR}/python-pytest:"
+
BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch
new file mode 100644
index 000000000..e283b17c4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch
@@ -0,0 +1,29 @@
+From e2d81009c790b4ebeced8408b6bae78060cabcaf Mon Sep 17 00:00:00 2001
+From: Derek Straka <derek@asterius.io>
+Date: Wed, 5 Jul 2017 09:35:51 -0400
+Subject: [PATCH 1/1] setup.py: remove the setup_requires for setuptools-scm
+
+The setup_requires argument forces the download of the egg file for setuptools-scm
+during the do_compile phase. This download is incompatible with the typical fetch
+and mirror structure. The only usage of scm is the generation of the _version.py
+file and in the release tarball it is already correctly created
+
+Signed-off-by: Derek Straka <derek@asterius.io>
+---
+ setup.py | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index 751868c..ef6ebf1 100644
+--- a/setup.py
++++ b/setup.py
+@@ -71,7 +71,6 @@ def main():
+ keywords="test unittest",
+ cmdclass={'test': PyTest},
+ # the following should be enabled for release
+- setup_requires=['setuptools-scm'],
+ install_requires=install_requires,
+ extras_require=extras_require,
+ packages=['_pytest', '_pytest.assertion', '_pytest._code', '_pytest.vendored_packages'],
+--
+2.7.4
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest/pytest_version_fix.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest/pytest_version_fix.patch
new file mode 100644
index 000000000..908f862b5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest/pytest_version_fix.patch
@@ -0,0 +1,51 @@
+Upstream-Status: Inappropriate (OE specific)
+
+python-pytest: remove fetch during do_compile phase
+commit: c974fbf9ebf185552ab65301e07af44f36517abf
+
+introduced an issue by making the version 0.0.0
+this fixes that
+
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+
+Index: pytest-3.2.2/setup.py
+===================================================================
+--- pytest-3.2.2.orig/setup.py
++++ pytest-3.2.2/setup.py
+@@ -1,5 +1,6 @@
+ import os
+ import sys
++import re
+ import setuptools
+ import pkg_resources
+ from setuptools import setup, Command
+@@ -22,6 +23,18 @@ classifiers = [
+ with open('README.rst') as fd:
+ long_description = fd.read()
+
++def read(*names, **kwargs):
++ with open(os.path.join( *names), 'r') as fp:
++ return fp.read()
++
++def find_version(*file_paths):
++ version_file = read(*file_paths)
++ version_match = re.search(r"^version = ['\']([^'\"]*)['\']",
++ version_file, re.M)
++
++ if version_match:
++ return version_match.group(1)
++ raise RuntimeError("Unable to find version string.")
+
+ def has_environment_marker_support():
+ """
+@@ -59,9 +72,7 @@ def main():
+ name='pytest',
+ description='pytest: simple powerful testing with Python',
+ long_description=long_description,
+- use_scm_version={
+- 'write_to': '_pytest/_version.py',
+- },
++ version=find_version("_pytest", "_version.py"),
+ url='http://pytest.org',
+ license='MIT license',
+ platforms=['unix', 'linux', 'osx', 'cygwin', 'win32'],
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.0.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.2.2.bb
index d322f09b2..d322f09b2 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.0.6.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.2.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev.inc
new file mode 100644
index 000000000..ab4c5fd7d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev.inc
@@ -0,0 +1,19 @@
+SUMMARY = "A libudev binding"
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
+
+SRC_URI[md5sum] = "cf4d9db7d772622144ca1be6b5d9353b"
+SRC_URI[sha256sum] = "094b7a100150114748aaa3b70663485dd360457a709bfaaafe5a977371033f2b"
+
+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_PN}-ctypes \
+ ${PYTHON_PN}-misc \
+ ${PYTHON_PN}-six \
+ ${PYTHON_PN}-subprocess \
+ ${PYTHON_PN}-threading \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.21.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.21.0.bb
index b0a1acb48..32573b7a0 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.21.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.21.0.bb
@@ -1,22 +1,8 @@
-SUMMARY = "A libudev binding"
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
-
-SRC_URI[md5sum] = "cf4d9db7d772622144ca1be6b5d9353b"
-SRC_URI[sha256sum] = "094b7a100150114748aaa3b70663485dd360457a709bfaaafe5a977371033f2b"
-
-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
-}
+require python-pyudev.inc
RDEPENDS_${PN} = "\
${PYTHON_PN}-contextlib \
- ${PYTHON_PN}-ctypes \
- ${PYTHON_PN}-misc \
- ${PYTHON_PN}-six \
- ${PYTHON_PN}-subprocess \
- ${PYTHON_PN}-threading \
"
+
+inherit pypi setuptools
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb.inc
new file mode 100644
index 000000000..af2010964
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb.inc
@@ -0,0 +1,10 @@
+SUMMARY = "PyUSB provides USB access on the Python language"
+HOMEPAGE = "http://pyusb.sourceforge.net/"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=50d46bda6248a0b4a46a6d59a66ee08e"
+DEPENDS += "libusb1"
+
+SRC_URI[md5sum] = "bc12e83ff3ef1045d4306d13a9955fc1"
+SRC_URI[sha256sum] = "14ec66077bdcd6f1aa9e892a0a35a54bb3c1ec56aa740ead64349c18f0186d19"
+
+inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb_1.0.0b2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb_1.0.0b2.bb
index d279abc40..bb73d9f78 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb_1.0.0b2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb_1.0.0b2.bb
@@ -1,10 +1,2 @@
-SUMMARY = "PyUSB provides USB access on the Python language"
-HOMEPAGE = "http://pyusb.sourceforge.net/"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=50d46bda6248a0b4a46a6d59a66ee08e"
-DEPENDS = "libusb1"
-
-SRC_URI[md5sum] = "bc12e83ff3ef1045d4306d13a9955fc1"
-SRC_URI[sha256sum] = "14ec66077bdcd6f1aa9e892a0a35a54bb3c1ec56aa740ead64349c18f0186d19"
-
-inherit pypi distutils
+inherit distutils
+require python-pyusb.inc
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 17ff231a0..571bb084a 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
@@ -4,5 +4,5 @@ HOMEPAGE = "http://github.com/andymccurdy/redis-py"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=51d9ad56299ab60ba7be65a621004f27"
-SRC_URI[md5sum] = "3b26c2b9703b4b56b30a1ad508e31083"
-SRC_URI[sha256sum] = "5dfbae6acfc54edf0a7a415b99e0b21c0a3c27a7f787b292eea727b1facc5533"
+SRC_URI[md5sum] = "048348d8cfe0b5d0bba2f4d835005c3b"
+SRC_URI[sha256sum] = "a22ca993cea2962dbb588f9f30d0015ac4afcc45bee27d3978c0dbe9e97c6c0f"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-redis_2.10.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-redis_2.10.6.bb
index 6c3ca8516..6c3ca8516 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-redis_2.10.5.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-redis_2.10.6.bb
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 b66f66e11..5d6dca5d3 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,10 +1,12 @@
DESCRIPTION = "Python HTTP for Humans."
HOMEPAGE = "http://python-requests.org"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d9bb3515869c0f426cb8441c899ae7f5"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=979d6a23b143e13ea0e5e3aa81248820"
-SRC_URI[md5sum] = "921ec6b48f2ddafc8bb6160957baf444"
-SRC_URI[sha256sum] = "5722cd09762faa01276230270ff16af7acf7c5c45d623868d9ba116f15791ce8"
+SRC_URI[md5sum] = "081412b2ef79bdc48229891af13f4d82"
+SRC_URI[sha256sum] = "9c443e7324ba5b85070c4a818ade28bfabedf16ea10206da1132edaa6dda237e"
+
+inherit pypi
RDEPENDS_${PN} += " \
${PYTHON_PN}-email \
@@ -15,6 +17,8 @@ RDEPENDS_${PN} += " \
${PYTHON_PN}-pyopenssl \
${PYTHON_PN}-pysocks \
${PYTHON_PN}-urllib3 \
+ ${PYTHON_PN}-chardet \
+ ${PYTHON_PN}-idna \
"
BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.13.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.13.0.bb
deleted file mode 100644
index 627bc95d8..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.13.0.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-inherit pypi setuptools
-require python-requests.inc
-
-RDEPENDS_${PN} += "${PYTHON_PN}-zlib"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.18.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.18.4.bb
new file mode 100644
index 000000000..0d7a29f74
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.18.4.bb
@@ -0,0 +1,4 @@
+inherit setuptools
+require python-requests.inc
+
+RDEPENDS_${PN} += "${PYTHON_PN}-zlib"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sdnotify.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sdnotify.inc
new file mode 100644
index 000000000..ea0e575c4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sdnotify.inc
@@ -0,0 +1,16 @@
+HOMEPAGE = "https://github.com/bb4242/sdnotify"
+SUMMARY = "A pure Python implementation of systemd's service notification protocol (sd_notify)"
+
+DESCRIPTION = "\
+ sdnotify is a pure Python implementation of the systemd sd_notify protocol. \
+ This protocol can be used to inform systemd about service start-up completion, \
+ watchdog events, and other service status changes. \
+ Thus, this package can be used to write system services in Python that play nicely with systemd. \
+ "
+
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cc572ccc4b18a4b7d13be5d01bc8213e"
+
+SRC_URI[md5sum] = "749ddca1c70be1697fecc443fb1fdb16"
+SRC_URI[sha256sum] = "73977fc746b36cc41184dd43c3fe81323e7b8b06c2bb0826c4f59a20c56bb9f1"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sdnotify_0.3.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sdnotify_0.3.2.bb
new file mode 100644
index 000000000..39ae3fb0b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sdnotify_0.3.2.bb
@@ -0,0 +1,2 @@
+inherit setuptools pypi
+require python-sdnotify.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-selectors34_1.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-selectors34_1.1.bb
deleted file mode 100644
index 198241828..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-selectors34_1.1.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "Backport of the selectors module from Python 3.4"
-LICENSE = "PSF"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=1cfbbf590d8d5b7fe937516217b778b3"
-
-SRC_URI[md5sum] = "403194b10f35a5258e0642712fdd3753"
-SRC_URI[sha256sum] = "84b3743b9046461aebbcd13c15e79ab91e79acfb6e030b54a0ec6360ae0bbc52"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-six \
- "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-selectors34_1.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-selectors34_1.2.bb
new file mode 100644
index 000000000..69545ebbb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-selectors34_1.2.bb
@@ -0,0 +1,12 @@
+SUMMARY = "Backport of the selectors module from Python 3.4"
+LICENSE = "PSF"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=2fae0222c31d6c10488d4ab93a863af7"
+
+SRC_URI[md5sum] = "bc855a1c8839a811476c019dc07d92dd"
+SRC_URI[sha256sum] = "09f5066337f8a76fb5233f267873f89a27a17c10bf79575954894bb71686451c"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-six \
+ "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-serpent.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-serpent.inc
index 0b1aa91f3..6454ee0f3 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-serpent.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-serpent.inc
@@ -1,9 +1,9 @@
SUMMARY = "Serialization based on ast.literal_eval"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=3773e39c491bb1f9ccc98389d57169d7"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=9f611d4c9e2816d387bab64c40d93294"
-SRC_URI[md5sum] = "cdef596f727cb6b4176c89769d2d41ee"
-SRC_URI[sha256sum] = "946b2c837f889971df3575af9dadd8f09bfe48549ebc1b9f6434263b653707ce"
+SRC_URI[md5sum] = "d9d6afa51f2560cf5933dcdfd947011d"
+SRC_URI[sha256sum] = "8480ce3d8864b8974d9fe396998c6a7dae96edb68edf905bfd32ea9a11853ba5"
inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-serpent_1.19.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-serpent_1.23.bb
index 0db3cf98a..0db3cf98a 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-serpent_1.19.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-serpent_1.23.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm.inc
index 324987093..81bbf3385 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm.inc
@@ -2,8 +2,8 @@ SUMMARY = "the blessed package to manage your versions by scm tags"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=838c366f69b72c5df05c96dff79b35f2"
-SRC_URI[md5sum] = "b6916c78ed6253d6602444fad4279c5b"
-SRC_URI[sha256sum] = "daf12d05aa2155a46aa357453757ffdc47d87f839e62114f042bceac6a619e2f"
+SRC_URI[md5sum] = "f17493d53f0d842bb0152f214775640b"
+SRC_URI[sha256sum] = "49ab4685589986a42da85706b3311a2f74f1af567d39fee6cb1e088d7a75fb5f"
PYPI_PACKAGE = "setuptools_scm"
inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_1.15.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_1.15.6.bb
index 5f9bb0b5c..5f9bb0b5c 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_1.15.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_1.15.6.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson.inc
index 2eed19965..13c04568f 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson.inc
@@ -4,8 +4,8 @@ HOMEPAGE = "http://cheeseshop.python.org/pypi/simplejson"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c6338d7abd321c0b50a2a547e441c52e"
-SRC_URI[md5sum] = "426a9631d22851a7a970b1a677368b15"
-SRC_URI[sha256sum] = "953be622e88323c6f43fad61ffd05bebe73b9fd9863a46d68b052d2aa7d71ce2"
+SRC_URI[md5sum] = "6e2f1bd5fb0a926facf5d89d217a7183"
+SRC_URI[sha256sum] = "01a22d49ddd9a168b136f26cac87d9a335660ce07aa5c630b8e3607d6f4325e7"
inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.10.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.11.1.bb
index e33edfeba..e33edfeba 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.10.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.11.1.bb
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
new file mode 100644
index 000000000..a5915c116
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-six.inc
@@ -0,0 +1,19 @@
+SUMMARY = "Python 2 and 3 compatibility library"
+HOMEPAGE = "http://pypi.python.org/pypi/six/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=35cec5bf04dd0820d0a18533ea7c774a"
+
+SRC_URI[md5sum] = "d12789f9baf7e9fb2524c0c64f1773f8"
+SRC_URI[sha256sum] = "70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9"
+
+do_compile_append() {
+ ${PYTHON} setup.py -q bdist_egg --dist-dir ./
+}
+do_install_append() {
+ install -m 0644 ${S}/*.egg ${D}/${PYTHON_SITEPACKAGES_DIR}/
+}
+
+RDEPENDS_${PN} += "${PYTHON_PN}-io"
+
+BBCLASSEXTEND = "native nativesdk"
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-six_1.11.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-six_1.11.0.bb
new file mode 100644
index 000000000..9075745d7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-six_1.11.0.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-six.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy.inc
index 07e70d72b..cc8e82f12 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy.inc
@@ -7,8 +7,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=452f4b8adb0feba42e5be5f1fbfbf538"
PYPI_PACKAGE = "SQLAlchemy"
inherit pypi
-SRC_URI[md5sum] = "938b1e5ca2372c3ec9a586996a3b5653"
-SRC_URI[sha256sum] = "b65cdc73cd348448ef0164f6c77d45a9f27ca575d3c5d71ccc33adf684bc6ef0"
+SRC_URI[md5sum] = "b32669d53e903b3512065026552f3bff"
+SRC_URI[sha256sum] = "f1191e29e35b6fe1aef7175a09b1707ebb7bd08d0b17cb0feada76c49e5a2d1e"
RDEPENDS_${PN} += " \
${PYTHON_PN}-json \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_1.1.9.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_1.1.14.bb
index 53c8fecf7..53c8fecf7 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_1.1.9.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_1.1.14.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-subprocess32_3.2.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-subprocess32_3.2.7.bb
new file mode 100644
index 000000000..f43706923
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-subprocess32_3.2.7.bb
@@ -0,0 +1,15 @@
+SUMMARY = "A backport of the subprocess module from Python 3.2 for use on 2.x"
+DESCRIPTION = "This is a backport of the subprocess standard library module \
+from Python 3.2 - 3.5 for use on Python 2. It includes bugfixes and some new \
+features. On POSIX systems it is guaranteed to be reliable when used in \
+threaded applications. It includes timeout support from Python 3.3 and the \
+run() API from 3.5 but otherwise matches 3.2's API."
+LICENSE = "Python-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d3e62baa8fb96b11a59d3f2cd335d5c0"
+
+SRC_URI[md5sum] = "824c801e479d3e916879aae3e9c15e16"
+SRC_URI[sha256sum] = "1e450a4a4c53bf197ad6402c564b9f7a53539385918ef8f12bdf430a61036590"
+
+inherit pypi setuptools
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado.inc
index 9b1cf4128..2c586556d 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado.inc
@@ -6,8 +6,8 @@ HOMEPAGE = "http://www.tornadoweb.org/en/stable/"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://setup.py;startline=2;endline=15;md5=5ab7571a79ad62d0ca7aea308bac7560"
-SRC_URI[md5sum] = "b4816ea209118667ffc52ce9ff06ac85"
-SRC_URI[sha256sum] = "2898f992f898cd41eeb8d53b6df75495f2f423b6672890aadaf196ea1448edcc"
+SRC_URI[md5sum] = "ab41f6765d58089f30ba51e8ec084a7b"
+SRC_URI[sha256sum] = "1fb8e494cd46c674d86fac5885a3ff87b0e283937a47d74eb3c02a48c9e89ad0"
RDEPENDS_${PN} += "${PYTHON_PN}-compression ${PYTHON_PN}-numbers ${PYTHON_PN}-email ${PYTHON_PN}-subprocess \
${PYTHON_PN}-pkgutil ${PYTHON_PN}-html ${PYTHON_PN}-json ${PYTHON_PN}-certifi ${PYTHON_PN}-threading"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_4.4.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_4.5.2.bb
index 5d1147556..5d1147556 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_4.4.2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_4.5.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc
new file mode 100644
index 000000000..0dd584f9f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc
@@ -0,0 +1,243 @@
+DESCRIPTION = "Twisted is an event-driven networking framework written in Python and licensed under the LGPL. \
+Twisted supports TCP, UDP, SSL/TLS, multicast, Unix sockets, a large number of protocols \
+(including HTTP, NNTP, IMAP, SSH, IRC, FTP, and others), and much more."
+HOMEPAGE = "http://www.twistedmatrix.com"
+
+#twisted/topfiles/NEWS:655: - Relicensed: Now under the MIT license, rather than LGPL.
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8a9c2fbfcba7d70504e3ba545e1820ed"
+
+SRC_URI[md5sum] = "6dbedb918f0c7288a4c670f59393ecf8"
+SRC_URI[sha256sum] = "0da1a7e35d5fcae37bc9c7978970b5feb3bc82822155b8654ec63925c05af75c"
+
+PYPI_PACKAGE = "Twisted"
+PYPI_PACKAGE_EXT = "tar.bz2"
+
+do_install_append() {
+ # remove some useless files before packaging
+ find ${D} \( -name "*.bat" -o -name "*.c" -o -name "*.h" \) -exec rm -f {} \;
+}
+
+PACKAGES += "\
+ ${PN}-zsh \
+ ${PN}-test \
+ ${PN}-protocols \
+ ${PN}-conch \
+ ${PN}-mail \
+ ${PN}-names \
+ ${PN}-news \
+ ${PN}-runner \
+ ${PN}-web \
+ ${PN}-words \
+ ${PN}-flow \
+ ${PN}-pair \
+ ${PN}-core \
+"
+
+PACKAGES =+ "\
+ ${PN}-src \
+ ${PN}-bin \
+"
+
+RDEPENDS_${PN} = "\
+ ${PN}-bin \
+ ${PN}-core \
+ ${PN}-conch \
+ ${PN}-mail \
+ ${PN}-names \
+ ${PN}-runner \
+ ${PN}-web \
+ ${PN}-words \
+"
+
+RDEPENDS_${PN}-core = "${PYTHON_PN}-core ${PYTHON_PN}-zopeinterface ${PYTHON_PN}-incremental ${PYTHON_PN}-constantly ${PYTHON_PN}-hyperlink ${PYTHON_PN}-automat"
+RDEPENDS_${PN}-test = "${PN}"
+RDEPENDS_${PN}-conch = "${PN}-core ${PN}-protocols"
+RDEPENDS_${PN}-mail = "${PN}-core ${PN}-protocols"
+RDEPENDS_${PN}-names = "${PN}-core"
+RDEPENDS_${PN}-news = "${PN}-core ${PN}-protocols"
+RDEPENDS_${PN}-runner = "${PN}-core ${PN}-protocols"
+RDEPENDS_${PN}-web += "${PN}-core ${PN}-protocols"
+RDEPENDS_${PN}-words += "${PN}-core"
+RDEPENDS_${PN}-flow += "${PN}-core"
+RDEPENDS_${PN}-pair += "${PN}-core"
+RDEPENDS_${PN}-dbg = "${PN}"
+
+ALLOW_EMPTY_${PN} = "1"
+FILES_${PN} = ""
+
+FILES_${PN}-test = " \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/test \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/*/test \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/haproxy/test/ \
+"
+
+FILES_${PN}-protocols = " \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/*.py* \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/gps/ \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/mice/ \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/haproxy \
+"
+
+FILES_${PN}-zsh = " \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zsh \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zshcomp.* \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/twisted-completion.zsh \
+"
+
+FILES_${PN}-conch = " \
+ ${bindir}/ckeygen \
+ ${bindir}/tkconch \
+ ${bindir}/conch \
+ ${bindir}/conchftp \
+ ${bindir}/cftp \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_conch.py* \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/conch \
+"
+
+FILES_${PN}-core = " \
+${bindir}/manhole \
+${bindir}/mktap \
+${bindir}/twistd \
+${bindir}/tap2deb \
+${bindir}/tap2rpm \
+${bindir}/tapconvert \
+${bindir}/tkmktap \
+${bindir}/trial \
+${bindir}/easy_install* \
+${bindir}/pyhtmlizer \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/*.so \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/*.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__init__.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/notestplugin.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/testplugin.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_ftp.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_inet.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_manhole.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_portforward.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_socks.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_telnet.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_trial.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/dropin.cache \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/application \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/cred \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/enterprise \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/internet \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/manhole \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/manhole \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/persisted \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols\
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python\
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/timeoutqueue.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/filepath.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/dxprofile.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/plugin.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/htmlizer.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/__init__.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/dispatch.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/hook.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/threadpool.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/otp.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/usage.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/roots.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/versions.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/urlpath.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/util.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/components.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/logfile.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/runtime.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/reflect.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/context.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/threadable.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/rebuild.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/failure.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/lockfile.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/formmethod.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/finalize.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/win32.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/dist.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/shortcut.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zipstream.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/release.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/syslog.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/log.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/compat.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zshcomp.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/procutils.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/text.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/_twisted_zsh_stub \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/scripts/ \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/spread/ \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/tap/ \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/trial/ \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/__init__.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/_version.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/copyright.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/im.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/*.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/python/*.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/*.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/topfiles \
+${libdir}/${PYTHON_DIR}/site-packages/Twisted*egg-info \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/logger/ \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/_threads/ \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/positioning/ \
+"
+
+FILES_${PN}-mail = " \
+${bindir}/mailmail \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_mail.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/mail \
+"
+
+FILES_${PN}-names = " \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_names.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/names \
+"
+
+FILES_${PN}-news = " \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_news.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/news \
+"
+
+FILES_${PN}-runner = " \
+${libdir}/site-packages/twisted/runner/portmap.so \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/runner\
+"
+
+FILES_${PN}-web = " \
+${bindir}/websetroot \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_web.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/web\
+"
+
+FILES_${PN}-words = " \
+${bindir}/im \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_words.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/words\
+"
+
+FILES_${PN}-flow = " \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_flow.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/flow \"
+
+FILES_${PN}-pair = " \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_pair.py* \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/pair \
+"
+
+FILES_${PN}-dbg += " \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/*/.debug \
+${libdir}/${PYTHON_DIR}/site-packages/twisted/*/*/.debug \
+"
+
+FILES_${PN}-doc += " \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/_pydoctortemplates/ \
+"
+
+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 \
+"
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
deleted file mode 100644
index 071106ee3..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_13.2.0.bb
+++ /dev/null
@@ -1,245 +0,0 @@
-DESCRIPTION = "Twisted is an event-driven networking framework written in Python and licensed under the LGPL. \
-Twisted supports TCP, UDP, SSL/TLS, multicast, Unix sockets, a large number of protocols \
-(including HTTP, NNTP, IMAP, SSH, IRC, FTP, and others), and much more."
-HOMEPAGE = "http://www.twistedmatrix.com"
-
-#twisted/topfiles/NEWS:655: - Relicensed: Now under the MIT license, rather than LGPL.
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5602d7228daf59a16f0f1b2640c46bca"
-
-SRC_URI[md5sum] = "83fe6c0c911cc1602dbffb036be0ba79"
-SRC_URI[sha256sum] = "095175638c019ac7c0604f4c291724a16ff1acd062e181b01293bf4dcbc62cf3"
-
-PYPI_PACKAGE = "Twisted"
-PYPI_PACKAGE_EXT = "tar.bz2"
-inherit pypi setuptools
-
-do_install_append() {
- # remove some useless files before packaging
- find ${D} \( -name "*.bat" -o -name "*.c" -o -name "*.h" \) -exec rm -f {} \;
-}
-
-PACKAGES += "\
- ${PN}-zsh \
- ${PN}-test \
- ${PN}-protocols \
- ${PN}-conch \
- ${PN}-lore \
- ${PN}-mail \
- ${PN}-names \
- ${PN}-news \
- ${PN}-runner \
- ${PN}-web \
- ${PN}-words \
- ${PN}-flow \
- ${PN}-pair \
- ${PN}-core \
-"
-
-PACKAGES =+ "\
- ${PN}-src \
- ${PN}-bin \
-"
-
-RDEPENDS_${PN} = "\
- ${PN}-bin \
- ${PN}-conch \
- ${PN}-lore \
- ${PN}-mail \
- ${PN}-names \
- ${PN}-news \
- ${PN}-runner \
- ${PN}-web \
- ${PN}-words \
-"
-
-RDEPENDS_${PN}-core = "python-core python-zopeinterface python-contextlib"
-RDEPENDS_${PN}-test = "${PN}"
-RDEPENDS_${PN}-conch = "${PN}-core ${PN}-protocols"
-RDEPENDS_${PN}-lore = "${PN}-core"
-RDEPENDS_${PN}-mail = "${PN}-core ${PN}-protocols"
-RDEPENDS_${PN}-names = "${PN}-core"
-RDEPENDS_${PN}-news = "${PN}-core ${PN}-protocols"
-RDEPENDS_${PN}-runner = "${PN}-core ${PN}-protocols"
-RDEPENDS_${PN}-web += "${PN}-core ${PN}-protocols"
-RDEPENDS_${PN}-words += "${PN}-core"
-RDEPENDS_${PN}-flow += "${PN}-core"
-RDEPENDS_${PN}-pair += "${PN}-core"
-RDEPENDS_${PN}-dbg = "${PN}"
-
-ALLOW_EMPTY_${PN} = "1"
-FILES_${PN} = ""
-
-FILES_${PN}-test = " \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/test \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/*/test \
-"
-
-FILES_${PN}-protocols = " \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/*.py* \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/gps/ \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/mice/ \
-"
-
-FILES_${PN}-zsh = " \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zsh \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zshcomp.* \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/twisted-completion.zsh \
-"
-
-FILES_${PN}-conch = " \
- ${bindir}/ckeygen \
- ${bindir}/tkconch \
- ${bindir}/conch \
- ${bindir}/conchftp \
- ${bindir}/cftp \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_conch.py* \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/conch \
-"
-
-FILES_${PN}-core = " \
-${bindir}/manhole \
-${bindir}/mktap \
-${bindir}/twistd \
-${bindir}/tap2deb \
-${bindir}/tap2rpm \
-${bindir}/tapconvert \
-${bindir}/tkmktap \
-${bindir}/trial \
-${bindir}/easy_install* \
-${bindir}/pyhtmlizer \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/*.so \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/*.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__init__.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/notestplugin.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/testplugin.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_ftp.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_inet.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_manhole.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_portforward.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_socks.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_telnet.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_trial.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/dropin.cache \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/application \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/cred \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/enterprise \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/internet \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/manhole \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/manhole \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/persisted \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols\
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python\
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/timeoutqueue.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/filepath.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/dxprofile.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/plugin.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/htmlizer.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/__init__.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/dispatch.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/hook.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/threadpool.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/otp.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/usage.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/roots.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/versions.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/urlpath.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/util.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/components.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/logfile.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/runtime.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/reflect.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/context.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/threadable.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/rebuild.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/failure.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/lockfile.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/formmethod.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/finalize.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/win32.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/dist.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/shortcut.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zipstream.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/release.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/syslog.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/log.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/compat.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zshcomp.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/procutils.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/text.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/_twisted_zsh_stub \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/scripts/ \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/spread/ \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/tap/ \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/trial/ \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/__init__.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/_version.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/copyright.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/im.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/*.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/python/*.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/*.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/topfiles \
-${libdir}/${PYTHON_DIR}/site-packages/Twisted*egg-info \
-"
-
-FILES_${PN}-lore = " \
-${bindir}/bookify \
-${bindir}/lore \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_lore.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/lore \
-"
-
-FILES_${PN}-mail = " \
-${bindir}/mailmail \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_mail.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/mail \
-"
-
-FILES_${PN}-names = " \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_names.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/names \
-"
-
-FILES_${PN}-news = " \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_news.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/news \
-"
-
-FILES_${PN}-runner = " \
-${libdir}/site-packages/twisted/runner/portmap.so \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/runner\
-"
-
-FILES_${PN}-web = " \
-${bindir}/websetroot \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_web.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/web\
-"
-
-FILES_${PN}-words = " \
-${bindir}/im \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_words.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/words\
-"
-
-FILES_${PN}-flow = " \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_flow.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/flow \"
-
-FILES_${PN}-pair = " \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_pair.py* \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/pair \
-"
-
-FILES_${PN}-dbg += " \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/*/.debug \
-${libdir}/${PYTHON_DIR}/site-packages/twisted/*/*/.debug \
-"
-
-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 \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_17.9.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_17.9.0.bb
new file mode 100644
index 000000000..7fc8c65e5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_17.9.0.bb
@@ -0,0 +1,10 @@
+inherit pypi setuptools
+require python-twisted.inc
+
+RDEPENDS_${PN}-core += "${PYTHON_PN}-contextlib"
+
+# Not yet ported to py3 yet available in py2
+# See src/twisted/python/_setup.py -- notPortedModules
+RDEPENDS_${PN} += "\
+ ${PN}-news \
+ "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-typing.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-typing.inc
index 49da4feb1..46be47c9f 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-typing.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-typing.inc
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/python/typing"
LICENSE = "PSF"
LIC_FILES_CHKSUM = "file://LICENSE;md5=64fc2b30b67d0a8423c250e0386ed72f"
-SRC_URI[md5sum] = "3996a747158e5591abf689c1c5f8f9db"
-SRC_URI[sha256sum] = "ca2daac7e393e8ee86e9140cd0cf0172ff6bb50ebdf0b06281770f98f31bff21"
+SRC_URI[md5sum] = "143af0bf3afd1887622771f2f1ffe8e1"
+SRC_URI[sha256sum] = "d514bd84b284dd3e844f0305ac07511f097e325171f6cc4a20878d11ad771849"
BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-typing_3.5.3.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-typing_3.6.2.bb
index 04ce063c9..04ce063c9 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-typing_3.5.3.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-typing_3.6.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ujson.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ujson.inc
new file mode 100644
index 000000000..9654d5ad3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ujson.inc
@@ -0,0 +1,15 @@
+SUMMARY = "Ultra fast JSON encoder and decoder for Python"
+DESCRIPTION = "UltraJSON is an ultra fast JSON encoder and decoder written in pure C with bindings for Python 2.5+ and 3."
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://PKG-INFO;startline=8;endline=9;md5=4f369b3c3c290b4aede8796a4065e5ab"
+
+SRC_URI[md5sum] = "42f77b0cce686dfa4da2e68480b1dd24"
+SRC_URI[sha256sum] = "f66073e5506e91d204ab0c614a148d5aa938bdbf104751be66f8ad7a222f5f86"
+
+inherit pypi
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-numbers \
+ "
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 238dc9286..b3c6ae66f 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
@@ -1,15 +1,2 @@
-SUMMARY = "Ultra fast JSON encoder and decoder for Python"
-DESCRIPTION = "UltraJSON is an ultra fast JSON encoder and decoder written in pure C with bindings for Python 2.5+ and 3."
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://PKG-INFO;startline=8;endline=9;md5=4f369b3c3c290b4aede8796a4065e5ab"
-
-SRC_URI[md5sum] = "42f77b0cce686dfa4da2e68480b1dd24"
-SRC_URI[sha256sum] = "f66073e5506e91d204ab0c614a148d5aa938bdbf104751be66f8ad7a222f5f86"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-datetime \
- ${PYTHON_PN}-numbers \
- "
+inherit setuptools
+require python-ujson.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff.inc
new file mode 100644
index 000000000..040255091
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff.inc
@@ -0,0 +1,9 @@
+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] = "c8099edf89d2e3bac16123766625a38b"
+SRC_URI[sha256sum] = "a7baf71846a68c5305a7d6005dfb5eca8798f13861176355a285cbda3206824d"
+
+inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff_0.5.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff_0.5.3.bb
deleted file mode 100644
index 6d40cca74..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff_0.5.3.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-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] = "31a61729e64ee409135a2ccec80c7104"
-SRC_URI[sha256sum] = "79b4be3e5479dfc6d77747d23ec98200559ca6a842fad1f92c2a7eb56b99195b"
-
-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-unidiff_0.5.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff_0.5.4.bb
new file mode 100644
index 000000000..bdb3d27f9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff_0.5.4.bb
@@ -0,0 +1,2 @@
+require python-unidiff.inc
+inherit setuptools
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
index 485f57f2b..cf79926a6 100644
--- 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
@@ -1,10 +1,10 @@
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=06dfcbb88fb0787a2039e26af11276f5"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ea114851ad9a8c311aac8728a681a067"
-SRC_URI[md5sum] = "e62d42006807308fea9556c17af8e250"
-SRC_URI[sha256sum] = "cc49b66adcb45e19c6944cff35eedb60ee2228f0afba51f4da29c47e7a398f15"
+SRC_URI[md5sum] = "0da7bed3fe94bf7dc59ae37885cc72f7"
+SRC_URI[sha256sum] = "cc44da8e1145637334317feebd728bd869a35285b93cbb4cca2577da7e62db4f"
RDEPENDS_${PN} += "\
${PYTHON_PN}-certifi \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.22.bb
index 6c81f1db9..6c81f1db9 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.22.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.4.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.4.1.bb
deleted file mode 100644
index fc9519320..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.4.1.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-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] = "73432a3e6e9a4788f73a9acc4d7b1fa8"
-SRC_URI[sha256sum] = "faea7d4fb3e2bc8ef6367e7f9b4ad0841aa1980fd5dd96d05c7a90e39880811c"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-dateutil \
- ${PYTHON_PN}-numbers \
- "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.5.bb
new file mode 100644
index 000000000..d2f343eb1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.5.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] = "aa629d6ae95db5edfd5b2402eb1073cb"
+SRC_URI[sha256sum] = "0f56cae196303d875682b9648b4bb43ffc769d2f0f800958e0a506af867b1243"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-dateutil \
+ ${PYTHON_PN}-numbers \
+ "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings.inc
new file mode 100644
index 000000000..ed57c52e5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings.inc
@@ -0,0 +1,10 @@
+SUMMARY = "Character encoding aliases for legacy web content"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://PKG-INFO;startline=8;endline=9;md5=af5c81bfe98855a56d36b6ba5de2906f"
+
+SRC_URI[md5sum] = "32f6e261d52e57bf7e1c4d41546d15b8"
+SRC_URI[sha256sum] = "b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"
+
+inherit pypi
+
+RDEPENDS_${PN} += "${PYTHON_PN}-codecs"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings_0.5.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings_0.5.1.bb
new file mode 100644
index 000000000..5de2ed1d7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings_0.5.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-webencodings.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings_0.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings_0.5.bb
deleted file mode 100644
index fbe628578..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings_0.5.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "Character encoding aliases for legacy web content"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://PKG-INFO;startline=8;endline=9;md5=2fc6c99a19e6dbde9f7a2239143c9d13"
-
-SRC_URI[md5sum] = "878714d45241f7970dffd8991d61fff9"
-SRC_URI[sha256sum] = "a5c55ee93b24e740fe951c37b5c228dccc1f171450e188555a775261cce1b904"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "${PYTHON_PN}-codecs"
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 e55f56dbe..b2949a3d2 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,8 +10,8 @@ HOMEPAGE = "http://werkzeug.pocoo.org/"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=a68f5361a2b2ca9fdf26b38aaecb6faa"
-SRC_URI[md5sum] = "cb4010478dd33905f95920e4880204a2"
-SRC_URI[sha256sum] = "455d7798ac263266dbd38d4841f7534dd35ca9c3da4a8df303f8488f38f3bcc0"
+SRC_URI[md5sum] = "e385b2c5a7193cff24c689b31e1124dc"
+SRC_URI[sha256sum] = "903a7b87b74635244548b30d30db4c8947fe64c5198f58899ddcd3a13c23bb26"
PYPI_PACKAGE = "Werkzeug"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug_0.11.15.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug_0.12.2.bb
index 3892f1357..3892f1357 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug_0.11.15.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug_0.12.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt.inc
new file mode 100644
index 000000000..c85548fb4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt.inc
@@ -0,0 +1,15 @@
+SUMMARY = "A Python module for decorators, wrappers and monkey patching."
+HOMEPAGE = "http://wrapt.readthedocs.org/"
+LICENSE = "BSD"
+SECTION = "devel/python"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=61c27930012e86b3dc7e36f92e83c4d8"
+
+SRC_URI[md5sum] = "e1346f31782d50401f81c2345b037076"
+SRC_URI[sha256sum] = "d4d560d479f2c21e1b5443bbd15fe7ec4b37fe7e53d335d3b9b0a7b1226fe3c6"
+
+inherit pypi
+
+RDEPENDS_${PN}_class-target += "\
+ ${PYTHON_PN}-stringold \
+ ${PYTHON_PN}-threading \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt_1.10.11.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt_1.10.11.bb
new file mode 100644
index 000000000..bb4247657
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt_1.10.11.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-wrapt.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt_1.10.8.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt_1.10.8.bb
deleted file mode 100644
index 58aa1bd48..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt_1.10.8.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "A Python module for decorators, wrappers and monkey patching."
-HOMEPAGE = "http://wrapt.readthedocs.org/"
-LICENSE = "BSD"
-SECTION = "devel/python"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=82704725592991ea88b042d150a66303"
-
-SRC_URI[md5sum] = "7c2a7e6262acc396ef6528b3d66bd047"
-SRC_URI[sha256sum] = "4ea17e814e39883c6cf1bb9b0835d316b2f69f0f0882ffe7dad1ede66ba82c73"
-
-inherit setuptools pypi
-
-RDEPENDS_${PN}_class-target += "\
- ${PYTHON_PN}-stringold \
- ${PYTHON_PN}-threading \
-"
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 a8fe8c7c7..d1ab05d4f 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
@@ -4,9 +4,9 @@ DESCRIPTION = "Extract data from Excel spreadsheets (.xls and .xlsx,\
Strong support for Excel dates. Unicode-aware."
HOMEPAGE = "http://www.python-excel.org/"
LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://xlrd/licences.py;md5=b59dace5cc1db604c4219100b0422811"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=08bd814936237b6e1355e6370b24b2c1"
-SRC_URI[md5sum] = "9a91b688cd4945477ac28187a54f9a3b"
-SRC_URI[sha256sum] = "0ff87dd5d50425084f7219cb6f86bb3eb5aa29063f53d50bf270ed007e941069"
+SRC_URI[md5sum] = "b85c9916ac755cad489a9005f5a0d390"
+SRC_URI[sha256sum] = "8a21885513e6d915fe33a8ee5fdfa675433b61405ba13e2a69e62ee36828d7e2"
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_1.0.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd_1.1.0.bb
index 3a4d709eb..3a4d709eb 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd_1.0.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd_1.1.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface.inc
new file mode 100644
index 000000000..4b38aea6b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface.inc
@@ -0,0 +1,20 @@
+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] = "8700a4f527c1203b34b10c2b4e7a6912"
+SRC_URI[sha256sum] = "d6d26d5dfbfd60c65152938fcb82f949e8dada37c041f72916fef6621ba5c5ce"
+
+PYPI_PACKAGE = "zope.interface"
+
+PACKAGES =. "${PN}-test "
+
+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}-test += " \
+ ${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.3.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.3.3.bb
deleted file mode 100644
index 75963948f..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.3.3.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] = "ba3f32eacaea66094b7e2ae2788cec89"
-SRC_URI[sha256sum] = "8780ef68ca8c3fe1abb30c058a59015129d6e04a6b02c2e56b9c7de6078dfa88"
-
-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.4.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.4.3.bb
new file mode 100644
index 000000000..1bdfd4d37
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.4.3.bb
@@ -0,0 +1,4 @@
+inherit pypi setuptools
+require python-zopeinterface.inc
+
+RDEPENDS_${PN}-test += "python-unittest python-doctest"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-appdirs_1.4.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-appdirs_1.4.3.bb
new file mode 100644
index 000000000..d24e1d8b6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-appdirs_1.4.3.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-appdirs.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_1.5.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_1.5.3.bb
new file mode 100644
index 000000000..6e32c288f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_1.5.3.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-astroid.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python_1.2.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python_1.2.0.bb
new file mode 100644
index 000000000..c43649dbf
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python_1.2.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-aws-iot-device-sdk-python.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.3.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.5.1.bb
index 05084ac2e..05084ac2e 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.3.4.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.5.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-bcrypt_3.1.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-bcrypt_3.1.3.bb
new file mode 100644
index 000000000..d2ec9e386
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-bcrypt_3.1.3.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-bcrypt.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.6.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.6.0.bb
new file mode 100644
index 000000000..d98df11e3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.6.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-beautifulsoup4.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_0.8.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_0.8.1.bb
new file mode 100644
index 000000000..7ee444dc9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_0.8.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-bitarray.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-can_1.5.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-can_2.0.0b1.bb
index a1d45b88a..a1d45b88a 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-can_1.5.2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-can_2.0.0b1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.8.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.11.0.bb
index 34f149d3f..34f149d3f 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.8.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.11.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2017.1.23.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2017.7.27.1.bb
index 70f674b22..70f674b22 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2017.1.23.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2017.7.27.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.9.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.11.2.bb
index e88808434..e88808434 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.9.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.11.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-chardet_3.0.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-chardet_3.0.4.bb
index 038043c56..038043c56 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-chardet_3.0.2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-chardet_3.0.4.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_4.4.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_4.4.1.bb
new file mode 100644
index 000000000..6aa5c59d1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_4.4.1.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Code coverage measurement for Python"
+HOMEPAGE = "https://coverage.readthedocs.io"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ee41112a44fe7014dce33e26468ba93"
+
+SRC_URI[md5sum] = "4c4d997cb32be4703f1fde54e6cd1b1c"
+SRC_URI[sha256sum] = "7a9c44400ee0f3b4546066e0710e1250fd75831adc02ab99dda176ad8726f424"
+
+inherit pypi setuptools3
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_1.7.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.0.3.bb
index 58994ffff..58994ffff 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_1.7.2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.0.3.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_1.7.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.0.3.bb
index f807042ec..f807042ec 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_1.7.2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.0.3.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.25.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.27.1.bb
index 2ce6bdbd6..2ce6bdbd6 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.25.2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.27.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.6.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.6.1.bb
index 1d2baf55c..1d2baf55c 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.6.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.6.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.0.11.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.1.2.bb
index 7840b20c0..7840b20c0 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.0.11.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.1.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-django-south_1.0.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-django-south_1.0.2.bb
new file mode 100644
index 000000000..10519111f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-django-south_1.0.2.bb
@@ -0,0 +1,2 @@
+require python-django-south.inc
+inherit setuptools3
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-django_1.11.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-django_1.11.5.bb
new file mode 100644
index 000000000..e1e38c322
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-django_1.11.5.bb
@@ -0,0 +1,2 @@
+require python-django.inc
+inherit setuptools3
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-pymongo_0.4.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-pymongo_0.5.1.bb
index 2102554b6..2102554b6 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-pymongo_0.4.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-pymongo_0.5.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_0.12.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_0.12.2.bb
index cd439900c..cd439900c 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_0.12.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_0.12.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_1.2.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_1.2.2.bb
new file mode 100644
index 000000000..1f172e586
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_1.2.2.bb
@@ -0,0 +1,3 @@
+require python-gevent.inc
+inherit setuptools3
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_0.4.12.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_0.4.12.bb
new file mode 100644
index 000000000..1aedf7fa8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_0.4.12.bb
@@ -0,0 +1,2 @@
+inherit distutils3
+require python-greenlet.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-html5lib_0.999999999.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-html5lib_0.999999999.bb
new file mode 100644
index 000000000..6bd8b49f5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-html5lib_0.999999999.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-html5lib.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.6.bb
index a08ca714a..a08ca714a 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.5.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.6.bb
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.12.bb
index 4a332b53b..4a332b53b 100644
--- 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.12.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_4.2.15.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_4.2.15.bb
new file mode 100644
index 000000000..755b3e2f2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_4.2.15.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-isort.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.9.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.9.6.bb
index 8375f8cf4..8375f8cf4 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.9.5.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.9.6.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_2.6.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_2.6.0.bb
index 53b88396f..5aaee682b 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_2.6.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_2.6.0.bb
@@ -1,8 +1,6 @@
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-langtable_0.0.37.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.37.bb
new file mode 100644
index 000000000..362ca1a72
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.37.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "langtable is used to guess reasonable defaults for locale,\
+keyboard, territory"
+HOMEPAGE = "https://github.com/mike-fabian/langtable/"
+LICENSE = "GPLv3+"
+SECTION = "devel/python"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+S = "${WORKDIR}/git"
+B = "${S}"
+
+SRCREV = "3f001eef027ba69ef2fdb35c670b7da26b79b5e2"
+PV = "0.0.37+git${SRCPV}"
+SRC_URI = "git://github.com/mike-fabian/langtable.git;branch=master \
+"
+
+inherit setuptools3 python3native
+
+DISTUTILS_INSTALL_ARGS = "--prefix=${D}/${prefix} \
+ --install-data=${D}/${datadir}/langtable"
+
+FILES_${PN} += "${datadir}/*"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lazy-object-proxy_1.3.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lazy-object-proxy_1.3.1.bb
new file mode 100644
index 000000000..150e12fd4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lazy-object-proxy_1.3.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-lazy-object-proxy.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml/0001-lxml.etree-Add-empty-variadic-argument.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml/0001-lxml.etree-Add-empty-variadic-argument.patch
deleted file mode 100644
index bb012dc44..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml/0001-lxml.etree-Add-empty-variadic-argument.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 36e64cf2f0676ee422c1fd41456967f3015b2fa3 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 13 Apr 2017 17:10:45 -0700
-Subject: [PATCH] lxml.etree: Add empty variadic argument
-
-format checker says that argument 4 is a printf formatted argument
-but there is no more arguments to follow
-
-Fixes libxslt format warnings
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/lxml/lxml.etree.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/lxml/lxml.etree.c b/src/lxml/lxml.etree.c
-index d482091..faab06c 100644
---- a/src/lxml/lxml.etree.c
-+++ b/src/lxml/lxml.etree.c
-@@ -186086,7 +186086,7 @@ static void __pyx_f_4lxml_5etree__callExtensionElement(xsltTransformContext *__p
- * except:
- */
- __pyx_t_26 = __Pyx_PyObject_AsString(__pyx_v_message); if (unlikely((!__pyx_t_26) && PyErr_Occurred())) __PYX_ERR(19, 228, __pyx_L18_except_error)
-- xsltTransformError(__pyx_v_c_ctxt, NULL, __pyx_v_c_inst_node, __pyx_t_26);
-+ xsltTransformError(__pyx_v_c_ctxt, NULL, __pyx_v_c_inst_node, __pyx_t_26, "");
-
- /* "src/lxml/xsltext.pxi":229
- * c_inst_node.name, _cstr(e))
-@@ -186136,7 +186136,7 @@ static void __pyx_f_4lxml_5etree__callExtensionElement(xsltTransformContext *__p
- * except:
- */
- __pyx_t_26 = __Pyx_PyObject_AsString(__pyx_v_message); if (unlikely((!__pyx_t_26) && PyErr_Occurred())) __PYX_ERR(19, 234, __pyx_L18_except_error)
-- xsltTransformError(__pyx_v_c_ctxt, NULL, __pyx_v_c_inst_node, __pyx_t_26);
-+ xsltTransformError(__pyx_v_c_ctxt, NULL, __pyx_v_c_inst_node, __pyx_t_26, "");
-
- /* "src/lxml/xsltext.pxi":235
- * "Error executing extension element '%s'", c_inst_node.name)
---
-2.12.2
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_3.7.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_3.7.3.bb
deleted file mode 100644
index 8b13d2dd2..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_3.7.3.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit setuptools3
-require python-lxml.inc
-
-SRC_URI = "${PYPI_SRC_URI} \
- file://0001-lxml.etree-Add-empty-variadic-argument.patch \
- "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.1.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.1.0.bb
new file mode 100644
index 000000000..ff4bc7faa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.1.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-lxml.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-markupsafe_0.23.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-markupsafe_1.0.bb
index 765e3c906..765e3c906 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-markupsafe_0.23.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-markupsafe_1.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.4.8.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.4.8.bb
new file mode 100644
index 000000000..096d7ddcb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.4.8.bb
@@ -0,0 +1,2 @@
+require python-msgpack.inc
+inherit setuptools3
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict/0001-Allow-calling-make-clean-without-sphinx-build.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict/0001-Allow-calling-make-clean-without-sphinx-build.patch
deleted file mode 100644
index d1d7ef575..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict/0001-Allow-calling-make-clean-without-sphinx-build.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 39e13b4e3f7a1d1dd748e80cee241d511865d4e8 Mon Sep 17 00:00:00 2001
-From: Pascal Bach <pascal.bach@nextrem.ch>
-Date: Mon, 16 Jan 2017 21:29:12 +0100
-Subject: [PATCH] Allow calling make clean without sphinx-build
-
-Currently make clean fails without sphinx-build installed
-However sphinx-build is not really necessary to do a clean.
-This trick makes the docs/Makefile use the false binary instead of
-sphinx-build for the check when a clean is done.
-
-Upstream-Status: Submitted https://github.com/aio-libs/multidict/pull/41
-
----
- Makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 8f525f3..6d601e5 100644
---- a/Makefile
-+++ b/Makefile
-@@ -51,8 +51,8 @@ clean:
- rm -rf coverage
- rm -rf build
- rm -rf cover
-- make -C docs clean
-- python setup.py clean
-+ make -C docs clean SPHINXBUILD=false
-+ python3 setup.py clean
- rm -f multidict/_multidict.html
- rm -f multidict/_multidict.c
- rm -f multidict/_multidict.*.so
---
-2.7.4
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_2.1.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_2.1.4.bb
deleted file mode 100644
index 62895d2b3..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_2.1.4.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "Multidicts are useful for working with HTTP headers, URL query args etc."
-HOMEPAGE = "https://github.com/aio-libs/multidict/"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
-
-inherit pypi setuptools3
-
-SRC_URI += "file://0001-Allow-calling-make-clean-without-sphinx-build.patch"
-
-SRC_URI[md5sum] = "051d92edec87fd98e43ea83f3ce6072d"
-SRC_URI[sha256sum] = "a77aa8c9f68846c3b5db43ff8ed2a7a884dbe845d01f55113a3fba78518c4cd7"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_3.2.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_3.2.0.bb
new file mode 100644
index 000000000..c6556b398
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_3.2.0.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Multidicts are useful for working with HTTP headers, URL query args etc."
+HOMEPAGE = "https://github.com/aio-libs/multidict/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e74c98abe0de8f798ca609137f9cef4a"
+
+inherit pypi setuptools3
+
+SRC_URI[md5sum] = "a01da31ca1855557a1b2e053c933af2f"
+SRC_URI[sha256sum] = "e27a7a95317371c15ecda7206f6e8c144f10a337bb2c3e61b5176deafbb88cb2"
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.3.bb
index 3f07b2ed2..3f07b2ed2 100644
--- 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.3.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-netaddr_0.7.19.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-netaddr_0.7.19.bb
new file mode 100644
index 000000000..30416a4ff
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-netaddr_0.7.19.bb
@@ -0,0 +1,2 @@
+require python-netaddr.inc
+inherit setuptools3
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ntplib_0.3.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ntplib_0.3.3.bb
new file mode 100644
index 000000000..35440bc0a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ntplib_0.3.3.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "This module offers a simple interface to query NTP servers from Python."
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://ntplib.py;beginline=1;endline=23;md5=afa07338a9595257e94c205c3e72224d"
+
+SRCNAME = "ntplib"
+SRC_URI[md5sum] = "c7cc8e9b09f40c84819859d70b7784ca"
+SRC_URI[sha256sum] = "c4621b64d50be9461d9bd9a71ba0b4af06fbbf818bbd483752d95c1a4e273ede"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit setuptools3 python3native pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ordered-set_2.0.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ordered-set_2.0.2.bb
new file mode 100644
index 000000000..be6d4e169
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ordered-set_2.0.2.bb
@@ -0,0 +1,10 @@
+SUMMARY = "A MutableSet that remembers its order, so that every entry has an index."
+HOMEPAGE = "http://github.com/LuminosoInsight/ordered-set"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://MIT-LICENSE;md5=0feb0c85b722f488b87844fb5f81d2dc"
+
+SRC_URI[md5sum] = "7b8d73dc64fd3c783ecb48e050bfcc0d"
+SRC_URI[sha256sum] = "942cad5d7d5b0760d5cbe93dfb385ac2ed402ca1d48c9f4e102d7d5cce3a90eb"
+
+inherit pypi setuptools3
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.3.0.bb
index 4981e61ed..4981e61ed 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.3.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_0.20.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_0.20.3.bb
new file mode 100644
index 000000000..b5dd5e092
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_0.20.3.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-pandas.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.2.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.2.1.bb
new file mode 100644
index 000000000..cf39233a3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.2.1.bb
@@ -0,0 +1,2 @@
+require python-pexpect.inc
+inherit pypi setuptools3
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pid/0001-remove-requirement-of-nose.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pid/0001-remove-requirement-of-nose.patch
new file mode 100644
index 000000000..3beef0700
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pid/0001-remove-requirement-of-nose.patch
@@ -0,0 +1,29 @@
+From 04d04a8fa1ef3d8dbdaebbaac9ae936e1c8234c1 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 28 Jun 2017 21:17:43 -0400
+Subject: [PATCH] remove requirement of nose
+
+The nose extends unittest to make testing easier.
+Do not need the test suite, so remove requirement of nose.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ setup.py | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 3f7c7cb..c42a546 100644
+--- a/setup.py
++++ b/setup.py
+@@ -53,6 +53,4 @@ setup(
+ keywords='pid pidfile context manager decorator',
+ packages=["pid"],
+ install_requires=[],
+- test_suite='nose.collector',
+- setup_requires=['nose>=1.0'],
+ )
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pid_2.1.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pid_2.1.1.bb
new file mode 100644
index 000000000..c88d9a0b5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pid_2.1.1.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Pidfile featuring stale detection and file-locking, can also \
+be used as context-manager or decorator"
+HOMEPAGE = "https://github.com/trbs/pid/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=83d53cbd3105063f20305bc313464e29"
+
+SRC_URI[md5sum] = "9634b1e3d545544a9d496e25e4530d14"
+SRC_URI[sha256sum] = "b443169d3dc21397695b4a82016fadb4cfdb0ed8b2ddb4aaa428e1701bb34e1f"
+
+inherit pypi setuptools3
+
+SRC_URI += " \
+ file://0001-remove-requirement-of-nose.patch \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-prctl/0001-support-cross-complication.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-prctl/0001-support-cross-complication.patch
new file mode 100644
index 000000000..775ae1b2e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-prctl/0001-support-cross-complication.patch
@@ -0,0 +1,61 @@
+From 9a16800738547d117284354bbcad7dd77d9d0344 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 21 Apr 2016 03:05:57 -0400
+Subject: [PATCH] support cross-complication
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ setup.py | 35 -----------------------------------
+ 1 file changed, 35 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 658d1a5..e8be7eb 100755
+--- a/setup.py
++++ b/setup.py
+@@ -13,41 +13,6 @@ import sys
+ # - Need gcc
+ # - Need C headers
+ # - Need libcap headers
+-if not sys.platform.startswith('linux'):
+- sys.stderr.write("This module only works on linux\n")
+- sys.exit(1)
+-
+-kvers = os.uname()[2]
+-if kvers < '2.6.18' and not os.environ.get("PRCTL_SKIP_KERNEL_CHECK",False):
+- sys.stderr.write("This module requires linux 2.6.18 or newer\n")
+- sys.exit(1)
+-
+-if sys.version_info[:2] < (2,4):
+- sys.stderr.write("This module requires python 2.4 or newer\n")
+- sys.exit(1)
+-
+-exit = False
+-try:
+- subprocess.call(['gcc','-v'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+-except:
+- sys.stderr.write("You need to install gcc to build this module\n")
+- sys.exit(1)
+-
+-sp = subprocess.Popen(['cpp'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+-sp.communicate('#include <sys/prctl.h>\n'.encode())
+-if sp.returncode:
+- sys.stderr.write("You need to install libc development headers to build this module\n")
+- exit = True
+-
+-sp = subprocess.Popen(['cpp'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+-sp.communicate('#include <sys/capability.h>\n'.encode())
+-if sp.returncode:
+- sys.stderr.write("You need to install libcap development headers to build this module\n")
+- exit = True
+-
+-if exit:
+- sys.exit(1)
+-
+ _prctl = Extension("_prctl",
+ sources = ['_prctlmodule.c'],
+ depends = ['securebits.h'],
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-prctl_1.6.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-prctl_1.6.1.bb
new file mode 100644
index 000000000..5de83ce48
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-prctl_1.6.1.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Control process attributes through prctl"
+DESCRIPTION = "The linux prctl function allows you to control specific characteristics of a \
+process' behaviour. Usage of the function is fairly messy though, due to \
+limitations in C and linux. This module provides a nice non-messy python(ic) \
+interface."
+SECTION = "devel/python"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5eb2f4bcd60326f83e5deb542372d52f"
+
+S = "${WORKDIR}/git"
+B = "${S}"
+
+SRCREV = "1107d0be7bec4b28c85c62c454882d16844c930a"
+PV = "1.6.1+git${SRCPV}"
+
+SRC_URI = "git://github.com/seveas/python-prctl;branch=master \
+ file://0001-support-cross-complication.patch \
+"
+inherit setuptools3 python3native
+
+DEPENDS += "libcap"
+
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.3.bb
index 45e264213..45e264213 100644
--- 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.3.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_1.0.13.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_1.0.15.bb
index d8f6389cc..d8f6389cc 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_1.0.13.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_1.0.15.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.4.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.4.0.bb
new file mode 100644
index 000000000..781d1dc4d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.4.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-protobuf.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.2.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.3.1.bb
index c1969ea65..c1969ea65 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.2.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.3.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ptyprocess_0.5.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ptyprocess_0.5.2.bb
new file mode 100644
index 000000000..bdcd0e253
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ptyprocess_0.5.2.bb
@@ -0,0 +1,2 @@
+require python-ptyprocess.inc
+inherit pypi setuptools3
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.4.32.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.4.34.bb
index 0ee373d24..0ee373d24 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.4.32.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.4.34.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.2.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.3.6.bb
index a5e2a7136..a5e2a7136 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.2.3.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.3.6.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.0.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.2.1.bb
index 355e28460..355e28460 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.0.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.2.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.17.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.18.bb
index 7cc024ea0..7cc024ea0 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.17.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.18.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyfirmata_1.0.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyfirmata_1.0.3.bb
new file mode 100644
index 000000000..25af1b5c0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyfirmata_1.0.3.bb
@@ -0,0 +1,3 @@
+inherit setuptools3
+require python-pyfirmata.inc
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_1.7.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_1.7.4.bb
new file mode 100644
index 000000000..563e8316c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_1.7.4.bb
@@ -0,0 +1,2 @@
+inherit setuptools3 python3-dir
+require python-pylint.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.67.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.80.bb
index 4523d9e30..4523d9e30 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.67.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.80.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.4.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.4.0.bb
deleted file mode 100644
index 3b250a16b..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.4.0.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-inherit pypi setuptools3
-require python-pymongo.inc
-
-# Requires _pydecimal which is in misc
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-enum \
- ${PYTHON_PN}-misc \
- ${PYTHON_PN}-selectors \
- ${PYTHON_PN}-subprocess \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.5.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.5.1.bb
new file mode 100644
index 000000000..9f02cab13
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.5.1.bb
@@ -0,0 +1,10 @@
+inherit pypi setuptools3
+require python-pymongo.inc
+
+# Requires _pydecimal which is in misc
+RDEPENDS_${PYTHON_PN}-bson += " \
+ ${PYTHON_PN}-enum \
+ ${PYTHON_PN}-misc \
+ ${PYTHON_PN}-selectors \
+ ${PYTHON_PN}-subprocess \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_16.2.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_17.3.0.bb
index 0f0f83e3a..0f0f83e3a 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_16.2.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_17.3.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.3.22.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.3.22.bb
new file mode 100644
index 000000000..a23e72c4a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.3.22.bb
@@ -0,0 +1,2 @@
+require python-pyroute2.inc
+inherit setuptools3
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.4.bb
index 44c13685e..44c13685e 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.3.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.4.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.6.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.6.7.bb
index f8aa01be8..f8aa01be8 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.6.6.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.6.7.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_2.11.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_2.12.1.bb
index df56ba6d4..df56ba6d4 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_2.11.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_2.12.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_3.0.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_3.2.2.bb
index 466cfa825..466cfa825 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_3.0.6.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_3.2.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyudev_0.21.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyudev_0.21.0.bb
new file mode 100644
index 000000000..0292555c7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyudev_0.21.0.bb
@@ -0,0 +1,8 @@
+require python-pyudev.inc
+
+RDEPENDS_${PN} = "\
+ ${PYTHON_PN}-lang \
+"
+
+inherit pypi setuptools3
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyusb_1.0.0b2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyusb_1.0.0b2.bb
new file mode 100644
index 000000000..813e6f08c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyusb_1.0.0b2.bb
@@ -0,0 +1,2 @@
+inherit distutils3
+require python-pyusb.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_2.10.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_2.10.6.bb
index b192ed872..b192ed872 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_2.10.5.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_2.10.6.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-file_1.4.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-file_1.4.2.bb
new file mode 100644
index 000000000..8652876a4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-file_1.4.2.bb
@@ -0,0 +1,14 @@
+SUMMARY = "File transport adapter for Requests"
+HOMEPAGE = "http://github.com/dashea/requests-file"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=9cc728d6087e43796227b0a31422de6b"
+
+SRC_URI[md5sum] = "a907efb75faf0ccbb1857432bf9d8c0f"
+SRC_URI[sha256sum] = "f518e7cfe048e053fd1019dfb891b4c55b871c56c5a31693d733240c80b8f191"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += " \
+ python3-requests \
+"
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-ftp_0.3.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-ftp_0.3.1.bb
new file mode 100644
index 000000000..3f99ed675
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-ftp_0.3.1.bb
@@ -0,0 +1,14 @@
+SUMMARY = "FTP Transport Adapter for Requests"
+HOMEPAGE = "http://github.com/Lukasa/requests-ftp"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=6683a23c9968b97709441dc884d46df6"
+
+SRC_URI[md5sum] = "1a52ad1219e696b5abd5449d1ccc0294"
+SRC_URI[sha256sum] = "7504ceb5cba8a5c0135ed738596820a78c5f2be92d79b29f96ba99b183d8057a"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += " \
+ python3-requests \
+"
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.13.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.13.0.bb
deleted file mode 100644
index 5e869b788..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.13.0.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-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.18.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.18.4.bb
new file mode 100644
index 000000000..d91d993bf
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.18.4.bb
@@ -0,0 +1,5 @@
+inherit setuptools3
+require python-requests.inc
+
+# Add the runtime depends for selectors.py
+RDEPENDS_${PN} += "${PYTHON_PN}-misc"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-sdnotify_0.3.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-sdnotify_0.3.2.bb
new file mode 100644
index 000000000..377af12e1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-sdnotify_0.3.2.bb
@@ -0,0 +1,2 @@
+inherit setuptools3 pypi
+require python-sdnotify.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.19.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.23.bb
index 199dcfafd..199dcfafd 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.19.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.23.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_1.15.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_1.15.6.bb
index 5bf598387..5bf598387 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_1.15.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_1.15.6.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.10.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.11.1.bb
index d44bc1526..d44bc1526 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.10.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.11.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.9.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.14.bb
index 01f1e97ec..01f1e97ec 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.9.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.14.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_4.4.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_4.5.2.bb
index 77c9fb516..77c9fb516 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_4.4.2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_4.5.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_17.9.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_17.9.0.bb
new file mode 100644
index 000000000..d7533d8e7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_17.9.0.bb
@@ -0,0 +1,67 @@
+inherit pypi setuptools3
+require python-twisted.inc
+
+RDEPENDS_${PN}-core += "python3-lang"
+
+FILES_${PN}-core_append += " \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/__pycache__ \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/__pycache__/*pyc \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/__init__*.pyc \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/notestplugin*.pyc \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/testplugin*.pyc \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_ftp*.pyc \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_inet*.pyc \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_manhole*.pyc \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_portforward*.pyc \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_socks*.pyc \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_telnet*.pyc \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_trial*.pyc \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_core*.pyc \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_qtstub*.pyc \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_reactors*.pyc \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/cred*.pyc \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/dropin*.cache \
+"
+
+FILES_${PN}-names_append = " \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_names*.pyc \
+"
+
+FILES_${PN}-news_append = " \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_news*.pyc \
+"
+
+FILES_${PN}-protocols_append += " \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/__pycache__/*pyc \
+"
+
+FILES_${PN}-conch_append = " \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_conch*.pyc \
+"
+
+FILES_${PN}-lore_append = " \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_lore*.pyc \
+"
+FILES_${PN}-mail_append = " \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_mail*.pyc \
+"
+
+FILES_${PN}-web_append = " \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_web*.pyc \
+"
+
+FILES_${PN}-words_append = " \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_words*.pyc \
+"
+
+FILES_${PN}-flow_append = " \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_flow*.pyc \
+"
+
+FILES_${PN}-pair_append = " \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_pair*.pyc \
+"
+
+FILES_${PN}-runner_append = " \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_runner*.pyc \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_1.35.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_1.35.bb
new file mode 100644
index 000000000..ae4cc0a81
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_1.35.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-ujson.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff_0.5.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff_0.5.4.bb
new file mode 100644
index 000000000..0ddc7e2f2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff_0.5.4.bb
@@ -0,0 +1,2 @@
+require python-unidiff.inc
+inherit setuptools3
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.22.bb
index 19eb7025b..19eb7025b 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.22.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-webencodings_0.5.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-webencodings_0.5.1.bb
new file mode 100644
index 000000000..71fe741e4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-webencodings_0.5.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-webencodings.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_0.11.15.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_0.12.2.bb
index 145a1de0a..145a1de0a 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_0.11.15.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_0.12.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.10.11.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.10.11.bb
new file mode 100644
index 000000000..85f446ef9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.10.11.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-wrapt.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-xlrd_1.0.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-xlrd_1.1.0.bb
index b7bd969c7..b7bd969c7 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-xlrd_1.0.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-xlrd_1.1.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_4.4.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_4.4.3.bb
new file mode 100644
index 000000000..be11858d3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_4.4.3.bb
@@ -0,0 +1,4 @@
+inherit pypi setuptools3
+require python-zopeinterface.inc
+
+RDEPENDS_${PN}-test += "python3-unittest python3-doctest"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0001-comment-out-selinux.patch b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0001-comment-out-selinux.patch
new file mode 100644
index 000000000..0ee32057c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0001-comment-out-selinux.patch
@@ -0,0 +1,70 @@
+From 7d483c27ac0a23ca3bba7f320918afc40013bd8e Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 8 May 2017 14:25:52 +0800
+Subject: [PATCH 01/13] comment out selinux
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ blivet/flags.py | 5 +++--
+ blivet/util.py | 6 +++++-
+ 2 files changed, 8 insertions(+), 3 deletions(-)
+
+diff --git a/blivet/flags.py b/blivet/flags.py
+index 06822db..b55a93f 100644
+--- a/blivet/flags.py
++++ b/blivet/flags.py
+@@ -20,7 +20,7 @@
+ #
+
+ import shlex
+-import selinux
++#import selinux
+
+
+ class Flags(object):
+@@ -49,7 +49,8 @@ class Flags(object):
+ #
+ # enable/disable functionality
+ #
+- self.selinux = selinux.is_selinux_enabled()
++ #self.selinux = selinux.is_selinux_enabled()
++ self.selinux = False
+ self.multipath = True
+ self.dmraid = True
+ self.ibft = True
+diff --git a/blivet/util.py b/blivet/util.py
+index e3e71ce..0cf5188 100644
+--- a/blivet/util.py
++++ b/blivet/util.py
+@@ -4,7 +4,7 @@ import glob
+ import itertools
+ import os
+ import shutil
+-import selinux
++#import selinux
+ import subprocess
+ import re
+ import sys
+@@ -431,6 +431,8 @@ def get_cow_sysfs_path(dev_path, dev_sysfsPath):
+ def match_path_context(path):
+ """ Return the default SELinux context for the given path. """
+ context = None
++ return context
++
+ try:
+ context = selinux.matchpathcon(os.path.normpath(path), 0)[1]
+ except OSError as e:
+@@ -455,6 +457,8 @@ def set_file_context(path, context, root=None):
+
+ True if successful, False if not.
+ """
++ return False
++
+ if root is None:
+ root = '/'
+
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0002-run_program-support-timeout.patch b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0002-run_program-support-timeout.patch
new file mode 100644
index 000000000..01e71be30
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0002-run_program-support-timeout.patch
@@ -0,0 +1,102 @@
+From 86744d408b91acdcb086a03d7779fcda152f2ac3 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 8 May 2017 14:39:56 +0800
+Subject: [PATCH 02/13] run_program support timeout
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ blivet/util.py | 68 +++++++++++++++++++++++++++++++++-------------------------
+ 1 file changed, 39 insertions(+), 29 deletions(-)
+
+diff --git a/blivet/util.py b/blivet/util.py
+index 0cf5188..d4bd9bb 100644
+--- a/blivet/util.py
++++ b/blivet/util.py
+@@ -158,6 +158,30 @@ class Path(str):
+ def __hash__(self):
+ return self._path.__hash__()
+
++def timeout_command(argv, timeout, *args, **kwargs):
++ """call shell-command and either return its output or kill it
++ if it doesn't normally exit within timeout seconds and return None"""
++ import subprocess, datetime, os, time, signal
++ start = datetime.datetime.now()
++
++ try:
++ proc = subprocess.Popen(argv, *args, **kwargs)
++ while proc.poll() is None:
++ time.sleep(0.1)
++ now = datetime.datetime.now()
++ if (now - start).seconds> timeout:
++ os.kill(proc.pid, signal.SIGKILL)
++ os.waitpid(-1, os.WNOHANG)
++ program_log.debug("%d seconds timeout" % timeout)
++ return (-1, None)
++
++
++ except OSError as e:
++ program_log.error("Error running %s: %s", argv[0], e.strerror)
++ raise
++
++ program_log.debug("Return code: %d", proc.returncode)
++ return (proc.returncode, proc.stdout.read())
+
+ def _run_program(argv, root='/', stdin=None, env_prune=None, stderr_to_stdout=False, binary_output=False):
+ if env_prune is None:
+@@ -180,36 +204,22 @@ def _run_program(argv, root='/', stdin=None, env_prune=None, stderr_to_stdout=Fa
+ stderr_dir = subprocess.STDOUT
+ else:
+ stderr_dir = subprocess.PIPE
+- try:
+- proc = subprocess.Popen(argv,
+- stdin=stdin,
+- stdout=subprocess.PIPE,
+- stderr=stderr_dir,
+- close_fds=True,
+- preexec_fn=chroot, cwd=root, env=env)
+-
+- out, err = proc.communicate()
+- if not binary_output and six.PY3:
+- out = out.decode("utf-8")
+- if out:
+- if not stderr_to_stdout:
+- program_log.info("stdout:")
+- for line in out.splitlines():
+- program_log.info("%s", line)
+-
+- if not stderr_to_stdout and err:
+- program_log.info("stderr:")
+- for line in err.splitlines():
+- program_log.info("%s", line)
+-
+- except OSError as e:
+- program_log.error("Error running %s: %s", argv[0], e.strerror)
+- raise
+-
+- program_log.debug("Return code: %d", proc.returncode)
+-
+- return (proc.returncode, out)
+
++ res, out = timeout_command(argv, 10,
++ stdin=stdin,
++ stdout=subprocess.PIPE,
++ stderr=stderr_dir,
++ close_fds=True,
++ preexec_fn=chroot, cwd=root, env=env)
++ if not binary_output and six.PY3:
++ out = out.decode("utf-8")
++ if out:
++ if not stderr_to_stdout:
++ program_log.info("stdout:")
++ for line in out.splitlines():
++ program_log.info("%s", line)
++
++ return (res, out)
+
+ def run_program(*args, **kwargs):
+ return _run_program(*args, **kwargs)[0]
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0003-support-infinit-timeout.patch b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0003-support-infinit-timeout.patch
new file mode 100644
index 000000000..489fb56bb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0003-support-infinit-timeout.patch
@@ -0,0 +1,66 @@
+From 923265e04df5920fc99393aa05f584032aa1b383 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 8 May 2017 16:18:02 +0800
+Subject: [PATCH 03/13] support infinit timeout
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ blivet/util.py | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/blivet/util.py b/blivet/util.py
+index d4bd9bb..44a2da5 100644
+--- a/blivet/util.py
++++ b/blivet/util.py
+@@ -158,6 +158,7 @@ class Path(str):
+ def __hash__(self):
+ return self._path.__hash__()
+
++# timeout = -1 means infinite timeout, always wait.
+ def timeout_command(argv, timeout, *args, **kwargs):
+ """call shell-command and either return its output or kill it
+ if it doesn't normally exit within timeout seconds and return None"""
+@@ -169,7 +170,7 @@ def timeout_command(argv, timeout, *args, **kwargs):
+ while proc.poll() is None:
+ time.sleep(0.1)
+ now = datetime.datetime.now()
+- if (now - start).seconds> timeout:
++ if timeout != -1 and (now - start).seconds> timeout:
+ os.kill(proc.pid, signal.SIGKILL)
+ os.waitpid(-1, os.WNOHANG)
+ program_log.debug("%d seconds timeout" % timeout)
+@@ -183,7 +184,7 @@ def timeout_command(argv, timeout, *args, **kwargs):
+ program_log.debug("Return code: %d", proc.returncode)
+ return (proc.returncode, proc.stdout.read())
+
+-def _run_program(argv, root='/', stdin=None, env_prune=None, stderr_to_stdout=False, binary_output=False):
++def _run_program(argv, root='/', stdin=None, env_prune=None, stderr_to_stdout=False, binary_output=False, timeout=10):
+ if env_prune is None:
+ env_prune = []
+
+@@ -192,7 +193,10 @@ def _run_program(argv, root='/', stdin=None, env_prune=None, stderr_to_stdout=Fa
+ os.chroot(root)
+
+ with program_log_lock: # pylint: disable=not-context-manager
+- program_log.info("Running... %s", " ".join(argv))
++ if timeout != -1:
++ program_log.info("Running... %s", " ".join(argv))
++ else:
++ program_log.info("Running... %s ...infinite timeout", " ".join(argv))
+
+ env = os.environ.copy()
+ env.update({"LC_ALL": "C",
+@@ -205,7 +209,7 @@ def _run_program(argv, root='/', stdin=None, env_prune=None, stderr_to_stdout=Fa
+ else:
+ stderr_dir = subprocess.PIPE
+
+- res, out = timeout_command(argv, 10,
++ res, out = timeout_command(argv, timeout,
+ stdin=stdin,
+ stdout=subprocess.PIPE,
+ stderr=stderr_dir,
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0004-Mount-var-volatile-during-install.patch b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0004-Mount-var-volatile-during-install.patch
new file mode 100644
index 000000000..cb837e286
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0004-Mount-var-volatile-during-install.patch
@@ -0,0 +1,59 @@
+From c3959bd00665e24a955bbdbea1ef555e76372f12 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 8 May 2017 16:25:16 +0800
+Subject: [PATCH 04/13] Mount /var/volatile during install
+
+The installed system needs /var/volatile clean, otherwise it
+caused systemd's journalctl failed to record boot log.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ blivet/osinstall.py | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/blivet/osinstall.py b/blivet/osinstall.py
+index a4f9535..61819c2 100644
+--- a/blivet/osinstall.py
++++ b/blivet/osinstall.py
+@@ -294,6 +294,7 @@ class FSSet(object):
+ self._sysfs = None
+ self._proc = None
+ self._devshm = None
++ self._volatile = None
+ self._usb = None
+ self._selinux = None
+ self._run = None
+@@ -335,6 +336,12 @@ class FSSet(object):
+ return self._devshm
+
+ @property
++ def volatile(self):
++ if not self._volatile:
++ self._volatile = NoDevice(fmt=get_format("tmpfs", device="tmpfs", mountpoint="/var/volatile"))
++ return self._volatile
++
++ @property
+ def usb(self):
+ if not self._usb:
+ self._usb = NoDevice(fmt=get_format("usbfs", device="usbfs", mountpoint="/proc/bus/usb"))
+@@ -591,6 +598,7 @@ class FSSet(object):
+
+ devices = list(self.mountpoints.values()) + self.swap_devices
+ devices.extend([self.dev, self.devshm, self.devpts, self.sysfs,
++ self.volatile,
+ self.proc, self.selinux, self.usb, self.run])
+ if isinstance(_platform, EFI):
+ devices.append(self.efivars)
+@@ -650,6 +658,7 @@ class FSSet(object):
+ """ unmount filesystems, except swap if swapoff == False """
+ devices = list(self.mountpoints.values()) + self.swap_devices
+ devices.extend([self.dev, self.devshm, self.devpts, self.sysfs,
++ self.volatile,
+ self.proc, self.usb, self.selinux, self.run])
+ if isinstance(_platform, EFI):
+ devices.append(self.efivars)
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0005-update-fstab-by-appending.patch b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0005-update-fstab-by-appending.patch
new file mode 100644
index 000000000..4f343b7d8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0005-update-fstab-by-appending.patch
@@ -0,0 +1,32 @@
+From 386ff899763f8473eb93a7a1578fb7cc4f86f66d Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 8 May 2017 16:28:12 +0800
+Subject: [PATCH 05/13] update fstab by appending
+
+The 'storage.write()' has updated fstab by overwriting
+the original one, we should update fstab by appending
+to keep original tmpfs partitions.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ blivet/osinstall.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/blivet/osinstall.py b/blivet/osinstall.py
+index 61819c2..afa82db 100644
+--- a/blivet/osinstall.py
++++ b/blivet/osinstall.py
+@@ -728,7 +728,7 @@ class FSSet(object):
+ # /etc/fstab
+ fstab_path = os.path.normpath("%s/etc/fstab" % get_sysroot())
+ fstab = self.fstab()
+- open(fstab_path, "w").write(fstab)
++ open(fstab_path, "a").write(fstab)
+
+ # /etc/crypttab
+ crypttab_path = os.path.normpath("%s/etc/crypttab" % get_sysroot())
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0006-fix-new.roots-object-is-not-iterable.patch b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0006-fix-new.roots-object-is-not-iterable.patch
new file mode 100644
index 000000000..f5ff754d8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0006-fix-new.roots-object-is-not-iterable.patch
@@ -0,0 +1,28 @@
+From cd92eea8fab37ba6b0c7f03daa5255343dc75716 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 8 May 2017 16:30:20 +0800
+Subject: [PATCH 06/13] fix new.roots object is not iterable
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ blivet/blivet.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/blivet/blivet.py b/blivet/blivet.py
+index 6a33e9c..79ae91a 100644
+--- a/blivet/blivet.py
++++ b/blivet/blivet.py
+@@ -1761,7 +1761,7 @@ class Blivet(object):
+ p = partition.disk.format.parted_disk.getPartitionByPath(partition.path)
+ partition.parted_partition = p
+
+- for root in new.roots:
++ for root in new.roots or []:
+ root.swaps = [new.devicetree.get_device_by_id(d.id, hidden=True) for d in root.swaps]
+ root.swaps = [s for s in root.swaps if s]
+
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0007-fix-incorrect-timeout-while-system-time-changed.patch b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0007-fix-incorrect-timeout-while-system-time-changed.patch
new file mode 100644
index 000000000..6512d8642
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0007-fix-incorrect-timeout-while-system-time-changed.patch
@@ -0,0 +1,48 @@
+From 78ee2b9090f9400ccc4f730e674f5ae972740ccb Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 26 Aug 2016 02:02:49 -0400
+Subject: [PATCH 07/13] fix incorrect timeout while system time changed
+
+While system time changed by NTP, invoking timeout_command
+breaks with incorrect timeout.
+--------
+|05:40:55,872 INFO program: Running... mount -t ext2 -o
+ defaults,ro /dev/sda2 /mnt/sysimage
+|01:40:55,086 DEBUG program: 10 seconds timeout
+--------
+
+Use numbert count to replace current time count could workaround
+the issue.
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ blivet/util.py | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/blivet/util.py b/blivet/util.py
+index 44a2da5..b3c45ac 100644
+--- a/blivet/util.py
++++ b/blivet/util.py
+@@ -163,14 +163,14 @@ def timeout_command(argv, timeout, *args, **kwargs):
+ """call shell-command and either return its output or kill it
+ if it doesn't normally exit within timeout seconds and return None"""
+ import subprocess, datetime, os, time, signal
+- start = datetime.datetime.now()
++ count = 0
+
+ try:
+ proc = subprocess.Popen(argv, *args, **kwargs)
+ while proc.poll() is None:
+ time.sleep(0.1)
+- now = datetime.datetime.now()
+- if timeout != -1 and (now - start).seconds> timeout:
++ count += 1
++ if timeout != -1 and count > timeout*10:
+ os.kill(proc.pid, signal.SIGKILL)
+ os.waitpid(-1, os.WNOHANG)
+ program_log.debug("%d seconds timeout" % timeout)
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0008-tweak-btrfs-packages.patch b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0008-tweak-btrfs-packages.patch
new file mode 100644
index 000000000..121336e4c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0008-tweak-btrfs-packages.patch
@@ -0,0 +1,45 @@
+From 6f661a511eea096c073888c7adb836a9a880b476 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 8 May 2017 16:33:15 +0800
+Subject: [PATCH 08/13] tweak btrfs packages
+
+In oe-cre/yocto, we name btrfs package with btrfs-tools,
+rather than btrfs-progs.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ blivet/devices/btrfs.py | 2 +-
+ blivet/formats/fs.py | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/blivet/devices/btrfs.py b/blivet/devices/btrfs.py
+index c5cb21f..9d417b2 100644
+--- a/blivet/devices/btrfs.py
++++ b/blivet/devices/btrfs.py
+@@ -55,7 +55,7 @@ class BTRFSDevice(StorageDevice):
+
+ """ Base class for BTRFS volume and sub-volume devices. """
+ _type = "btrfs"
+- _packages = ["btrfs-progs"]
++ _packages = ["btrfs-tools"]
+ _external_dependencies = [availability.BLOCKDEV_BTRFS_PLUGIN]
+
+ def __init__(self, *args, **kwargs):
+diff --git a/blivet/formats/fs.py b/blivet/formats/fs.py
+index a49826f..e8f216d 100644
+--- a/blivet/formats/fs.py
++++ b/blivet/formats/fs.py
+@@ -918,7 +918,7 @@ class BTRFS(FS):
+ _formattable = True
+ _linux_native = True
+ _supported = True
+- _packages = ["btrfs-progs"]
++ _packages = ["btrfs-tools"]
+ _min_size = Size("256 MiB")
+ _max_size = Size("16 EiB")
+ _mkfs_class = fsmkfs.BTRFSMkfs
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0009-invoking-mount-with-infinite-timeout.patch b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0009-invoking-mount-with-infinite-timeout.patch
new file mode 100644
index 000000000..fc084b129
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0009-invoking-mount-with-infinite-timeout.patch
@@ -0,0 +1,31 @@
+From a6ac2157ee6793302e23ddbc5e3b249fa7da5b7e Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 31 Aug 2016 21:30:32 -0400
+Subject: [PATCH 09/13] invoking mount with infinite timeout
+
+This large timeout is needed when running on machines with
+lots of disks, or with slow disks.
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ blivet/util.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/blivet/util.py b/blivet/util.py
+index b3c45ac..9f02b18 100644
+--- a/blivet/util.py
++++ b/blivet/util.py
+@@ -257,7 +257,7 @@ def mount(device, mountpoint, fstype, options=None):
+
+ argv = ["mount", "-t", fstype, "-o", options, device, mountpoint]
+ try:
+- rc = run_program(argv)
++ rc = run_program(argv, timeout=-1)
+ except OSError:
+ raise
+
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0010-use-oe-variable-to-replace-hardcoded-dir.patch b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0010-use-oe-variable-to-replace-hardcoded-dir.patch
new file mode 100644
index 000000000..45d8fabba
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0010-use-oe-variable-to-replace-hardcoded-dir.patch
@@ -0,0 +1,34 @@
+From e07133dbcf3c52e1ddd2f12797dcd16145269273 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 8 May 2017 03:54:12 -0400
+Subject: [PATCH 10/13] use oe variable to replace hardcoded dir
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ setup.py | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 4d06a33..a994d06 100644
+--- a/setup.py
++++ b/setup.py
+@@ -61,10 +61,10 @@ class blivet_sdist(sdist):
+
+
+ data_files = [
+- ('/etc/dbus-1/system.d', ['dbus/blivet.conf']),
+- ('/usr/share/dbus-1/system-services', ['dbus/com.redhat.Blivet1.service']),
+- ('/usr/libexec', ['dbus/blivetd']),
+- ('/usr/lib/systemd/system', ['dbus/blivet.service'])
++ (os.environ.get('sysconfdir')+'/dbus-1/system.d', ['dbus/blivet.conf']),
++ (os.environ.get('datadir')+'/dbus-1/system-services', ['dbus/com.redhat.Blivet1.service']),
++ (os.environ.get('libexecdir'), ['dbus/blivetd']),
++ (os.environ.get('systemd_system_unitdir'), ['dbus/blivet.service'])
+ ]
+
+
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0011-invoking-fsck-with-infinite-timeout.patch b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0011-invoking-fsck-with-infinite-timeout.patch
new file mode 100644
index 000000000..c61fe01b9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0011-invoking-fsck-with-infinite-timeout.patch
@@ -0,0 +1,31 @@
+From e9ab4376a18cc1bd413c000b036320833eec80d7 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 1 Jun 2017 16:05:27 +0800
+Subject: [PATCH 11/13] invoking fsck with infinite timeout
+
+This large timeout is needed when running on machines with
+lots of disks, or with slow disks.
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ blivet/tasks/fsck.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/blivet/tasks/fsck.py b/blivet/tasks/fsck.py
+index c4214dc..e13ac6b 100644
+--- a/blivet/tasks/fsck.py
++++ b/blivet/tasks/fsck.py
+@@ -77,7 +77,7 @@ class FSCK(task.BasicApplication, fstask.FSTask):
+ raise FSError("\n".join(error_msgs))
+
+ try:
+- rc = util.run_program(self._fsck_command)
++ rc = util.run_program(self._fsck_command, timeout=-1)
+ except OSError as e:
+ raise FSError("filesystem check failed: %s" % e)
+
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0012-invoking-mkfs-with-infinite-timeout.patch b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0012-invoking-mkfs-with-infinite-timeout.patch
new file mode 100644
index 000000000..33bdbe812
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0012-invoking-mkfs-with-infinite-timeout.patch
@@ -0,0 +1,31 @@
+From 9f5a048181cf29d241d96814e736b8235b3d42b1 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 16 Jun 2017 15:43:00 +0800
+Subject: [PATCH 12/13] invoking mkfs with infinite timeout
+
+This large timeout is needed when running on machines with
+lots of disks, or with slow disks.
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ blivet/tasks/fsmkfs.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/blivet/tasks/fsmkfs.py b/blivet/tasks/fsmkfs.py
+index ad166aa..7bf5075 100644
+--- a/blivet/tasks/fsmkfs.py
++++ b/blivet/tasks/fsmkfs.py
+@@ -170,7 +170,7 @@ class FSMkfs(task.BasicApplication, FSMkfsTask):
+ options = options or []
+ cmd = self._mkfs_command(options, label, set_uuid)
+ try:
+- ret = util.run_program(cmd)
++ ret = util.run_program(cmd, timeout=-1)
+ except OSError as e:
+ raise FSError(e)
+
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0013-Revert-Adapt-to-logging-module-name-change.patch b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0013-Revert-Adapt-to-logging-module-name-change.patch
new file mode 100644
index 000000000..6bdf4ce94
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0013-Revert-Adapt-to-logging-module-name-change.patch
@@ -0,0 +1,30 @@
+From bfdaf79a2109ac6aed408f0c94f69766991e60e2 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 27 Jul 2017 14:34:30 +0800
+Subject: [PATCH 13/13] Revert "Adapt to logging module name change"
+
+Upstream-Status: Inappropriate [oe specific, sync with anaconda f26-release]
+
+This reverts commit c367d62a516e541ad28636c8259321f1c53417ce.
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ blivet/__init__.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/blivet/__init__.py b/blivet/__init__.py
+index 49277cb..a01e487 100644
+--- a/blivet/__init__.py
++++ b/blivet/__init__.py
+@@ -124,7 +124,7 @@ def enable_installer_mode():
+ from pyanaconda.constants import ROOT_PATH # pylint: disable=redefined-outer-name,no-name-in-module
+ _storage_root = _sysroot = ROOT_PATH
+
+- from pyanaconda.anaconda_logging import program_log_lock
++ from pyanaconda.anaconda_log import program_log_lock
+ util.program_log_lock = program_log_lock
+
+ flags.installer_mode = True
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_2.2.0.bb b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_2.2.0.bb
new file mode 100644
index 000000000..cacca67e2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_2.2.0.bb
@@ -0,0 +1,46 @@
+DESCRIPTION = "A python module for system storage configuration"
+HOMEPAGE = "http://fedoraproject.org/wiki/blivet"
+LICENSE = "LGPLv2+"
+SECTION = "devel/python"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+S = "${WORKDIR}/git"
+B = "${S}"
+
+SRCREV = "39db82f20d8d4904c0c4dc8912e595177c59e091"
+SRC_URI = "git://github.com/rhinstaller/blivet;branch=2.2-devel \
+ file://0001-comment-out-selinux.patch \
+ file://0002-run_program-support-timeout.patch\
+ file://0003-support-infinit-timeout.patch \
+ file://0004-Mount-var-volatile-during-install.patch \
+ file://0005-update-fstab-by-appending.patch \
+ file://0006-fix-new.roots-object-is-not-iterable.patch \
+ file://0007-fix-incorrect-timeout-while-system-time-changed.patch \
+ file://0008-tweak-btrfs-packages.patch \
+ file://0009-invoking-mount-with-infinite-timeout.patch \
+ file://0010-use-oe-variable-to-replace-hardcoded-dir.patch \
+ file://0011-invoking-fsck-with-infinite-timeout.patch \
+ file://0012-invoking-mkfs-with-infinite-timeout.patch \
+ file://0013-Revert-Adapt-to-logging-module-name-change.patch \
+"
+
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+inherit setuptools3 python3native
+
+RDEPENDS_${PN} = "python3-pykickstart python3-pyudev \
+ parted python3-pyparted multipath-tools \
+ lsof cryptsetup libblockdev \
+ libbytesize \
+"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1/system-services \
+"
+
+inherit systemd
+
+SYSTEMD_AUTO_ENABLE = "disable"
+SYSTEMD_SERVICE_${PN} = "blivet.service"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.5.bb b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.5.bb
new file mode 100644
index 000000000..ac507ca0e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.5.bb
@@ -0,0 +1,27 @@
+DESCRIPTION = "GUI tool for storage configuration using blivet library"
+HOMEPAGE = "https://github.com/rhinstaller/blivet-gui"
+LICENSE = "GPLv2+"
+SECTION = "devel/python"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+S = "${WORKDIR}/git"
+B = "${S}"
+
+SRCREV = "52ae8c000843c05abd1d8749f44bbe2e5d891d3d"
+SRC_URI = "git://github.com/rhinstaller/blivet-gui;branch=master \
+"
+
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+inherit setuptools3 python3native
+
+RDEPENDS_${PN} = "python3-pygobject python3 \
+ python3-blivet gtk+3 \
+ python3-pid libreport \
+"
+
+FILES_${PN} += " \
+ ${datadir}/* \
+ "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.45.bb b/import-layers/meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.45.bb
new file mode 100644
index 000000000..6ace49781
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.45.bb
@@ -0,0 +1,17 @@
+SUMMARY = "A python library for handling exceptions"
+DESCRIPTION = "The python-meh package is a python library for handling, saving, and reporting \
+exceptions."
+HOMEPAGE = "http://git.fedorahosted.org/git/?p=python-meh.git"
+LICENSE = "GPLv2+"
+
+inherit setuptools3
+
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/rhinstaller/python-meh.git;protocol=https;branch=master \
+"
+SRCREV = "2bfc751fd680515d44f7096945a1e282a1f7d6aa"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+FILES_${PN} += "${datadir}/*"
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0001-support-authentication-for-kickstart.patch b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0001-support-authentication-for-kickstart.patch
new file mode 100644
index 000000000..617699db0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0001-support-authentication-for-kickstart.patch
@@ -0,0 +1,151 @@
+From d0d8890b5ef74c315381c9e1cff4b1d32892116b Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 1 Jun 2017 15:07:36 +0800
+Subject: [PATCH 1/4] support authentication for kickstart
+
+While download kickstart file from web server,
+we support basic/digest authentication.
+
+Add KickstartAuthError to report authentication failure,
+which the invoker could parse this specific error.
+
+Upstream-Status: inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ pykickstart/errors.py | 19 +++++++++++++++++++
+ pykickstart/load.py | 32 +++++++++++++++++++++++++++-----
+ pykickstart/parser.py | 4 ++--
+ 3 files changed, 48 insertions(+), 7 deletions(-)
+
+diff --git a/pykickstart/errors.py b/pykickstart/errors.py
+index b76e84c..fd81bc8 100644
+--- a/pykickstart/errors.py
++++ b/pykickstart/errors.py
+@@ -35,6 +35,10 @@ It also exports several exception classes:
+
+ KickstartVersionError - An exception for errors relating to unsupported
+ syntax versions.
++
++ KickstartAuthError - An exception for errors relating to authentication
++ failed while downloading kickstart from web server
++
+ """
+ import warnings
+
+@@ -103,3 +107,18 @@ class KickstartVersionError(KickstartError):
+
+ def __str__ (self):
+ return self.value
++
++class KickstartAuthError(KickstartError):
++ """An exception for errors relating to authentication failed while
++ downloading kickstart from web server
++ """
++ def __init__(self, msg):
++ """Create a new KickstartAuthError exception instance with the
++ descriptive message val. val should be the return value of
++ formatErrorMsg.
++ """
++ KickstartError.__init__(self, msg)
++
++ def __str__(self):
++ return self.value
++
+diff --git a/pykickstart/load.py b/pykickstart/load.py
+index 1f69b9c..0f5741b 100644
+--- a/pykickstart/load.py
++++ b/pykickstart/load.py
+@@ -18,10 +18,13 @@
+ # with the express permission of Red Hat, Inc.
+ #
+ import requests
++from requests.auth import HTTPDigestAuth
++from requests.auth import HTTPBasicAuth
++
+ import shutil
+ import six
+
+-from pykickstart.errors import KickstartError
++from pykickstart.errors import KickstartError, KickstartAuthError
+ from pykickstart.i18n import _
+ from requests.exceptions import SSLError, RequestException
+
+@@ -29,7 +32,7 @@ _is_url = lambda location: '://' in location # RFC 3986
+
+ SSL_VERIFY = True
+
+-def load_to_str(location):
++def load_to_str(location, user=None, passwd=None):
+ '''Load a destination URL or file into a string.
+ Type of input is inferred automatically.
+
+@@ -40,7 +43,7 @@ def load_to_str(location):
+ Raises: KickstartError on error reading'''
+
+ if _is_url(location):
+- return _load_url(location)
++ return _load_url(location, user=user, passwd=passwd)
+ else:
+ return _load_file(location)
+
+@@ -71,13 +74,32 @@ def load_to_file(location, destination):
+ _copy_file(location, destination)
+ return destination
+
++def _get_auth(location, user=None, passwd=None):
++
++ auth = None
++ request = requests.get(location, verify=SSL_VERIFY)
++ if request.status_code == requests.codes.unauthorized:
++ if user is None or passwd is None:
++ log.info("Require Authentication")
++ raise KickstartAuthError("Require Authentication.\nAppend 'ksuser=<username> kspasswd=<password>' to boot command")
+
++ reasons = request.headers.get("WWW-Authenticate", "").split()
++ if reasons:
++ auth_type = reasons[0]
++ if auth_type == "Basic":
++ auth = HTTPBasicAuth(user, passwd)
++ elif auth_type == "Digest":
++ auth=HTTPDigestAuth(user, passwd)
+
+-def _load_url(location):
++ return auth
++
++def _load_url(location, user=None, passwd=None):
+ '''Load a location (URL or filename) and return contents as string'''
+
++ auth = _get_auth(location, user=user, passwd=passwd)
++
+ try:
+- request = requests.get(location, verify=SSL_VERIFY)
++ request = requests.get(location, verify=SSL_VERIFY, auth=auth)
+ except SSLError as e:
+ raise KickstartError(_('Error securely accessing URL "%s"') % location + ': {e}'.format(e=str(e)))
+ except RequestException as e:
+diff --git a/pykickstart/parser.py b/pykickstart/parser.py
+index d2b0fbe..26b5de9 100644
+--- a/pykickstart/parser.py
++++ b/pykickstart/parser.py
+@@ -773,7 +773,7 @@ class KickstartParser(object):
+ i = PutBackIterator(s.splitlines(True) + [""])
+ self._stateMachine (i)
+
+- def readKickstart(self, f, reset=True):
++ def readKickstart(self, f, reset=True, username=None, password=None):
+ """Process a kickstart file, given by the filename f."""
+ if reset:
+ self._reset()
+@@ -794,7 +794,7 @@ class KickstartParser(object):
+ self.currentdir[self._includeDepth] = cd
+
+ try:
+- s = load_to_str(f)
++ s = load_to_str(f, user=username, passwd=password)
+ except KickstartError as e:
+ raise KickstartError(formatErrorMsg(0, msg=_("Unable to open input kickstart file: %s") % str(e)))
+
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch
new file mode 100644
index 000000000..cb2123546
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch
@@ -0,0 +1,76 @@
+From e6e747b883114bfad51ad93f823e65f5a4d6438a Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 1 Jun 2017 15:12:29 +0800
+Subject: [PATCH 2/4] pykickstart/parser.py: add lock for readKickstart and
+ support https without certification
+
+- Add lock for readKickstart to fix race issue
+
+- Support to download kickstart file through https without certification
+
+Upstream-Status: Inappropriate[oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ pykickstart/load.py | 2 +-
+ pykickstart/parser.py | 24 ++++++++++++++++++++++++
+ 2 files changed, 25 insertions(+), 1 deletion(-)
+
+diff --git a/pykickstart/load.py b/pykickstart/load.py
+index 0f5741b..48c8276 100644
+--- a/pykickstart/load.py
++++ b/pykickstart/load.py
+@@ -30,7 +30,7 @@ from requests.exceptions import SSLError, RequestException
+
+ _is_url = lambda location: '://' in location # RFC 3986
+
+-SSL_VERIFY = True
++SSL_VERIFY = False
+
+ def load_to_str(location, user=None, passwd=None):
+ '''Load a destination URL or file into a string.
+diff --git a/pykickstart/parser.py b/pykickstart/parser.py
+index 26b5de9..264ba05 100644
+--- a/pykickstart/parser.py
++++ b/pykickstart/parser.py
+@@ -57,6 +57,26 @@ STATE_COMMANDS = "commands"
+
+ ver = version.DEVEL
+
++import logging
++log = logging.getLogger("anaconda")
++
++import inspect
++import threading
++_private_ks_lock = threading.RLock()
++
++class KsLock(object):
++ def __enter__(self):
++ log.info("%s %s" % (self.__class__.__name__, inspect.stack()[0][3]))
++ _private_ks_lock.acquire()
++ return _private_ks_lock
++
++ def __exit__(self, exc_type, exc_val, exc_tb):
++ log.info("%s %s" % (self.__class__.__name__, inspect.stack()[0][3]))
++ _private_ks_lock.release()
++
++
++_ks_lock = KsLock()
++
+ def _preprocessStateMachine (lineIter):
+ l = None
+ lineno = 0
+@@ -774,6 +794,10 @@ class KickstartParser(object):
+ self._stateMachine (i)
+
+ def readKickstart(self, f, reset=True, username=None, password=None):
++ with _ks_lock:
++ self._readKickstart(f, reset=reset, username=username, password=password)
++
++ def _readKickstart(self, f, reset=True, username=None, password=None):
+ """Process a kickstart file, given by the filename f."""
+ if reset:
+ self._reset()
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0003-comment-out-sections-shutdown-and-environment-in-gen.patch b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0003-comment-out-sections-shutdown-and-environment-in-gen.patch
new file mode 100644
index 000000000..9fb25fb18
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0003-comment-out-sections-shutdown-and-environment-in-gen.patch
@@ -0,0 +1,48 @@
+From be6012a5dd49ae5e8ac035654ab1c6f37f0dc8f4 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 1 Jun 2017 15:15:15 +0800
+Subject: [PATCH 3/4] comment out sections shutdown and environment in
+ generated kickstart file
+
+Both of them is disabled by default.
+
+Upstream-Status: Inappropriate[oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+fixup! add comments of shutdown for user
+---
+ pykickstart/commands/reboot.py | 3 +++
+ pykickstart/parser.py | 2 +-
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/pykickstart/commands/reboot.py b/pykickstart/commands/reboot.py
+index 88799ba..2d0cea9 100644
+--- a/pykickstart/commands/reboot.py
++++ b/pykickstart/commands/reboot.py
+@@ -41,6 +41,9 @@ class FC3_Reboot(KickstartCommand):
+ elif self.action == KS_SHUTDOWN:
+ retval += "# Shutdown after installation\nshutdown"
+ retval += self._getArgsAsStr() + "\n"
++ else:
++ retval += "# Shutdown after installation\n#shutdown"
++ retval += self._getArgsAsStr() + "\n"
+
+ return retval
+
+diff --git a/pykickstart/parser.py b/pykickstart/parser.py
+index 264ba05..b3f33d7 100644
+--- a/pykickstart/parser.py
++++ b/pykickstart/parser.py
+@@ -383,7 +383,7 @@ class Packages(KickstartObject):
+
+ if not self.default:
+ if self.environment:
+- pkgs += "@^%s\n" % self.environment
++ pkgs += "#@^%s\n" % self.environment
+
+ grps = self.groupList
+ grps.sort()
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0004-load.py-retry-to-invoke-request-with-timeout.patch b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0004-load.py-retry-to-invoke-request-with-timeout.patch
new file mode 100644
index 000000000..70254f6fd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0004-load.py-retry-to-invoke-request-with-timeout.patch
@@ -0,0 +1,82 @@
+From c0e63f0d3c09bdabb0ad2c88b7cc73e7618dd86a Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 15 Jun 2017 17:35:33 +0800
+Subject: [PATCH 4/4] load.py: retry to invoke request with timeout
+
+While networkless, use request to fetch kickstart file from
+network, it failed and wait 300s to break, we should retry
+to invoke request with timeout explicitly. So if it the
+network is up, the fetch works.
+
+Upstream-Status: inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ pykickstart/load.py | 30 ++++++++++++++++++++++++++++++
+ 1 file changed, 30 insertions(+)
+
+diff --git a/pykickstart/load.py b/pykickstart/load.py
+index 48c8276..74b266b 100644
+--- a/pykickstart/load.py
++++ b/pykickstart/load.py
+@@ -21,6 +21,7 @@ import requests
+ from requests.auth import HTTPDigestAuth
+ from requests.auth import HTTPBasicAuth
+
++import time
+ import shutil
+ import six
+
+@@ -28,6 +29,9 @@ from pykickstart.errors import KickstartError, KickstartAuthError
+ from pykickstart.i18n import _
+ from requests.exceptions import SSLError, RequestException
+
++import logging
++log = logging.getLogger("anaconda")
++
+ _is_url = lambda location: '://' in location # RFC 3986
+
+ SSL_VERIFY = False
+@@ -74,6 +78,29 @@ def load_to_file(location, destination):
+ _copy_file(location, destination)
+ return destination
+
++def _access_url(location):
++ status = False
++
++ # Retry 45 times, wait 45s~135s
++ i = 0
++ while i < 45:
++
++ try:
++ request = requests.get(location, verify=SSL_VERIFY, timeout=2)
++ except RequestException as e:
++ log.info("Try '%s' %d times, %s" % (location, i, str(e)))
++ status = False
++ i += 1
++ time.sleep(1)
++ continue
++
++ else:
++ status = True
++ return status
++
++ return status
++
++
+ def _get_auth(location, user=None, passwd=None):
+
+ auth = None
+@@ -96,6 +123,9 @@ def _get_auth(location, user=None, passwd=None):
+ def _load_url(location, user=None, passwd=None):
+ '''Load a location (URL or filename) and return contents as string'''
+
++ if not _access_url(location):
++ raise KickstartError(_("Connection %s failed" % location))
++
+ auth = _get_auth(location, user=user, passwd=passwd)
+
+ try:
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0005-tweak-shebang-to-python3.patch b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0005-tweak-shebang-to-python3.patch
new file mode 100644
index 000000000..3d614955b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0005-tweak-shebang-to-python3.patch
@@ -0,0 +1,25 @@
+From 8a1f598223bd4cbcc877eb2aba3f5586c75c9d14 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 21 Aug 2017 10:05:06 +0800
+Subject: [PATCH] tweak shebang to python3
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ tools/ksvalidator.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tools/ksvalidator.py b/tools/ksvalidator.py
+index d6051d5..c3682e8 100755
+--- a/tools/ksvalidator.py
++++ b/tools/ksvalidator.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python
++#!/usr/bin/python3
+ #
+ # Chris Lumens <clumens@redhat.com>
+ #
+--
+1.8.3.1
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_2.35.bb b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_2.35.bb
new file mode 100644
index 000000000..7fe603b55
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_2.35.bb
@@ -0,0 +1,24 @@
+DESCRIPTION = "A python library for manipulating kickstart files"
+HOMEPAGE = "http://fedoraproject.org/wiki/pykickstart"
+LICENSE = "GPLv2+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+DEPENDS = "python3"
+RDEPENDS_${PN} = "python3 \
+ python3-requests \
+ python3-six \
+"
+
+S = "${WORKDIR}/git"
+SRC_URI = "git://github.com/rhinstaller/pykickstart.git;protocol=https;branch=pykickstart-2 \
+ file://0001-support-authentication-for-kickstart.patch \
+ file://0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch \
+ file://0003-comment-out-sections-shutdown-and-environment-in-gen.patch \
+ file://0004-load.py-retry-to-invoke-request-with-timeout.patch \
+ file://0005-tweak-shebang-to-python3.patch \
+ "
+SRCREV = "b2787a818540e678c2f9c5dca0c6bbd65b8b55e5"
+
+inherit setuptools3
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted.inc b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted.inc
new file mode 100644
index 000000000..65f8ca14d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted.inc
@@ -0,0 +1,21 @@
+DESCRIPTION = "pyparted is a set of Python modules that provide Python programmers \
+an interface to libparted, the GNU parted library for disk partitioning and \
+filesystem manipulation."
+SUMMARY = "Python bindings for libparted"
+HOMEPAGE = "https://github.com/rhinstaller/pyparted"
+LICENSE = "GPL-2.0+"
+LIC_FILES_CHKSUM = "\
+ file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
+ file://src/_pedmodule.c;startline=10;endline=22;md5=ebcb25dde1ac9c46e986dec79b404e7e \
+"
+DEPENDS += "parted"
+
+# upstream only publishes releases in github archives which are discouraged
+SRCREV = "69c4a478e43d3eff6ae3a0116fa38da06776d5f5"
+SRC_URI = "git://github.com/rhinstaller/pyparted.git;protocol=https \
+ file://0001-fix-version-float-check.patch \
+"
+S = "${WORKDIR}/git"
+
+RDEPENDS_${PN} += "parted (>= 2.3)"
+RDEPENDS_${PN}_class-native = ""
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted_3.10.7.bb b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted_3.10.7.bb
index 8335d08c3..8a15a89fd 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted_3.10.7.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted_3.10.7.bb
@@ -1,27 +1,12 @@
-DESCRIPTION = "pyparted is a set of Python modules that provide Python programmers \
-an interface to libparted, the GNU parted library for disk partitioning and \
-filesystem manipulation."
-SUMMARY = "Python bindings for libparted"
-HOMEPAGE = "https://github.com/rhinstaller/pyparted"
-LICENSE = "GPL-2.0+"
-LIC_FILES_CHKSUM = "\
- file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
- file://src/_pedmodule.c;startline=10;endline=22;md5=ebcb25dde1ac9c46e986dec79b404e7e \
-"
-DEPENDS += "parted python-re"
+require python-pyparted.inc
-PV = "3.10.7+git${SRCPV}"
+DEPENDS += "python-re"
-# upstream only publishes releases in github archives which are discouraged
-SRCREV = "69c4a478e43d3eff6ae3a0116fa38da06776d5f5"
-SRC_URI = "git://github.com/rhinstaller/pyparted.git;protocol=https \
- file://0001-fix-version-float-check.patch \
-"
-S = "${WORKDIR}/git"
+PV = "3.10.7+git${SRCPV}"
inherit distutils
-RDEPENDS_${PN} += "python-stringold python-codecs python-math parted (>= 2.3)"
+RDEPENDS_${PN} += "python-stringold python-codecs python-math"
RDEPENDS_${PN}_class-native = ""
BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted/0001-fix-version-float-check.patch b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted/0001-fix-version-float-check.patch
new file mode 100644
index 000000000..14fb0bb3e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted/0001-fix-version-float-check.patch
@@ -0,0 +1,26 @@
+check_mod_version breaks if module version is of x.y.z form
+use a regex to help cast x.y.z version to a float
+
+Upstream-Status: Pending
+
+Index: git/setup.py
+===================================================================
+--- git.orig/setup.py
++++ git/setup.py
+@@ -25,6 +25,7 @@ import glob
+ import os
+ import platform
+ import sys
++import re
+ from distutils.ccompiler import new_compiler
+ from distutils.errors import CompileError
+ from distutils.errors import LinkError
+@@ -51,6 +52,8 @@ def pkgconfig(*packages, **kwargs):
+
+ def check_mod_version(module, version):
+ modversion = subprocess.check_output(["pkg-config", "--modversion", module])
++ match = re.search(b'([0-9]+\.[0-9]+)', modversion)
++ modversion = match.group(0)
+ if not float(modversion) >= float(version):
+ sys.stderr.write("*** Minimum required %s version: %s, found: %s\n" % (module, version, modversion,))
+ sys.exit(1)
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.10.7.bb b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.10.7.bb
new file mode 100644
index 000000000..ff72c2a65
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.10.7.bb
@@ -0,0 +1,12 @@
+require python-pyparted.inc
+
+DEPENDS += "python3-re"
+
+PV = "3.10.7+git${SRCPV}"
+
+inherit distutils3
+
+RDEPENDS_${PN} += "python3-stringold python3-codecs python3-math"
+RDEPENDS_${PN}_class-native = ""
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/pywbem/pywbem_0.8.0.bb b/import-layers/meta-openembedded/meta-python/recipes-extended/pywbem/pywbem_0.8.0.bb
index 7f1986e51..7f1986e51 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/pywbem/pywbem_0.8.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/pywbem/pywbem_0.8.0.bb
diff --git a/import-layers/meta-openembedded/meta-ruby/COPYING.MIT b/import-layers/meta-openembedded/meta-ruby/COPYING.MIT
deleted file mode 100644
index fb950dc69..000000000
--- a/import-layers/meta-openembedded/meta-ruby/COPYING.MIT
+++ /dev/null
@@ -1,17 +0,0 @@
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/import-layers/meta-openembedded/meta-ruby/README b/import-layers/meta-openembedded/meta-ruby/README
deleted file mode 100644
index 137bd1384..000000000
--- a/import-layers/meta-openembedded/meta-ruby/README
+++ /dev/null
@@ -1,17 +0,0 @@
-This layer depends on:
-
-URI: git://github.com/openembedded/oe-core.git
-branch: pyro
-revision: HEAD
-
-URI: git://github.com/openembedded/meta-oe.git
-branch: pyro
-revision: HEAD
-
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-ruby][pyro]' 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][pyro][PATCH'
-
-pyro Branch Maintainer:
-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
deleted file mode 100644
index 1acf2e0bd..000000000
--- a/import-layers/meta-openembedded/meta-ruby/classes/ruby.bbclass
+++ /dev/null
@@ -1,131 +0,0 @@
-BPV ?= "${PV}"
-
-DEPENDS += " \
- ruby-native \
-"
-RDEPENDS_${PN} += " \
- ruby \
-"
-
-def get_rubyversion(p):
- import re
- from os.path import isfile
- import subprocess
- found_version = "SOMETHING FAILED!"
-
- cmd = "%s/ruby" % p
-
- if not isfile(cmd):
- return found_version
-
- 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)
- if m:
- found_version = m.group(1)
-
- return found_version
-
-def get_rubygemslocation(p):
- import re
- from os.path import isfile
- import subprocess
- found_loc = "SOMETHING FAILED!"
-
- cmd = "%s/gem" % p
-
- if not isfile(cmd):
- return found_loc
-
- 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'):
- m = r.match(line)
- if m:
- found_loc = m.group(1)
- break
-
- return found_loc
-
-def get_rubygemsversion(p):
- import re
- from os.path import isfile
- import subprocess
- found_version = "SOMETHING FAILED!"
-
- cmd = "%s/gem" % p
-
- if not isfile(cmd):
- return found_version
-
- 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)
- if m:
- found_version = m.group(1)
-
- return found_version
-
-RUBY_VERSION ?= "${@get_rubyversion("${STAGING_BINDIR_NATIVE}")}"
-RUBY_GEM_DIRECTORY ?= "${@get_rubygemslocation("${STAGING_BINDIR_NATIVE}")}"
-RUBY_GEM_VERSION ?= "${@get_rubygemsversion("${STAGING_BINDIR_NATIVE}")}"
-
-export GEM_HOME = "${STAGING_DIR_NATIVE}/usr/lib/ruby/gems/${RUBY_GEM_VERSION}"
-
-RUBY_BUILD_GEMS ?= "${BPN}.gemspec"
-RUBY_INSTALL_GEMS ?= "${BPN}-${BPV}.gem"
-
-RUBY_COMPILE_FLAGS ?= 'LANG="en_US.UTF-8" LC_ALL="en_US.UTF-8"'
-
-ruby_do_compile() {
- for gem in ${RUBY_BUILD_GEMS}; do
- ${RUBY_COMPILE_FLAGS} gem build $gem
- done
-}
-
-
-ruby_do_install() {
- for gem in ${RUBY_INSTALL_GEMS}; do
- gem install --ignore-dependencies --local --env-shebang --install-dir ${D}/${libdir}/ruby/gems/${RUBY_GEM_VERSION}/ $gem
- done
-
- # create symlink from the gems bin directory to /usr/bin
- for i in ${D}/${libdir}/ruby/gems/${RUBY_GEM_VERSION}/bin/*; do
- if [ -e "$i" ]; then
- if [ ! -d ${D}/${bindir} ]; then mkdir -p ${D}/${bindir}; fi
- b=`basename $i`
- ln -sf ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/bin/$b ${D}/${bindir}/$b
- fi
- done
-}
-
-EXPORT_FUNCTIONS do_compile do_install
-
-PACKAGES = "${PN}-dbg ${PN} ${PN}-doc ${PN}-dev"
-
-FILES_${PN}-dbg += " \
- ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/gems/*/*/.debug \
- ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/gems/*/*/*/.debug \
- ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/gems/*/*/*/*/.debug \
- ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/gems/*/*/*/*/*/.debug \
- ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/extensions/*/*/.debug \
- ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/extensions/*/*/*/.debug \
- ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/extensions/*/*/*/*/.debug \
- ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/extensions/*/*/*/*/*/.debug \
- "
-
-FILES_${PN} += " \
- ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/gems \
- ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/cache \
- ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/bin \
- ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/specifications \
- ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/build_info \
- ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/extensions \
- "
-
-FILES_${PN}-doc += " \
- ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/doc \
- "
diff --git a/import-layers/meta-openembedded/meta-ruby/conf/layer.conf b/import-layers/meta-openembedded/meta-ruby/conf/layer.conf
deleted file mode 100644
index b526a5d39..000000000
--- a/import-layers/meta-openembedded/meta-ruby/conf/layer.conf
+++ /dev/null
@@ -1,15 +0,0 @@
-# We have a conf and classes directory, append to BBPATH
-BBPATH .= ":${LAYERDIR}"
-
-# We have a recipes directory, add to BBFILES
-BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend"
-
-BBFILE_COLLECTIONS += "ruby-layer"
-BBFILE_PATTERN_ruby-layer := "^${LAYERDIR}/"
-BBFILE_PRIORITY_ruby-layer = "7"
-
-# This should only be incremented on significant changes that will
-# cause compatibility issues with other layers
-LAYERVERSION_ruby-layer = "1"
-
-LAYERDEPENDS_ruby-layer = "core openembedded-layer"
diff --git a/import-layers/meta-openembedded/meta-ruby/recipes-devtools/ruby/bundler_git.bb b/import-layers/meta-openembedded/meta-ruby/recipes-devtools/ruby/bundler_git.bb
deleted file mode 100644
index df89520b6..000000000
--- a/import-layers/meta-openembedded/meta-ruby/recipes-devtools/ruby/bundler_git.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "Makes sure Ruby applications run the same code on every machine."
-DESCRIPTION = "Bundler makes sure Ruby applications run the same code \
-on every machine. It does this by managing the gems that the \
-application depends on. Given a list of gems, it can automatically \
-download and install those gems, as well as any other gems needed by \
-the gems that are listed. Before installing gems, it checks the \
-versions of every gem to make sure that they are compatible, and can \
-all be loaded at the same time. After the gems have been installed, \
-Bundler can help you update some or all of them when new versions \
-become available. Finally, it records the exact versions that have \
-been installed, so that others can install the exact same gems."
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=196bb963e601609817d7e9ac9a64a867"
-
-SRCREV = "06dc8472b9142fd6aaefff780d6d252c20dc2a04"
-
-BRANCH = "1-9-stable"
-PV = "1.9.4"
-
-S = "${WORKDIR}/git"
-
-SRC_URI = " \
- git://github.com/bundler/bundler.git;branch=${BRANCH} \
- "
-
-inherit ruby
-
-RDEPENDS_${PN} = "git"
-
-BBCLASSEXTEND = "native"
-
-PNBLACKLIST[bundler] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130640/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-systemd/README b/import-layers/meta-openembedded/meta-systemd/README
deleted file mode 100644
index 804fc3ff4..000000000
--- a/import-layers/meta-openembedded/meta-systemd/README
+++ /dev/null
@@ -1,26 +0,0 @@
-This layer depends on:
-
-URI: git://github.com/openembedded/oe-core.git
-branch: pyro
-revision: HEAD
-
-And we're working to break the dependency on this one:
-
-URI: git://github.com/openembedded/meta-oe.git
-branch: pyro
-revision: HEAD
-
-To make BBMASK'ing per layer possible the following directory structure is
-used:
-
-$[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][pyro]' 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][pyro][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.
-
-pyro Branch Maintainer:
-Armin Kuster <akuster808@gmail.com>
diff --git a/import-layers/meta-openembedded/meta-systemd/conf/layer.conf b/import-layers/meta-openembedded/meta-systemd/conf/layer.conf
deleted file mode 100644
index 0563f44cc..000000000
--- a/import-layers/meta-openembedded/meta-systemd/conf/layer.conf
+++ /dev/null
@@ -1,32 +0,0 @@
-# It really depends on order of the layers appearing in BBLAYERS
-# variable in toplevel bblayers.conf file, where bitbake will search
-# for .inc files and others where bitbake uses BBPATH since it will
-# search the directories from first to last as specified in BBPATH
-# Therefore if you want a given layer to be considered high priority
-# for the .inc and .conf etc. then consider it adding at the beginning
-# of BBPATH. For bblayers bitbake will use BBFILES_PRIORITY to resolve
-# the recipe contention so the order of directories in BBFILES does
-# not matter.
-
-# We have a conf and classes directory, append to BBPATH
-BBPATH .= ":${LAYERDIR}"
-
-# We have a recipes directory, add to BBFILES
-BBFILES += "\
- ${LAYERDIR}/recipes-*/*/*.bb \
- ${LAYERDIR}/oe-core/recipes-*/*/*.bbappend \
-"
-
-BBFILE_COLLECTIONS += "systemd-layer"
-BBFILE_PATTERN_systemd-layer := "^${LAYERDIR}/"
-
-# Define the priority for recipes (.bb files) from this layer,
-# choosing carefully how this layer interacts with all of the
-# other layers.
-
-BBFILE_PRIORITY_systemd-layer = "7"
-
-SIGGEN_EXCLUDERECIPES_ABISAFE += " \
- systemd-serialgetty \
-"
-LAYERDEPENDS_systemd-layer = "core"
diff --git a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-bsp/keymaps/keymaps_1.0.bbappend b/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-bsp/keymaps/keymaps_1.0.bbappend
deleted file mode 100644
index 181b8784d..000000000
--- a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-bsp/keymaps/keymaps_1.0.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-
diff --git a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/avahi/avahi_%.bbappend b/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/avahi/avahi_%.bbappend
deleted file mode 100644
index 181b8784d..000000000
--- a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/avahi/avahi_%.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-
diff --git a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/connman/connman_%.bbappend b/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/connman/connman_%.bbappend
deleted file mode 100644
index f006b3fb5..000000000
--- a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/connman/connman_%.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
diff --git a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp/dhclient.service b/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp/dhclient.service
deleted file mode 100644
index c9620cf09..000000000
--- a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp/dhclient.service
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=Dynamic Host Configuration Protocol (DHCP)
-After=syslog.target network.target
-
-[Service]
-Type=forking
-PIDFile=/var/run/dhclient.pid
-EnvironmentFile=-/etc/default/dhcp-client
-ExecStart=/sbin/dhclient -cf /etc/dhcp/dhclient.conf -q -lf /var/lib/dhcp/dhclient.leases $INTERFACES
-
-[Install]
-WantedBy=multi-user.target
-
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
deleted file mode 100644
index 9c7d93f16..000000000
--- a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp_%.bbappend
+++ /dev/null
@@ -1,24 +0,0 @@
-# look for files in the layer first
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-SYSTEMD_PACKAGES += "dhcp-client"
-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"
-RREPLACES_dhcp-server += "dhcp-server-systemd"
-RCONFLICTS_dhcp-server += "dhcp-server-systemd"
-RPROVIDES_dhcp-relay += "dhcp-relay-systemd"
-RREPLACES_dhcp-relay += "dhcp-relay-systemd"
-RCONFLICTS_dhcp-relay += "dhcp-relay-systemd"
-RPROVIDES_${PN}-client += "dhcp-client-systemd"
-RREPLACES_${PN}-client += "dhcp-client-systemd"
-RCONFLICTS_${PN}-client += "dhcp-client-systemd"
-
-SRC_URI += "file://dhclient.service"
-
-do_install_append() {
- install -m 0644 ${WORKDIR}/dhclient.service ${D}${systemd_unitdir}/system
-}
-
diff --git a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/ofono/ofono_%.bbappend b/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/ofono/ofono_%.bbappend
deleted file mode 100644
index 17a312459..000000000
--- a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/ofono/ofono_%.bbappend
+++ /dev/null
@@ -1,5 +0,0 @@
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-
-SYSTEMD_AUTO_ENABLE = "disable"
diff --git a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/openssh/openssh_%.bbappend b/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/openssh/openssh_%.bbappend
deleted file mode 100644
index dadbc1499..000000000
--- a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/openssh/openssh_%.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-RPROVIDES_${PN}-sshd += "${PN}-sshd-systemd"
-RREPLACES_${PN}-sshd += "${PN}-sshd-systemd"
-RCONFLICTS_${PN}-sshd += "${PN}-sshd-systemd"
diff --git a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/portmap/portmap_6.0.bbappend b/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/portmap/portmap_6.0.bbappend
deleted file mode 100644
index 6ce6e70d9..000000000
--- a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/portmap/portmap_6.0.bbappend
+++ /dev/null
@@ -1,5 +0,0 @@
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_AUTO_ENABLE = "disable"
-
diff --git a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/wpa-supplicant/wpa-supplicant_%.bbappend b/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/wpa-supplicant/wpa-supplicant_%.bbappend
deleted file mode 100644
index f006b3fb5..000000000
--- a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/wpa-supplicant/wpa-supplicant_%.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
diff --git a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-core/busybox/busybox_%.bbappend b/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-core/busybox/busybox_%.bbappend
deleted file mode 100644
index 642d450a5..000000000
--- a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-core/busybox/busybox_%.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-RPROVIDES_${PN}-syslog += "${PN}-syslog-systemd"
-RREPLACES_${PN}-syslog += "${PN}-syslog-systemd"
-RCONFLICTS_${PN}-syslog += "${PN}-syslog-systemd"
diff --git a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-core/dbus/dbus_%.bbappend b/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-core/dbus/dbus_%.bbappend
deleted file mode 100644
index f006b3fb5..000000000
--- a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-core/dbus/dbus_%.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
diff --git a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-core/dropbear/dropbear_%.bbappend b/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-core/dropbear/dropbear_%.bbappend
deleted file mode 100644
index 181b8784d..000000000
--- a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-core/dropbear/dropbear_%.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-
diff --git a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-core/systemd/systemd_%.bbappend b/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-core/systemd/systemd_%.bbappend
deleted file mode 100644
index f5aa547f1..000000000
--- a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-core/systemd/systemd_%.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-RPROVIDES_udev += "udev-systemd"
-RREPLACES_udev += "udev-systemd"
-RCONFLICTS_udev += "udev-systemd"
diff --git a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-core/util-linux/util-linux_%.bbappend b/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-core/util-linux/util-linux_%.bbappend
deleted file mode 100644
index f006b3fb5..000000000
--- a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-core/util-linux/util-linux_%.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
diff --git a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-extended/at/at_%.bbappend b/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-extended/at/at_%.bbappend
deleted file mode 100644
index 181b8784d..000000000
--- a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-extended/at/at_%.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-
diff --git a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-extended/cronie/cronie_%.bbappend b/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-extended/cronie/cronie_%.bbappend
deleted file mode 100644
index f006b3fb5..000000000
--- a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-extended/cronie/cronie_%.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
diff --git a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-extended/lighttpd/lighttpd_%.bbappend b/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-extended/lighttpd/lighttpd_%.bbappend
deleted file mode 100644
index f006b3fb5..000000000
--- a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-extended/lighttpd/lighttpd_%.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
diff --git a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-extended/rpcbind/rpcbind_%.bbappend b/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-extended/rpcbind/rpcbind_%.bbappend
deleted file mode 100644
index f006b3fb5..000000000
--- a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-extended/rpcbind/rpcbind_%.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
diff --git a/import-layers/meta-openembedded/meta-systemd/recipes-core/systemd/systemd-machine-units_1.0.bb b/import-layers/meta-openembedded/meta-systemd/recipes-core/systemd/systemd-machine-units_1.0.bb
deleted file mode 100644
index 6a66ac214..000000000
--- a/import-layers/meta-openembedded/meta-systemd/recipes-core/systemd/systemd-machine-units_1.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Machine specific systemd units"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-PR = "r18"
-
-inherit systemd
-SYSTEMD_SERVICE_${PN} = ""
-NATIVE_SYSTEMD_SUPPORT = "1"
-ALLOW_EMPTY_${PN} = "1"
diff --git a/import-layers/meta-openembedded/meta-webserver/README b/import-layers/meta-openembedded/meta-webserver/README
index fab7217ec..f2928ab6c 100644
--- a/import-layers/meta-openembedded/meta-webserver/README
+++ b/import-layers/meta-openembedded/meta-webserver/README
@@ -13,14 +13,14 @@ This layer depends on:
URI: git://github.com/openembedded/oe-core.git
subdirectory: meta
-branch: pyro
+branch: rocko
revision: HEAD
For some recipes, the meta-oe layer is required:
URI: git://github.com/openembedded/meta-oe.git
subdirectory: meta-oe
-branch: pyro
+branch: rocko
revision: HEAD
@@ -52,13 +52,9 @@ Maintenance
-----------
Send patches / pull requests to openembedded-devel@lists.openembedded.org
-with '[meta-webserver][pyro]' in the subject.
+with '[meta-webserver]' 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-webserver][pyro][PATCH'
-
-pyro Branch Maintainer:
-Armin Kuster <akuster808@gmail.com>
+Layer maintainer: Derek Straka <derek@asterius.io>
License
diff --git a/import-layers/meta-openembedded/meta-webserver/conf/layer.conf b/import-layers/meta-openembedded/meta-webserver/conf/layer.conf
index bb508a8de..84fdd81d1 100644
--- a/import-layers/meta-openembedded/meta-webserver/conf/layer.conf
+++ b/import-layers/meta-openembedded/meta-webserver/conf/layer.conf
@@ -15,7 +15,7 @@ BBFILE_PRIORITY_webserver = "6"
# cause compatibility issues with other layers
LAYERVERSION_webserver = "1"
-LAYERDEPENDS_webserver = "core"
+LAYERDEPENDS_webserver = "core openembedded-layer"
LICENSE_PATH += "${LAYERDIR}/licenses"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.25.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.25.bb
deleted file mode 100644
index 99717d260..000000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.25.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-DESCRIPTION = "The Apache HTTP Server is a powerful, efficient, and \
-extensible web server."
-SUMMARY = "Apache HTTP Server"
-HOMEPAGE = "http://httpd.apache.org/"
-DEPENDS = "expat-native pcre-native apr-native apr-util-native"
-SECTION = "net"
-LICENSE = "Apache-2.0"
-
-inherit autotools pkgconfig native
-
-SRC_URI = "${APACHE_MIRROR}/httpd/httpd-${PV}.tar.bz2 \
- file://0001-configure-use-pkg-config-for-PCRE-detection.patch \
- "
-
-S = "${WORKDIR}/httpd-${PV}"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=dbff5a2b542fa58854455bf1a0b94b83"
-SRC_URI[md5sum] = "2826f49619112ad5813c0be5afcc7ddb"
-SRC_URI[sha256sum] = "f87ec2df1c9fee3e6bfde3c8b855a3ddb7ca1ab20ca877bd0e2b6bf3f05c80b2"
-
-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.27.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.27.bb
new file mode 100644
index 000000000..4e893dbba
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.27.bb
@@ -0,0 +1,45 @@
+DESCRIPTION = "The Apache HTTP Server is a powerful, efficient, and \
+extensible web server."
+SUMMARY = "Apache HTTP Server"
+HOMEPAGE = "http://httpd.apache.org/"
+DEPENDS = "expat-native pcre-native apr-native apr-util-native"
+SECTION = "net"
+LICENSE = "Apache-2.0"
+
+inherit autotools pkgconfig native
+
+SRC_URI = "${APACHE_MIRROR}/httpd/httpd-${PV}.tar.bz2 \
+ file://0001-configure-use-pkg-config-for-PCRE-detection.patch \
+ "
+
+S = "${WORKDIR}/httpd-${PV}"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=dbff5a2b542fa58854455bf1a0b94b83"
+SRC_URI[md5sum] = "97b6bbfa83c866dbe20ef317e3afd108"
+SRC_URI[sha256sum] = "71fcc128238a690515bd8174d5330a5309161ef314a326ae45c7c15ed139c13a"
+
+EXTRA_OECONF = "--with-apr=${STAGING_BINDIR_CROSS}/apr-1-config \
+ --with-apr-util=${STAGING_BINDIR_CROSS}/apu-1-config \
+ --prefix=${prefix} --datadir=${datadir}/apache2 \
+ "
+
+do_install () {
+ install -d ${D}${bindir} ${D}${libdir}
+ cp server/gen_test_char ${D}${bindir}
+ install -m 755 support/apxs ${D}${bindir}/
+ install -m 755 httpd ${D}${bindir}/
+ install -d ${D}${datadir}/apache2/build
+ cp ${S}/build/*.mk ${D}${datadir}/apache2/build
+ cp build/*.mk ${D}${datadir}/apache2/build
+ cp ${S}/build/instdso.sh ${D}${datadir}/apache2/build
+
+ install -d ${D}${includedir}/apache2
+ cp ${S}/include/* ${D}${includedir}/apache2
+ cp include/* ${D}${includedir}/apache2
+ cp ${S}/os/unix/os.h ${D}${includedir}/apache2
+ cp ${S}/os/unix/unixd.h ${D}${includedir}/apache2
+
+ cp support/envvars-std ${D}${bindir}/envvars
+ chmod 755 ${D}${bindir}/envvars
+}
+
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.25.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.25.bb
deleted file mode 100644
index 0ba7d3cb8..000000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.25.bb
+++ /dev/null
@@ -1,182 +0,0 @@
-DESCRIPTION = "The Apache HTTP Server is a powerful, efficient, and \
-extensible web server."
-SUMMARY = "Apache HTTP Server"
-HOMEPAGE = "http://httpd.apache.org/"
-DEPENDS = "libtool-native apache2-native openssl expat pcre apr apr-util"
-SECTION = "net"
-LICENSE = "Apache-2.0"
-
-SRC_URI = "${APACHE_MIRROR}/httpd/httpd-${PV}.tar.bz2 \
- file://server-makefile.patch \
- file://httpd-2.4.1-corelimit.patch \
- file://httpd-2.4.4-export.patch \
- file://httpd-2.4.1-selinux.patch \
- file://apache-configure_perlbin.patch \
- file://replace-lynx-to-curl-in-apachectl-script.patch \
- file://apache-ssl-ltmain-rpath.patch \
- file://httpd-2.4.3-fix-race-issue-of-dir-install.patch \
- file://0001-configure-use-pkg-config-for-PCRE-detection.patch \
- file://configure-allow-to-disable-selinux-support.patch \
- file://init \
- file://apache2-volatile.conf \
- file://apache2.service \
- "
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=dbff5a2b542fa58854455bf1a0b94b83"
-SRC_URI[md5sum] = "2826f49619112ad5813c0be5afcc7ddb"
-SRC_URI[sha256sum] = "f87ec2df1c9fee3e6bfde3c8b855a3ddb7ca1ab20ca877bd0e2b6bf3f05c80b2"
-
-S = "${WORKDIR}/httpd-${PV}"
-
-inherit autotools update-rc.d pkgconfig systemd
-
-SYSTEMD_SERVICE_${PN} = "apache2.service"
-SYSTEMD_AUTO_ENABLE_${PN} = "disable"
-
-SSTATE_SCAN_FILES += "apxs config_vars.mk config.nice"
-
-CFLAGS_append = " -DPATH_MAX=4096"
-CFLAGS_prepend = "-I${STAGING_INCDIR}/openssl "
-EXTRA_OECONF = "--enable-ssl \
- --with-ssl=${STAGING_LIBDIR}/.. \
- --with-expat=${STAGING_LIBDIR}/.. \
- --with-apr=${STAGING_BINDIR_CROSS}/apr-1-config \
- --with-apr-util=${STAGING_BINDIR_CROSS}/apu-1-config \
- --enable-info \
- --enable-rewrite \
- --with-dbm=sdbm \
- --with-berkeley-db=no \
- --localstatedir=/var/${BPN} \
- --with-gdbm=no \
- --with-ndbm=no \
- --includedir=${includedir}/${BPN} \
- --datadir=${datadir}/${BPN} \
- --sysconfdir=${sysconfdir}/${BPN} \
- --libexecdir=${libdir}/${BPN}/modules \
- ap_cv_void_ptr_lt_long=no \
- --enable-mpms-shared \
- ac_cv_have_threadsafe_pollset=no"
-
-PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}"
-PACKAGECONFIG[selinux] = "--enable-selinux,--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/apache2/apache2_2.4.27.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.27.bb
new file mode 100644
index 000000000..18808676a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.27.bb
@@ -0,0 +1,194 @@
+DESCRIPTION = "The Apache HTTP Server is a powerful, efficient, and \
+extensible web server."
+SUMMARY = "Apache HTTP Server"
+HOMEPAGE = "http://httpd.apache.org/"
+DEPENDS = "libtool-native apache2-native openssl expat pcre apr apr-util"
+SECTION = "net"
+LICENSE = "Apache-2.0"
+
+SRC_URI = "${APACHE_MIRROR}/httpd/httpd-${PV}.tar.bz2 \
+ file://server-makefile.patch \
+ file://httpd-2.4.1-corelimit.patch \
+ file://httpd-2.4.4-export.patch \
+ file://httpd-2.4.1-selinux.patch \
+ file://apache-configure_perlbin.patch \
+ file://replace-lynx-to-curl-in-apachectl-script.patch \
+ file://apache-ssl-ltmain-rpath.patch \
+ file://httpd-2.4.3-fix-race-issue-of-dir-install.patch \
+ file://0001-configure-use-pkg-config-for-PCRE-detection.patch \
+ file://configure-allow-to-disable-selinux-support.patch \
+ file://init \
+ file://apache2-volatile.conf \
+ file://apache2.service \
+ file://volatiles.04_apache2 \
+ "
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=dbff5a2b542fa58854455bf1a0b94b83"
+SRC_URI[md5sum] = "97b6bbfa83c866dbe20ef317e3afd108"
+SRC_URI[sha256sum] = "71fcc128238a690515bd8174d5330a5309161ef314a326ae45c7c15ed139c13a"
+
+S = "${WORKDIR}/httpd-${PV}"
+
+inherit autotools update-rc.d pkgconfig systemd
+
+SYSTEMD_SERVICE_${PN} = "apache2.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+
+SSTATE_SCAN_FILES += "apxs config_vars.mk config.nice"
+
+CFLAGS_append = " -DPATH_MAX=4096"
+CFLAGS_prepend = "-I${STAGING_INCDIR}/openssl "
+EXTRA_OECONF = "--enable-ssl \
+ --with-ssl=${STAGING_LIBDIR}/.. \
+ --with-expat=${STAGING_LIBDIR}/.. \
+ --with-apr=${STAGING_BINDIR_CROSS}/apr-1-config \
+ --with-apr-util=${STAGING_BINDIR_CROSS}/apu-1-config \
+ --enable-info \
+ --enable-rewrite \
+ --with-dbm=sdbm \
+ --with-berkeley-db=no \
+ --localstatedir=/var/${BPN} \
+ --with-gdbm=no \
+ --with-ndbm=no \
+ --includedir=${includedir}/${BPN} \
+ --datadir=${datadir}/${BPN} \
+ --sysconfdir=${sysconfdir}/${BPN} \
+ --libexecdir=${libdir}/${BPN}/modules \
+ ap_cv_void_ptr_lt_long=no \
+ --enable-mpms-shared \
+ ac_cv_have_threadsafe_pollset=no"
+
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}"
+PACKAGECONFIG[selinux] = "--enable-selinux --enable-layout=Debian --prefix=${base_prefix}/,--disable-selinux,libselinux,libselinux"
+PACKAGECONFIG[openldap] = "--enable-ldap --enable-authnz-ldap,--disable-ldap --disable-authnz-ldap,openldap"
+
+do_configure_prepend() {
+ sed -i -e 's:$''{prefix}/usr/lib/cgi-bin:$''{libdir}/cgi-bin:g' ${S}/config.layout
+}
+
+do_install_append() {
+ install -d ${D}/${sysconfdir}/init.d
+ cat ${WORKDIR}/init | \
+ sed -e 's,/usr/sbin/,${sbindir}/,g' \
+ -e 's,/usr/bin/,${bindir}/,g' \
+ -e 's,/usr/lib,${libdir}/,g' \
+ -e 's,/etc/,${sysconfdir}/,g' \
+ -e 's,/usr/,${prefix}/,g' > ${D}/${sysconfdir}/init.d/${BPN}
+ chmod 755 ${D}/${sysconfdir}/init.d/${BPN}
+ # remove the goofy original files...
+ rm -rf ${D}/${sysconfdir}/${BPN}/original
+ # Expat should be found in the staging area via DEPENDS...
+ rm -f ${D}/${libdir}/libexpat.*
+
+ install -d ${D}${sysconfdir}/${BPN}/conf.d
+ install -d ${D}${sysconfdir}/${BPN}/modules.d
+
+ # Ensure configuration file pulls in conf.d and modules.d
+ printf "\nIncludeOptional ${sysconfdir}/${BPN}/conf.d/*.conf" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
+ printf "\nIncludeOptional ${sysconfdir}/${BPN}/modules.d/*.load" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
+ printf "\nIncludeOptional ${sysconfdir}/${BPN}/modules.d/*.conf\n\n" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
+ # match with that is in init script
+ printf "\nPidFile /run/httpd.pid" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
+ # Set 'ServerName' to fix error messages when restart apache service
+ sed -i 's/^#ServerName www.example.com/ServerName localhost/' ${D}/${sysconfdir}/${BPN}/httpd.conf
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/tmpfiles.d/
+ install -m 0644 ${WORKDIR}/apache2-volatile.conf ${D}${sysconfdir}/tmpfiles.d/
+ elif ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/default/volatiles
+ install -m 0644 ${WORKDIR}/volatiles.04_apache2 ${D}${sysconfdir}/default/volatiles/04_apache2
+ fi
+
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/apache2.service ${D}${systemd_unitdir}/system
+ sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/apache2.service
+ sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' ${D}${systemd_unitdir}/system/apache2.service
+
+ chown -R root:root ${D}
+}
+
+do_install_append_class-target() {
+ sed -i -e 's,${STAGING_DIR_HOST},,g' \
+ -e 's,APU_INCLUDEDIR = .*,APU_INCLUDEDIR = ,g' \
+ -e 's,APU_CONFIG = .*,APU_CONFIG = ,g' ${D}${datadir}/apache2/build/config_vars.mk
+
+ sed -i -e 's,${STAGING_DIR_HOST},,g' \
+ -e 's,".*/configure","configure",g' ${D}${datadir}/apache2/build/config.nice
+ rm -rf ${D}${localstatedir}/run
+}
+
+SYSROOT_PREPROCESS_FUNCS += "apache_sysroot_preprocess"
+
+apache_sysroot_preprocess () {
+ install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/
+ install -m 755 ${D}${bindir}/apxs ${SYSROOT_DESTDIR}${bindir_crossscripts}/
+ install -d ${SYSROOT_DESTDIR}${sbindir}/
+ install -m 755 ${D}${sbindir}/apachectl ${SYSROOT_DESTDIR}${sbindir}/
+ sed -i 's!my $installbuilddir = .*!my $installbuilddir = "${STAGING_DIR_HOST}/${datadir}/${BPN}/build";!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/apxs
+ sed -i 's!my $libtool = .*!my $libtool = "${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool";!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/apxs
+
+ sed -i 's!^APR_CONFIG = .*!APR_CONFIG = ${STAGING_BINDIR_CROSS}/apr-1-config!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
+ sed -i 's!^APU_CONFIG = .*!APU_CONFIG = ${STAGING_BINDIR_CROSS}/apu-1-config!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
+ sed -i 's!^includedir = .*!includedir = ${STAGING_INCDIR}/apache2!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
+ sed -i 's!^CFLAGS = -I[^ ]*!CFLAGS = -I${STAGING_INCDIR}/openssl!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
+ sed -i 's!^EXTRA_LDFLAGS = .*!EXTRA_LDFLAGS = -L${STAGING_LIBDIR}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
+ sed -i 's!^EXTRA_INCLUDES = .*!EXTRA_INCLUDES = -I$(includedir) -I. -I${STAGING_INCDIR}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
+ sed -i 's!--sysroot=[^ ]*!--sysroot=${STAGING_DIR_HOST}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
+}
+
+#
+# implications - used by update-rc.d scripts
+#
+INITSCRIPT_NAME = "apache2"
+INITSCRIPT_PARAMS = "defaults 91 20"
+LEAD_SONAME = "libapr-1.so.0"
+
+PACKAGES = "${PN}-scripts ${PN}-doc ${PN}-dev ${PN}-dbg ${PN}"
+
+CONFFILES_${PN} = "${sysconfdir}/${BPN}/httpd.conf \
+ ${sysconfdir}/${BPN}/magic \
+ ${sysconfdir}/${BPN}/mime.types \
+ ${sysconfdir}/init.d/${BPN} "
+
+# we override here rather than append so that .so links are
+# included in the runtime package rather than here (-dev)
+# and to get build, icons, error into the -dev package
+FILES_${PN}-dev = "${datadir}/${BPN}/build \
+ ${datadir}/${BPN}/icons \
+ ${datadir}/${BPN}/error \
+ ${bindir}/apr-config ${bindir}/apu-config \
+ ${libdir}/apr*.exp \
+ ${includedir}/${BPN} \
+ ${libdir}/*.la \
+ ${libdir}/*.a \
+ ${bindir}/apxs \
+ "
+
+
+# manual to manual
+FILES_${PN}-doc += " ${datadir}/${BPN}/manual"
+
+FILES_${PN}-scripts += "${bindir}/dbmmanage"
+
+#
+# override this too - here is the default, less datadir
+#
+FILES_${PN} = "${bindir} ${sbindir} ${libexecdir} ${libdir}/lib*.so.* ${sysconfdir} \
+ ${sharedstatedir} ${localstatedir} /bin /sbin /lib/*.so* \
+ ${libdir}/${BPN}"
+
+# we want htdocs and cgi-bin to go with the binary
+FILES_${PN} += "${datadir}/${BPN}/htdocs ${datadir}/${BPN}/cgi-bin"
+
+#make sure the lone .so links also get wrapped in the base package
+FILES_${PN} += "${libdir}/lib*.so ${libdir}/pkgconfig/*"
+
+FILES_${PN}-dbg += "${libdir}/${BPN}/modules/.debug"
+
+RDEPENDS_${PN} += "openssl libgcc"
+RDEPENDS_${PN}-scripts += "perl ${PN}"
+RDEPENDS_${PN}-dev = "perl"
+
+FILES_${PN} += "${libdir}/cgi-bin"
+FILES_${PN} += "${datadir}/${BPN}/"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/files/volatiles.04_apache2 b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/files/volatiles.04_apache2
new file mode 100644
index 000000000..922075b1b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/files/volatiles.04_apache2
@@ -0,0 +1,3 @@
+# <type> <owner> <group> <mode> <path> <linksource>
+d root root 0755 /var/run/apache2 none
+d root root 0755 /var/log/apache2 none
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee/0001-configure.ac-Add-foreign-to-AM_INIT_AUTOMAKE.patch b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee/0001-configure.ac-Add-foreign-to-AM_INIT_AUTOMAKE.patch
new file mode 100644
index 000000000..f3be7c6e5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee/0001-configure.ac-Add-foreign-to-AM_INIT_AUTOMAKE.patch
@@ -0,0 +1,30 @@
+From 4591b5b40d66c19edc73b951ad091dac639454c9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 25 Jul 2017 16:00:34 -0700
+Subject: [PATCH] configure.ac: Add foreign to AM_INIT_AUTOMAKE
+
+Fixes errors like
+| Makefile.am: error: required file './README' not found
+| Makefile.am: error: required file './ChangeLog' not found
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index d6298f27..98cab791 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -32,7 +32,7 @@ dnl Init autoconf and automake
+ AC_INIT([cherokee], [cherokee_version], [http://bugs.cherokee-project.com/], [cherokee])
+ AC_CONFIG_SRCDIR([cherokee/server.c])
+ AC_CONFIG_MACRO_DIR([m4])
+-AM_INIT_AUTOMAKE([no-define])
++AM_INIT_AUTOMAKE([no-define foreign])
+
+ dnl Define version
+ AC_DEFINE(PACKAGE_MAJOR_VERSION, "cherokee_major_version", [Version string])
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee/0001-make-Do-not-build-po-files.patch b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee/0001-make-Do-not-build-po-files.patch
new file mode 100644
index 000000000..d4c0b6e8c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee/0001-make-Do-not-build-po-files.patch
@@ -0,0 +1,27 @@
+From e9ae3231ec188df801fe51aa95d6afec2e52db58 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 25 Jul 2017 16:14:19 -0700
+Subject: [PATCH] make: Do not build po files
+
+Target fails to build
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index f01278c3..eb864c36 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,6 +1,6 @@
+ ## Cherokee: Makefile.am -*- makefile -*-
+
+-SUBDIRS = po m4 www icons themes qa doc . admin contrib cherokee cget packages dbslayer
++SUBDIRS = m4 www icons themes qa doc . admin contrib cherokee cget packages dbslayer
+ SUFFIXES = .sample.pre .sample .h.pre .h .xml.pre .xml
+ ACLOCAL_AMFLAGS = -I m4
+
+--
+2.13.3
+
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
deleted file mode 100644
index ba39f97e9..000000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee_1.2.98.bb
+++ /dev/null
@@ -1,69 +0,0 @@
-SUMMARY = "Cherokee Web Server fast and secure"
-SUMMARY_cget = "Small downloader based in the Cherokee client library"
-HOMEPAGE = "http://www.cherokee-project.com/"
-SECTION = "network"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-PR = "r9"
-
-DEPENDS = "libpcre openssl mysql5 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
-
-SRC_URI = "http://mirror.aarnet.edu.au/pub/${BPN}/1.2/${PV}/${BP}.tar.gz \
- file://cherokee.init \
- file://cherokee.service \
- file://cherokee-install-configured.py-once.patch \
-"
-SRC_URI[md5sum] = "21b01e7d45c0e82ecc0c4257a9c27feb"
-SRC_URI[sha256sum] = "042b5687b1a3db3ca818167548ce5d32c35e227c6640732dcb622a6f4a078b7d"
-
-inherit autotools pkgconfig binconfig update-rc.d systemd
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', '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 \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam', '--disable-pam', d)} \
- --with-wwwroot=${localstatedir}/www/cherokee \
-"
-
-do_install_append () {
- install -m 0755 -d ${D}${sysconfdir}/init.d
- install -m 755 ${WORKDIR}/cherokee.init ${D}${sysconfdir}/init.d/cherokee
-
- # clean up .la files for plugins
- rm -f ${D}${libdir}/cherokee/*.la
-
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/cherokee.service ${D}${systemd_unitdir}/system
- rmdir "${D}${localstatedir}/run"
- rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
-}
-
-# Put -dev near the front so we can move the .la files into it with a wildcard
-PACKAGES =+ "libcherokee-server libcherokee-client libcherokee-base cget"
-
-FILES_cget = "${bindir}/cget"
-FILES_libcherokee-server = "${libdir}/libcherokee-server${SOLIBS}"
-FILES_libcherokee-client = "${libdir}/libcherokee-client${SOLIBS}"
-FILES_libcherokee-base = "${libdir}/libcherokee-base${SOLIBS}"
-
-# Pack the htdocs
-FILES_${PN} += "${localstatedir}/www/cherokee"
-
-CONFFILES_${PN} = " \
- ${sysconfdir}/cherokee/cherokee.conf \
- ${sysconfdir}/init.d/cherokee \
-"
-
-INITSCRIPT_NAME = "cherokee"
-INITSCRIPT_PARAMS = "defaults 91 91"
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "cherokee.service"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee_git.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee_git.bb
new file mode 100644
index 000000000..3f7eae4c1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee_git.bb
@@ -0,0 +1,71 @@
+SUMMARY = "Cherokee Web Server fast and secure"
+SUMMARY_cget = "Small downloader based in the Cherokee client library"
+HOMEPAGE = "http://www.cherokee-project.com/"
+SECTION = "network"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+DEPENDS = "unzip-native libpcre openssl mysql5 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
+
+SRCREV = "75f041e2255e6dd0692db2f14611c2647dbe8425"
+PV = "1.2.104+git${SRCPV}"
+SRC_URI = "git://github.com/cherokee/webserver \
+ file://cherokee.init \
+ file://cherokee.service \
+ file://cherokee-install-configured.py-once.patch \
+ file://0001-configure.ac-Add-foreign-to-AM_INIT_AUTOMAKE.patch \
+ file://0001-make-Do-not-build-po-files.patch \
+"
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep pkgconfig binconfig update-rc.d systemd pythonnative
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', '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 \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam', '--disable-pam', d)} \
+ --with-wwwroot=${localstatedir}/www/cherokee \
+"
+
+do_install_append () {
+ install -m 0755 -d ${D}${sysconfdir}/init.d
+ install -m 755 ${WORKDIR}/cherokee.init ${D}${sysconfdir}/init.d/cherokee
+
+ # clean up .la files for plugins
+ rm -f ${D}${libdir}/cherokee/*.la
+
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/cherokee.service ${D}${systemd_unitdir}/system
+ rmdir "${D}${localstatedir}/run"
+ rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
+}
+
+# Put -dev near the front so we can move the .la files into it with a wildcard
+PACKAGES =+ "libcherokee-server libcherokee-client libcherokee-base cget"
+
+FILES_cget = "${bindir}/cget"
+FILES_libcherokee-server = "${libdir}/libcherokee-server${SOLIBS}"
+FILES_libcherokee-client = "${libdir}/libcherokee-client${SOLIBS}"
+FILES_libcherokee-base = "${libdir}/libcherokee-base${SOLIBS}"
+
+# Pack the htdocs
+FILES_${PN} += "${localstatedir}/www/cherokee"
+
+CONFFILES_${PN} = " \
+ ${sysconfdir}/cherokee/cherokee.conf \
+ ${sysconfdir}/init.d/cherokee \
+"
+
+INITSCRIPT_NAME = "cherokee"
+INITSCRIPT_PARAMS = "defaults 91 91"
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = "cherokee.service"
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 f98f29926..4a97e2670 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
@@ -9,7 +9,7 @@ LICENSE = "BSD-2-Clause"
SECTION = "net"
-DEPENDS = "libpcre gzip openssl"
+DEPENDS = "libpcre zlib openssl"
SRC_URI = " \
http://nginx.org/download/nginx-${PV}.tar.gz \
@@ -72,7 +72,7 @@ do_configure () {
--prefix=${prefix} \
--with-http_ssl_module \
--with-http_gzip_static_module \
- ${EXTRA_OECONF}
+ ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS}
}
do_install () {
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.10.3.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.10.3.bb
deleted file mode 100644
index b62fd4c2c..000000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.10.3.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require nginx.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0bb58ed0dfd4f5dbece3b52aba79f023"
-
-SRC_URI[md5sum] = "204a20cb4f0b0c9db746c630d89ff4ea"
-SRC_URI[sha256sum] = "75020f1364cac459cb733c4e1caed2d00376e40ea05588fb8793076a4c69dd90"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.11.10.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.11.10.bb
deleted file mode 100644
index 37565fc79..000000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.11.10.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-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=903753de5f86a1ee0341fd2f9491b282"
-
-SRC_URI[md5sum] = "6fb10f579055d27a2240d51c7d85c190"
-SRC_URI[sha256sum] = "778b3cabb07633f754cd9dee32fc8e22582bce22bfa407be76a806abd935533d"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.12.1.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.12.1.bb
new file mode 100644
index 000000000..7f0e3adfb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.12.1.bb
@@ -0,0 +1,6 @@
+require nginx.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=903753de5f86a1ee0341fd2f9491b282"
+
+SRC_URI[md5sum] = "a307e74aca95403e5ee00f153807ce58"
+SRC_URI[sha256sum] = "8793bf426485a30f91021b6b945a9fd8a84d87d17b566562c3797aba8fac76fb"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.13.5.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.13.5.bb
new file mode 100644
index 000000000..9f2c117ab
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.13.5.bb
@@ -0,0 +1,10 @@
+require nginx.inc
+
+# 1.12.x branch is the current stable branch, the recommended default
+# 1.13.x is the current mainline branches containing all new features
+DEFAULT_PREFERENCE = "-1"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=903753de5f86a1ee0341fd2f9491b282"
+
+SRC_URI[md5sum] = "f193722159adfb1eb8117c0491fd17ec"
+SRC_URI[sha256sum] = "0e75b94429b3f745377aeba3aff97da77bf2b03fcb9ff15b3bad9b038db29f2e"
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
deleted file mode 100644
index 2125b2457..000000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.0.bb
+++ /dev/null
@@ -1,53 +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"
-
-DEPENDS += "base-passwd"
-
-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-httpd/sthttpd/sthttpd_2.27.1.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.1.bb
new file mode 100644
index 000000000..c9fe55b48
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.1.bb
@@ -0,0 +1,53 @@
+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"
+
+DEPENDS += "base-passwd"
+
+SRC_URI = "https://github.com/blueness/${BPN}/archive/v${PV}.tar.gz;downloadfilename=${BP}.tar.gz \
+ file://thttpd.service \
+ file://thttpd.conf \
+ file://init"
+
+SRC_URI[md5sum] = "3cda1b6c8c8542b1510eadb8e540d8b6"
+SRC_URI[sha256sum] = "a1ee2806432eaf5b5dd267a0523701f9f1fa00fefd499d5bec42165a41e05846"
+
+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_4.6.3.bb b/import-layers/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.6.3.bb
deleted file mode 100644
index 61872ae09..000000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.6.3.bb
+++ /dev/null
@@ -1,36 +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/${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-php/phpmyadmin/phpmyadmin_4.7.6.bb b/import-layers/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.7.6.bb
new file mode 100644
index 000000000..672db58dc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.7.6.bb
@@ -0,0 +1,38 @@
+SUMMARY = "Web-based MySQL administration interface"
+HOMEPAGE = "http://www.phpmyadmin.net"
+# Main code is GPLv2, vendor/tecnickcom/tcpdf is under LGPLv3, js/jquery is under MIT
+LICENSE = "GPLv2 & LGPLv3 & MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://vendor/tecnickcom/tcpdf/LICENSE.TXT;md5=5c87b66a5358ebcc495b03e0afcd342c \
+ file://js/jquery/MIT-LICENSE.txt;md5=e43aa437a6a1ba421653bd5034333bf9 \
+"
+
+SRC_URI = "https://files.phpmyadmin.net/phpMyAdmin/${PV}/phpMyAdmin-${PV}-all-languages.tar.xz \
+ file://apache.conf \
+"
+
+SRC_URI[md5sum] = "a9aec05d44c68b4ac5e4987118d70cd7"
+SRC_URI[sha256sum] = "5fab6b92336386646bbb189d55817799487b5c27b06cab0cdfdcab3c88f5988f"
+
+S = "${WORKDIR}/phpMyAdmin-${PV}-all-languages"
+
+inherit allarch
+
+do_install() {
+ install -d ${D}${datadir}/${BPN}
+ cp -R --no-dereference --preserve=mode,links -v * ${D}${datadir}/${BPN}
+ chown -R root:root ${D}${datadir}/${BPN}
+ # Don't install patches to target
+ rm -rf ${D}${datadir}/${BPN}/patches
+
+ install -d ${D}${sysconfdir}/apache2/conf.d
+ install -m 0644 ${WORKDIR}/apache.conf ${D}${sysconfdir}/apache2/conf.d/phpmyadmin.conf
+
+ # Remove a few scripts that explicitly require bash (!)
+ rm -f ${D}${datadir}/phpmyadmin/libraries/transformations/*.sh
+}
+
+FILES_${PN} = "${datadir}/${BPN} \
+ ${sysconfdir}/apache2/conf.d"
+
+RDEPENDS_${PN} += "bash"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch
index d5529a2a6..abea0d66b 100644
--- 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
@@ -1,19 +1,21 @@
-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 ...
+Index: git/plugins.d/charts.d.plugin
+===================================================================
+--- git.orig/plugins.d/charts.d.plugin
++++ git/plugins.d/charts.d.plugin
+@@ -246,16 +246,6 @@ else
+ info "configuration file '$myconfig' not found. Using defaults."
+ fi
+
+-# we check for the timeout command, after we load our
+-# configuration, so that the user may overwrite the
+-# 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
+- 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/0001-makefile-Do-not-build-contrib-dir.patch b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch
new file mode 100644
index 000000000..9a3a4a551
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch
@@ -0,0 +1,27 @@
+From 87f868918a9ae1dcf93e01f3e177d185c19a149a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Jul 2017 14:32:09 -0700
+Subject: [PATCH] makefile: Do not build contrib dir
+
+It contains debian build iteams anyway
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile.am | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 3ccf82f8..a852e529 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -52,7 +52,6 @@ SUBDIRS = \
+ src \
+ system \
+ web \
+- contrib \
+ $(NULL)
+
+ dist_noinst_DATA= \
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb
index de140641c..100366211 100644
--- a/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb
@@ -1,11 +1,15 @@
HOMEPAGE = "https://github.com/firehol/netdata/"
SUMMARY = "Real-time performance monitoring"
LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=747afe070ea9d6c2be0a31353609a35b"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=a4a3b650ea3f74269cdfd45a3550e219 \
+ file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+ "
-SRC_URI = "git://github.com/firehol/netdata.git;protocol=https"
-SRCREV = "36c1304e37094174ea51001903058e65053107ca"
-PV = "1.0.1+git${SRCPV}"
+SRC_URI = "git://github.com/firehol/netdata.git;protocol=https \
+ file://0001-makefile-Do-not-build-contrib-dir.patch \
+"
+SRCREV = "f5fa346a188e906a8f2cce3c2cf32a88ce81c666"
+PV = "1.6.0+git${SRCPV}"
# patch to disable timeout because timeout are not available with actual version
# of core-utils
@@ -19,7 +23,7 @@ SRC_URI += "file://netdata.service"
S = "${WORKDIR}/git"
-DEPENDS += "zlib"
+DEPENDS += "zlib util-linux"
inherit pkgconfig autotools useradd systemd
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/webmin.service b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/webmin.service
new file mode 100644
index 000000000..87cf4f99d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/webmin.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Webmin Admin Tool
+Requires=local-fs.target
+After=basic.target
+Conflicts=shutdown.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=@SYSCONFDIR@/webmin/start
+ExecStop=@SYSCONFDIR@/webmin/stop
+ExecReload=@SYSCONFDIR@/webmin/reload
+
+[Install]
+WantedBy=multi-user.target
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
deleted file mode 100644
index d96c0f2bc..000000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.801.bb
+++ /dev/null
@@ -1,158 +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] = "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-webserver/recipes-webadmin/webmin/webmin_1.850.bb b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.850.bb
new file mode 100644
index 000000000..ae88eb673
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.850.bb
@@ -0,0 +1,167 @@
+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 \
+ file://webmin.service \
+ "
+
+SRC_URI[md5sum] = "cd6ee98f73f9418562197675b952d81b"
+SRC_URI[sha256sum] = "c66caa9e4cb50d5447bc8aceb7989d2284dde060278f404b13e171c7ce1690e1"
+
+inherit perlnative update-rc.d systemd
+
+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}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/webmin.service ${D}${systemd_unitdir}/system
+ sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ ${D}${systemd_unitdir}/system/webmin.service
+
+ 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 ."
+
+SYSTEMD_SERVICE_${PN} = "webmin.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+
+# 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 a8e21a9b0..33677973d 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: pyro
+branch: rocko
revision: HEAD
URI: git://github.com/openembedded/meta-oe.git
-branch: pyro
+branch: rocko
revision: HEAD
meta-xfce depends on meta-oe, meta-gnome and meta-multimedia in this repository.
@@ -14,10 +14,10 @@ this to local.conf:
BBMASK = "meta-xfce/recipes-multimedia"
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-xfce][pyro]' in the subject'
+Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-xfce][rocko]' 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][pyro][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-xfce][rocko][PATCH'
-pyro Branch Maintainer:
+rocko Branch Maintainer:
Armin Kuster <akuster808@gmail.com>
diff --git a/import-layers/meta-openembedded/meta-xfce/conf/layer.conf b/import-layers/meta-openembedded/meta-xfce/conf/layer.conf
index 64b107788..ad25dcb13 100644
--- a/import-layers/meta-openembedded/meta-xfce/conf/layer.conf
+++ b/import-layers/meta-openembedded/meta-xfce/conf/layer.conf
@@ -15,7 +15,7 @@ LAYERVERSION_xfce-layer = "1"
LAYERDEPENDS_xfce-layer = "core"
LAYERDEPENDS_xfce-layer += "openembedded-layer"
LAYERDEPENDS_xfce-layer += "gnome-layer"
-LAYERDEPENDS_xfce-layer += "openembedded-layer"
+LAYERDEPENDS_xfce-layer += "multimedia-layer"
LAYERDEPENDS_xfce-layer += "meta-python"
SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/files/0001-Makefile.am-create-ouput-directory-for-desktop-file.patch b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/files/0001-Makefile.am-create-ouput-directory-for-desktop-file.patch
deleted file mode 100644
index 62bffef1f..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/files/0001-Makefile.am-create-ouput-directory-for-desktop-file.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From c85bf7cc5c1e1780d215f6fe233e3ed4597c72ed Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Mon, 21 Sep 2015 06:54:28 +0000
-Subject: [PATCH] Makefile.am: create ouput directory for desktop file
-
-Upstream-Status: Submitted [1]
-
-[1]: http://bug-attachment.xfce.org/attachment.cgi?id=6460
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- Makefile.am | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/Makefile.am b/Makefile.am
-index a22fc20..2ef0e54 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -122,6 +122,7 @@ app_desktop_DATA = $(app_desktop_in_files:.desktop.in=.desktop)
-
- src/xfce4-screenshooter.desktop.in: src/xfce4-screenshooter.desktop.in.in
- $(AM_V_GEN) ( \
-+ $(MKDIR_P) $(dir $@); \
- sed -e "s^@PLUGIN_PATH@^$(libexecdir)/applications^" \
- $< > $@ \
- )
---
-2.0.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
deleted file mode 100644
index d1cb68410..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.8.2.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Application to take screenshots"
-HOMEPAGE = "http://goodies.xfce.org/projects/applications/xfce4-screenshooter"
-SECTION = "x11/application"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d791728a073bc009b4ffaf00b7599855"
-DEPENDS = "xfce4-panel libxfce4util libxfce4ui gdk-pixbuf gtk+ glib-2.0 libsoup-2.4 exo libxfixes xext virtual/libx11"
-
-inherit xfce-app
-
-SRC_URI += "file://0001-Makefile.am-create-ouput-directory-for-desktop-file.patch"
-
-SRC_URI[md5sum] = "3a32ecc5566453a58f6a4ddd70649444"
-SRC_URI[sha256sum] = "9dce2ddfaa87f703e870e29bae13f3fc82a1b3f06b44f8386640e45a135f5f69"
-
-do_compile_prepend() {
- mkdir -p lib
-}
-
-FILES_${PN} += " \
- ${datadir}/appdata \
- ${datadir}/xfce4/panel/plugins \
- ${libdir}/xfce4/panel/plugins \
-"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.1.bb b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.1.bb
new file mode 100644
index 000000000..e449dceed
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.1.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Application to take screenshots"
+HOMEPAGE = "http://goodies.xfce.org/projects/applications/xfce4-screenshooter"
+SECTION = "x11/application"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d791728a073bc009b4ffaf00b7599855"
+DEPENDS = "xfce4-panel libxfce4util libxfce4ui gdk-pixbuf gtk+ glib-2.0 libsoup-2.4 exo libxfixes xext virtual/libx11"
+
+inherit xfce-app
+
+SRC_URI[md5sum] = "75e1501418f904769e4fd25eff6a3946"
+SRC_URI[sha256sum] = "e62b31d9cf06a7414a26400c2ebe7a2ae7c2b22aa60f997f25145ea9ebe6e0db"
+
+do_compile_prepend() {
+ mkdir -p lib
+ mkdir -p src
+}
+
+FILES_${PN} += " \
+ ${datadir}/appdata \
+ ${datadir}/xfce4/panel/plugins \
+ ${libdir}/xfce4/panel/plugins \
+"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.4.bb b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.4.bb
deleted file mode 100644
index bc1d21620..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.4.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "Terminal emulator for the Xfce desktop environment"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "glib-2.0 gtk+3 vte libxfce4ui"
-
-inherit xfce-app
-
-FILES_${PN} += "${datadir}/xfce4 \
- ${datadir}/gnome-control-center"
-
-SRC_URI[md5sum] = "7d9ea57301d6a770e5db8e7ecd6e4cda"
-SRC_URI[sha256sum] = "c5c1163b30e7a43d56ff92a25193bf9f29ce60e6cf43e5988530df79c84cfdc8"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.6.bb b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.6.bb
new file mode 100644
index 000000000..f42edb672
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.6.bb
@@ -0,0 +1,12 @@
+SUMMARY = "Terminal emulator for the Xfce desktop environment"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "glib-2.0 gtk+3 vte libxfce4ui"
+
+inherit xfce-app
+
+FILES_${PN} += "${datadir}/xfce4 \
+ ${datadir}/gnome-control-center"
+
+SRC_URI[md5sum] = "92f5a3366e30f5f8238d8250f730b6af"
+SRC_URI[sha256sum] = "bc2a560409a0f0b666d1c557e991748b986ec27572a45ae88b0ee5a480d881d7"
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 c9eace839..d0a0598cd 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 = "http://archive.xfce.org/src/bindings/${BPN}/${@xfce_verdir("${PV}")}/
SRC_URI[md5sum] = "0bbb1d6e473e0fe9b335b7b1b49d8a71"
SRC_URI[sha256sum] = "07a8f2b7c09fcdd3d86e0c52adea3c58ca011d0142a93997a01b4af77260ae7b"
-EXTRA_OECONF = "-with-vala-api=0.34"
+EXTRA_OECONF = "-with-vala-api=0.36"
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 f5c5c26ae..21930ba14 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
@@ -6,6 +6,7 @@ IMAGE_INSTALL = "packagegroup-core-boot \
kernel-modules \
"
+inherit distro_features_check
REQUIRED_DISTRO_FEATURES = "x11"
IMAGE_LINGUAS ?= " "
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
deleted file mode 100644
index c3e15db9c..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.7.1.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "Delivery framework for general Input Method configuration"
-DESCRIPTION = "IMSettings is a framework that delivers Input Method \
-settings and applies the changes so they take effect \
-immediately without any need to restart applications \
-or the desktop. \
-This package contains the core DBus services and some utilities."
-HOMEPAGE = "http://code.google.com/p/imsettings/"
-SECTION = "Applications/System"
-
-inherit autotools gtk-doc gobject-introspection
-
-SRC_URI = "https://bitbucket.org/tagoh/imsettings/downloads/${BPN}-${PV}.tar.bz2 \
- file://gtk-is-required-by-notify.patch \
- file://multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch \
- file://0001-Rename-use-of-stdout-and-stderr.patch \
- "
-
-SRC_URI[md5sum] = "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/imsettings_1.7.2.bb b/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.7.2.bb
new file mode 100644
index 000000000..7a4ce05bf
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.7.2.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Delivery framework for general Input Method configuration"
+DESCRIPTION = "IMSettings is a framework that delivers Input Method \
+settings and applies the changes so they take effect \
+immediately without any need to restart applications \
+or the desktop. \
+This package contains the core DBus services and some utilities."
+HOMEPAGE = "http://code.google.com/p/imsettings/"
+SECTION = "Applications/System"
+
+inherit autotools gtk-doc gobject-introspection
+
+SRC_URI = "https://bitbucket.org/tagoh/imsettings/downloads/${BPN}-${PV}.tar.bz2 \
+ file://gtk-is-required-by-notify.patch \
+ file://multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch \
+ file://0001-Rename-use-of-stdout-and-stderr.patch \
+ "
+
+SRC_URI[md5sum] = "8153b0583a9f47d8a62af1f92fb9d3bf"
+SRC_URI[sha256sum] = "41addf0458f760212b6b6100835066e16deb3a8a50eb005a0fc17fbac0a2ae66"
+
+LICENSE = "LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
+
+EXTRA_OECONF = "--with-xinputsh=50-xinput.sh \
+ --disable-static \
+ "
+
+DEPENDS = "gtk+ gconf libnotify dbus-glib libgxim xfconf intltool-native"
+
+RDEPENDS_${PN} += "bash"
+
+FILES_${PN} += "${datadir}/dbus-1/* ${datadir}/gir-1.0/* ${libdir}/girepository-1.0/*"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-multimedia/packagegroups/packagegroup-xfce-multimedia.bb b/import-layers/meta-openembedded/meta-xfce/recipes-multimedia/packagegroups/packagegroup-xfce-multimedia.bb
index 72a96f3c2..19a6e2b04 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-multimedia/packagegroups/packagegroup-xfce-multimedia.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-multimedia/packagegroups/packagegroup-xfce-multimedia.bb
@@ -1,9 +1,13 @@
SUMMARY = "All packages multimedia packages available for XFCE"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
inherit packagegroup
+# While this item does not require it, it depends on xfmpc and xfc4-mpc-plugin
+# that wants mpd which does
+LICENSE_FLAGS = "commercial"
+
RDEPENDS_${PN} = " \
parole \
xfmpc \
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.0.bb
index f709e4da9..9f501f796 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.0.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.0.bb
@@ -8,6 +8,9 @@ inherit xfce-panel-plugin
DEPENDS += "libmpd"
+# While this item does not require it, it depends on mpd which does
+LICENSE_FLAGS = "commercial"
+
# for now we recommend our own mpd-server
RRECOMMENDS_${PN} = "mpd"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.2.3.bb b/import-layers/meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.2.3.bb
index 3d902a17b..869435d68 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.2.3.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.2.3.bb
@@ -4,6 +4,9 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "gtk+ libxfce4util libxfce4ui libmpd vala-native"
+# While this item does not require it, it depends on mpd which does
+LICENSE_FLAGS = "commercial"
+
# for now we recommend our own mpd-server
RRECOMMENDS_${PN} = "mpd"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.4.1.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.4.1.bb
deleted file mode 100644
index aa6a5bc90..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.4.1.bb
+++ /dev/null
@@ -1,17 +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] = "5a5c01c347f4503c58902977e671ea09"
-SRC_URI[sha256sum] = "341cce9665a89e5930e754ef3e27ff97594da22b82b1403099ebcf5c18a5351f"
-
-PACKAGECONFIG ??= ""
-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.2.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.4.2.bb
new file mode 100644
index 000000000..96bdf0e53
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.4.2.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] = "9169140af7c9d3fddd8a5c9e0efb5a61"
+SRC_URI[sha256sum] = "cf2b45e327e67cc187dcb99a6ef6d95570463045accd24540e17172f005189b3"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[qrencode] = "--enable-libqrencode,--disable-libqrencode,qrencode"
+
+FILES_${PN} += "${datadir}/appdata"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.1.2.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.1.2.bb
deleted file mode 100644
index 46b508a8c..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.1.2.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "An alternate menu for the Xfce desktop environment"
-HOMEPAGE = "http://gottcode.org/xfce4-whiskermenu-plugin/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-inherit xfce-panel-plugin cmake
-
-SRC_URI[md5sum] = "eb07c2107c9d1276e9b1bec01f7347a1"
-SRC_URI[sha256sum] = "efd95c330055fd7901a59a48569d14885c168017c5fdb2e233976a78bccb8923"
-
-RRECOMMENDS_${PN} += "menulibre"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.1.3.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.1.3.bb
new file mode 100644
index 000000000..3c67a2f54
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.1.3.bb
@@ -0,0 +1,11 @@
+SUMMARY = "An alternate menu for the Xfce desktop environment"
+HOMEPAGE = "http://gottcode.org/xfce4-whiskermenu-plugin/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+inherit xfce-panel-plugin cmake
+
+SRC_URI[md5sum] = "032a2bb0a0d4a2e3c8c136910c8b551d"
+SRC_URI[sha256sum] = "e8918c1255f7ab86b950ebd13555fe87046c01a1a4cb0b5d460024b6efc01769"
+
+RRECOMMENDS_${PN} += "menulibre"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/xkb/xfce4-xkb-plugin_0.7.1.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/xkb/xfce4-xkb-plugin_0.7.1.bb
deleted file mode 100644
index 2fa1634e7..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/xkb/xfce4-xkb-plugin_0.7.1.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "XKB layout switching panel plug-in for the Xfce desktop environment"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-xkb-plugin"
-SECTION = "x11/application"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=496f09f084b0f7e6f02f769a84490c6b"
-
-inherit xfce-panel-plugin
-
-SRC_URI[md5sum] = "2f68e0d53baf68ecc1a7165ad33c26a9"
-SRC_URI[sha256sum] = "61fe2e33fe99939d5d06a682e94e40e05ef844c930ad612154090d158b2ce681"
-
-DEPENDS += "libxklavier libwnck librsvg garcon"
-
-FILES_${PN} += "${datadir}/xfce4/xkb"
-
-RDEPENDS_${PN} = "xfce4-settings"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/xkb/xfce4-xkb-plugin_0.8.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/xkb/xfce4-xkb-plugin_0.8.0.bb
new file mode 100644
index 000000000..5e62c033d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/xkb/xfce4-xkb-plugin_0.8.0.bb
@@ -0,0 +1,16 @@
+SUMMARY = "XKB layout switching panel plug-in for the Xfce desktop environment"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-xkb-plugin"
+SECTION = "x11/application"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=496f09f084b0f7e6f02f769a84490c6b"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "e4e897741ebe2827192971c2aaad835d"
+SRC_URI[sha256sum] = "3b0d3b9f4b7c3e3e7be668e2f7c845b89b16e0ed3db2bacb544a17272682ced0"
+
+DEPENDS += "libxklavier libwnck3 librsvg garcon"
+
+FILES_${PN} += "${datadir}/xfce4/xkb"
+
+RDEPENDS_${PN} = "xfce4-settings"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-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 8073fcaa4..99318d5aa 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 @@ Upstream-Status: Inappropriate [configuration]
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
Makefile.am | 10 +---------
- configure.ac | 26 --------------------------
- 2 files changed, 1 insertion(+), 35 deletions(-)
+ configure.ac | 22 ----------------------
+ 2 files changed, 1 insertion(+), 31 deletions(-)
diff --git a/Makefile.am b/Makefile.am
-index 9979b36..05d594e 100644
+index 62ad18d..bdc5fae 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,15 +1,7 @@
@@ -40,7 +40,7 @@ index 9979b36..05d594e 100644
distclean-local:
rm -rf *.cache *~
diff --git a/configure.ac b/configure.ac
-index b66c92b..5243132 100644
+index ba5395d..2605067 100644
--- a/configure.ac
+++ b/configure.ac
@@ -116,15 +116,6 @@ AC_PROG_CC()
@@ -59,36 +59,26 @@ index b66c92b..5243132 100644
dnl ***************************************
dnl *** Check for standard header files ***
-@@ -171,29 +162,12 @@ dnl ***********************************
+@@ -171,19 +162,6 @@ dnl ***********************************
dnl *** Check for required packages ***
dnl ***********************************
- XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.30.0])
--XDT_CHECK_PACKAGE([GIO], [gio-2.0], [2.30.0])
+ XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.42.0])
+-XDT_CHECK_PACKAGE([GIO], [gio-2.0], [2.42.0])
-XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [2.24.0])
--XDT_CHECK_PACKAGE([GTHREAD], [gthread-2.0], [2.30.0])
+-XDT_CHECK_PACKAGE([GTK3], [gtk+-3.0], [3.20.0])
+-XDT_CHECK_PACKAGE([GTHREAD], [gthread-2.0], [2.42.0])
-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" ])
-
+-XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-1], [4.12.0])
+-XDT_CHECK_PACKAGE([LIBXFCE4UI2], [libxfce4ui-2], [4.12.0])
+-XDT_CHECK_OPTIONAL_PACKAGE([GIO_UNIX], [gio-unix-2.0], [2.42.0], [gio-unix], [GIO-Unix features])
+-
-dnl *********************
-dnl *** Check for X11 ***
-dnl *********************
-XDT_CHECK_LIBX11_REQUIRE()
--
+
dnl *************************
dnl *** Check for gtk-doc ***
- dnl *************************
--
-2.5.5
+2.9.4
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.11.2.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.11.2.bb
deleted file mode 100644
index cb29c34a4..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.11.2.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-DESCRIPTION="Application library for the Xfce desktop environment"
-SECTION = "x11"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "gtk+ libxfce4util libxfce4ui virtual/libx11 liburi-perl-native cairo"
-DEPENDS_class-native = "glib-2.0-native xfce4-dev-tools-native intltool-native"
-
-inherit xfce pythonnative perlnative gtk-doc distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-REQUIRED_DISTRO_FEATURES_class-native = ""
-
-# SRC_URI must follow inherited one
-SRC_URI += " \
- file://exo-no-tests-0.8.patch \
- file://configure.patch \
-"
-
-SRC_URI_append_class-native = " \
- file://reduce-build-to-exo-csource-only.patch \
-"
-
-SRC_URI[md5sum] = "0b036c8042a2ed5d3767d1177a4213a2"
-SRC_URI[sha256sum] = "76bd1c4229503ff3c301485de3a41c55dec93e98de1a9eef1be77fe502ca4f77"
-
-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.5.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.11.5.bb
new file mode 100644
index 000000000..d5508c0a5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.11.5.bb
@@ -0,0 +1,39 @@
+DESCRIPTION="Application library for the Xfce desktop environment"
+SECTION = "x11"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "gtk+ libxfce4util libxfce4ui virtual/libx11 liburi-perl-native cairo"
+DEPENDS_class-native = "glib-2.0-native xfce4-dev-tools-native intltool-native"
+
+inherit xfce pythonnative perlnative gtk-doc distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+REQUIRED_DISTRO_FEATURES_class-native = ""
+
+# SRC_URI must follow inherited one
+SRC_URI += " \
+ file://exo-no-tests-0.8.patch \
+ file://configure.patch \
+"
+
+SRC_URI_append_class-native = " \
+ file://reduce-build-to-exo-csource-only.patch \
+"
+
+SRC_URI[md5sum] = "2e560edfa8ddf77e21c4787a6f600171"
+SRC_URI[sha256sum] = "8e8629f33783eba1ce6d092a42c28217458a0cc3d1ad7474097b9187054955c1"
+
+PACKAGES =+ "exo-csource"
+
+# Note: python bindings did not work in oe-dev and are about to be moved to
+# pyxfce see http://comments.gmane.org/gmane.comp.desktop.xfce.devel.version4/19560
+FILES_${PN} += "${datadir}/xfce4/ \
+ ${libdir}/xfce4/exo-1 \
+"
+
+FILES_${PN}-dbg += "${libdir}/gio/modules/.debug \
+"
+
+FILES_exo-csource += "${bindir}/exo-csource"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.4.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.4.0.bb
deleted file mode 100644
index 8a3260a62..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.4.0.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-DESCRIPTION="Xfce Menu Library"
-SECTION = "x11/libs"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=04a01abcbdabffae1ca26335a293276b"
-DEPENDS = "xfce4-dev-tools-native libxfce4util libxfce4ui intltool-native"
-
-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/garcon/garcon_0.6.1.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.6.1.bb
new file mode 100644
index 000000000..06e236977
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.6.1.bb
@@ -0,0 +1,17 @@
+DESCRIPTION="Xfce Menu Library"
+SECTION = "x11/libs"
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=04a01abcbdabffae1ca26335a293276b"
+DEPENDS = "xfce4-dev-tools-native libxfce4util libxfce4ui intltool-native"
+
+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] = "174690ad19243f7ef9529cb0c24b9080"
+SRC_URI[sha256sum] = "41c31ba0498c2cc39de4a8e0c2367510adbf4bc2104c17feee358e51e6acf603"
+
+EXTRA_OECONF = "--disable-gtk-doc"
+
+FILES_${PN} += "${datadir}/desktop-directories"
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 e2f238c04..140de416b 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
@@ -1,7 +1,7 @@
SUMMARY = "All packages required for a base installation of XFCE"
SECTION = "x11/wm"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
PR = "r5"
inherit packagegroup distro_features_check
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb
index c07188f6e..cc231b4bd 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb
@@ -1,7 +1,7 @@
SUMMARY = "All packages for full XFCE installation"
SECTION = "x11/wm"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
PR = "r10"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.6.11.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.6.11.bb
deleted file mode 100644
index c750e8c0f..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.6.11.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "File manager for the Xfce Desktop Environment"
-SECTION = "x11"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS = "exo glib-2.0 gtk+ gdk-pixbuf libxfce4util libxfce4ui xfconf libsm dbus-glib startup-notification libnotify xfce4-panel udev"
-
-inherit xfce distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "http://archive.xfce.org/src/xfce/${BPN}/${@'${PV}'[0:3]}/Thunar-${PV}.tar.bz2"
-SRC_URI[md5sum] = "9749be8247cb19ed0fd36e4118c6236a"
-SRC_URI[sha256sum] = "b1c7c3121827f59610900ef1cc19aa10a50ab2cc3ae38eee15181b64256e8b42"
-
-S = "${WORKDIR}/Thunar-${PV}/"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[pcre] = "--enable-pcre,--disable-pcre,libpcre"
-
-FILES_${PN} += " \
- ${libdir}/thunarx-2/* \
- ${libdir}/xfce4/panel/plugins/* \
- ${libdir}/Thunar/[Tt]hunar* \
- ${datadir}/appdata \
- ${datadir}/dbus-1 \
- ${datadir}/polkit-1 \
- ${datadir}/Thunar \
- ${datadir}/xfce4/panel/plugins/* \
-"
-
-FILES_${PN}-dbg += "${libdir}/thunarx-2/.debug/ \
- ${libdir}/xfce4/panel/plugins/.debug/ \
- ${libdir}/Thunar/.debug/"
-
-RRECOMMENDS_${PN} = "gvfs gvfsd-trash"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.6.12.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.6.12.bb
new file mode 100644
index 000000000..8f1b23e36
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.6.12.bb
@@ -0,0 +1,35 @@
+SUMMARY = "File manager for the Xfce Desktop Environment"
+SECTION = "x11"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+DEPENDS = "exo glib-2.0 gtk+ gdk-pixbuf libxfce4util libxfce4ui xfconf libsm dbus-glib startup-notification libnotify xfce4-panel udev"
+
+inherit xfce distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "http://archive.xfce.org/src/xfce/${BPN}/${@'${PV}'[0:3]}/Thunar-${PV}.tar.bz2"
+SRC_URI[md5sum] = "1bdf3c4a57ff886c512341f24b5e0e88"
+SRC_URI[sha256sum] = "fb22091f07ec6de2c9d9d89c61289d2bc3436b36c8c53ccbc9c32ca8a99f2086"
+
+S = "${WORKDIR}/Thunar-${PV}/"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[pcre] = "--enable-pcre,--disable-pcre,libpcre"
+
+FILES_${PN} += " \
+ ${libdir}/thunarx-2/* \
+ ${libdir}/xfce4/panel/plugins/* \
+ ${libdir}/Thunar/[Tt]hunar* \
+ ${datadir}/appdata \
+ ${datadir}/dbus-1 \
+ ${datadir}/polkit-1 \
+ ${datadir}/Thunar \
+ ${datadir}/xfce4/panel/plugins/* \
+"
+
+FILES_${PN}-dbg += "${libdir}/thunarx-2/.debug/ \
+ ${libdir}/xfce4/panel/plugins/.debug/ \
+ ${libdir}/Thunar/.debug/"
+
+RRECOMMENDS_${PN} = "gvfs gvfsd-trash"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/machine-host.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/machine-host.bb
index 03bd205a2..c79197445 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/machine-host.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/machine-host.bb
@@ -1,6 +1,6 @@
SUMMARY = "Meta package adding machine name to known hosts"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
ALLOW_EMPTY_${PN} = "1"
OpenPOWER on IntegriCloud